[Q] SurfaceFlinger and possibility to take screenshot without root - Android Software/Hacking General [Developers Only]

I stumbled upon this article, and started to wonder if anyone has done anything about it yet? Has it been confirmed, or was it a false positive?
I hope this is a real feature, and excuses about security can't be that good as Comrade Steve -Iron Fist- Jobs and his iPhones have had the feature since the first version?

Hi frapaa!
Have you found any information regarding this issue? I'm also interested in taking screenshot on an unrooted device, but it seems that there is almost no information available at the moment.
Recently, I've digged into the Android' sources and may say the following:
Seems that 2.3.3 really has some progress on screenshooting. There is an SurfaceFlinger service (only lolevel though) which is actually a composite engine. There are methods like ::captureScreen() which do the stuff.
Hovewer, I could not found any userspace API for this stuff. SurfaceFlinger registers itself in the internal ServiceManager, which does not interfaced to the public, AFAIK.
Someone on the internets said that this stuff should be interfaced through the Java's Surface class and it's friends.
So, have you something to add?

Related

What is HTC's problem with Camera APIs?

I'm quite pissed.
Before Windows Mobile 2005, HTC did not make their camera API public, so developers could not make use of the camera.
This all changed with WM2005 and the introduction of DirectShow. For devices released in the first year (since release of WM2005), this meant that one could "simply" use DirectShow to access the cameras.
But then HTC fell back to old habits again:
The HTC TyTN (Hermes) reports only a single video mode via DirectShow: 160x120 at 7.5 fps, which is a joke. Furthermore, trying to access the front camera via DirectShow fails too: It is simply not exposed (enumerated) at all.
The HTC Mteor (Breeze) goes even one step furher: It does report 160x120 and 320x240 (both at 15 fps), but actually both modes deliver pictures at 160x120. For the 320x240 mode, everything seems to work fine: IMediaSample tells that the picture is in that resolution. The memory buffer has the correct size (320x240x12bits), but the image in the buffer is really just 160x120.
Of course I tried several ROM versions (HTC, i-mate, etc.) but no chance.
So, I'm quite pissed. I already tried calling HTC but didn't get very far (which makes sense if these restrictions are on purpose...)
Daniel
No comments on this?
Nobody every using DirectShow?
I guess I also wouldn't do it if I wasn't force to...
Daniel
So with simple words if you want to use WM5 camera api in your application you can not do it in any HTC device
So how did the makers of CoolCamera go about? I was kinda under the impression that it used wm5s camera api, or am I wrong?
I think they've rewritten the interface from scratch. Look into the CPU developers' manuals. Not a small endevour!
V
CPU Developers' manual
Hi Vijay555,
Would you be so kind to post a link to where I can get this manual ?
Thanks in advance!
I don't think anyone wrote anything from scratch nor do I think this has much to do with a CPU manual... the devs at CoolCamera may have *somehow* managed to get their hands on the infamous HTC TyTN camera api... what exactly are you referring to when you mention the CPU manual?
Also, has anyone ever found a location where this api may be available or a means to get it? HTC developer support is non existant.
Eric, what makes you so sure that they didn't write it from scratch? Maybe they did acquire illegally or otherwise HTC's intellectual property, or maybe they just did what other manfacturers do and wrote some code.
Look at the device support - it's not a single device, it's many, across many different CPUs (Intel, Omap, Samsung), across many different camera sensors and support chips. However, implementation of a camera at software level is not impossible: how else do companies sell their sensors and chipsets?
http://www.ovt.com
Ask the sensor manufacturer, they'll give you chips specs, schematics, implementation code and draft driver code.
Then, look up the SC32442A developers' manual and you'll see that it encompasses a camera interface, again with necessary schematics and hardware IO information.
Sure it's hard to write a camera interface, but once you've written one, it gets easier to support others.
V
they need to continue writing then because my camera application frequently fails in that pictures are corrupt, can't be viewed, and the picture review is just black
Sure it's hard to write a camera interface, but once you've written one, it gets easier to support others.
V
Click to expand...
Click to collapse
What kind of effort are we talking about here? Days? Weeks? Do you think this would need to run in kernel space, or we could get away with user space?

[Q] Is it possible to use MS.Internal somehow in a normal app?

Is it possible to somehow use classes from the MS.Internal namespace, things like MS.Internal.TextBoxView which is the type of a sub-object of the ContentControl of a textbox?
I mean use them in a "normal" app on a locked end-user phone, and getting away with it as far as certification is concerned so it can appear normally in the Marketplace?
The Visual Studio debugger is able to display information about such objects somehow, that's where I got the knowledge of the existence of this TextBoxView class in the first place, but of course that does not mean that a normal app can do likewise.
Googling for "WP7 reflection" showed me hits in other places like StackOverflow with info that probably this will just run into security exceptions anyway, because MS does not want devs to use "undocumented APIs", but I am curious whether somebody here has tried to "hack" this and can report first-hand.
rbrunner7 said:
Is it possible to somehow use classes from the MS.Internal namespace, things like MS.Internal.TextBoxView which is the type of a sub-object of the ContentControl of a textbox?
I mean use them in a "normal" app on a locked end-user phone, and getting away with it as far as certification is concerned so it can appear normally in the Marketplace?
The Visual Studio debugger is able to display information about such objects somehow, that's where I got the knowledge of the existence of this TextBoxView class in the first place, but of course that does not mean that a normal app can do likewise.
Googling for "WP7 reflection" showed me hits in other places like StackOverflow with info that probably this will just run into security exceptions anyway, because MS does not want devs to use "undocumented APIs", but I am curious whether somebody here has tried to "hack" this and can report first-hand.
Click to expand...
Click to collapse
I highly doubt.. more towards no for this. Microsoft pretty much will deny anything in the low level APIs from being accepted in the Marketplace. A way to check this is to use the Marketplace Test Kit in VS 2010 (Project -> Open Marketplace Test Kit). It will tell you if something you're using will fail as it does the same type of quick test that happens when you upload a XAP for submission.

Radio hardware?

Has anyone played with the Si4709 chip in a SPH-L900?
I've read plenty of stuff saying that the us variants don't have the hardware, but I thought I'd check for myself.
I built a kernel with support for the chip (using ashton seo of samsung's driver) and loaded up the module.
The driver is only documented in the code comments, so I tried Spirit just to see if it'd pick up on it, but Spirit reboots the phone when started. Sooo... I tried just turning on the chip in FM receive mode, which didn't result in a reboot.
I went over to sysfs and poked through the related twiddles (which there are a bunch of) and didn't come up with anything useful (most things were full of zeroes).
Anyone have any experience with it? Anyone have some sample code that works with the Si4709?
I guess it could be that the phone really doesn't have the hardware, but I'm not sure how to tell at this point.
The Spirit author (who presumably knows all about this stuff) does say in his Spirit thread that this phone lacks hardware, so maybe I should defer to that wisdom, unless someone has an idea as to how we can verify that the hardware is or is not there.
Edit: Here is a kernel with si47xx support if anyone wants to have a go. It's built as a module, so modprobe Si4709_driver to load 'er up.
The phone doesn't have the chip, you're wasting your time here.
Link doesn't let me access the files

Installing KNOX

I purchased a Samsung GTi9505 S4 running Android 4.2.2 from Euope recently and can anyone explain to me on how to install this APP?
I have these on my phone (pls see attached pics).
http://www.engadget.com/2013/02/25/samsung-safe-with-knox/
There are NO instructions on installing it. I looked all over on the web and nothing.
Only downloaded the KNOX Whitepaper.
I presume, this only works for North American based phones. But can someone shed some light on this please?
Thanks
It'll probably require some form of MAM (Mobile Application Management) product to be able to manage the applications within this 'sandboxed' environment. Applications will probably need to be specifically written to utilise it so its probably early days yet mate.
Unless I've got it completely wrong of course!
Working for a large organisation that requires this level of security - I requested further information from samsungs website but havn't had a single response yet. I'm assuming its still in development.
zoomee said:
It'll probably require some form of MAM (Mobile Application Management) product to be able to manage the applications within this 'sandboxed' environment. Applications will probably need to be specifically written to utilise it so its probably early days yet mate.
Unless I've got it completely wrong of course!
Working for a large organisation that requires this level of security - I requested further information from samsungs website but havn't had a single response yet. I'm assuming its still in development.
Click to expand...
Click to collapse
I know that the DoD got it approved from DISA.
http://gcn.com/articles/2013/05/29/disa--ios-android-stig.aspx
But Im not working in that environment. Its more like I want to keep my personal data apart from the enterprise environment.So, I want to have my business data under KNOX and personal data on the normal Interface like shown on this video.
Thats all.
http://www.youtube.com/watch?v=t_jTit_RCdI
And on the box itself, it DOES have the "SAFE" on it. (Samsung For Enterprise)
That vid is a very brief overview mate. Looking at the feature list for knoxx it seems to me to be an enterprise level function. Integration with Active Directory, single sign-on and other MDM products sort of implies that, thats what it will work with and not just for normal end users.
For normal end users - it would just be 'another profile' feature which I don't see much benefit for, as android phones/devices tend to be personal devices. However for the enterprise where we regularly deploy BYOD solutions and corporate devices it seems much more fitting
Sorry bud - probably not what you wanted to hear but until we get further information from them theres not much we can do to utilise it (i'm sure i've seen a knoxx.apk on our devices already)......
If anyone else knows anything else it would be great to hear from them.....
PS - You might want to recommend either Excitors DME product or Good's BYOD one to your IT department
I also work at a large enterprise shop and we are looking at deploying Samsung devices with the Knox functionality. However, I read somewhere that the Knox software was not ready for the worldwide release of the Galaxy S4. It will be available later in the summer on the Galaxy S4 (later for other Samsung devices) on what I assume will be a firmware update. So there is no way to get it on your device right now. Hope this helps.
itsonlyme999 said:
I purchased a Samsung GTi9505 S4 running Android 4.2.2 from Euope recently and can anyone explain to me on how to install this APP?
I have these on my phone (pls see attached pics).
http://www.engadget.com/2013/02/25/samsung-safe-with-knox/
There are NO instructions on installing it. I looked all over on the web and nothing.
Only downloaded the KNOX Whitepaper.
I presume, this only works for North American based phones. But can someone shed some light on this please?
Thanks
Click to expand...
Click to collapse
zoomee said:
It'll probably require some form of MAM (Mobile Application Management) product to be able to manage the applications within this 'sandboxed' environment.
Click to expand...
Click to collapse
^^^^^
This.
And it offers no value to an individual user even if they managed to get it set up. For basic remote device management Find my Mobile (ex-Samsung Dive) offers what most users are looking for without all the complexity.
Ok, well thats that...
Anyway, even if I did have it installed and working on my phone, then I would be concerned of more memory use and more battery drainage with this KNOX feature enabled.
Think about it, its like running two versions of Android on ONE phone. So this might be draining even more battery.
Thanks guys.

[Q] Android Layout / Activity Select via Hardware Detection?

Hi all,
First post here - looking forward to participating and working hard towards competency in Android development!
In the short time that I've been at this, I've noticed a great emphasis put on the importance of building a layout that will work across a range of Android hardware, or at least work well with both phones and tablets.
From what I've seen so far, the way to deal with this challenge is to compromise, and to not use absolute sizing for views etc..
I'm wondering if there is any kind of API available that would make it possible to detect hardware (at least screen size?) upon start up, which would then allow for switching to the appropriate XML layout?
I've not encountered it in any of the tutorials I've seen so far....
If this API *doesn't* exist, I would guess that the fact that the apps run on a VM might make any kind of hardware detection problematic if not impossible....
I'd appreciate any enlightenment on this that I can get!
Thanks in advance!
russ6100 said:
Hi all,
First post here - looking forward to participating and working hard towards competency in Android development!
In the short time that I've been at this, I've noticed a great emphasis put on the importance of building a layout that will work across a range of Android hardware, or at least work well with both phones and tablets.
From what I've seen so far, the way to deal with this challenge is to compromise, and to not use absolute sizing for views etc..
I'm wondering if there is any kind of API available that would make it possible to detect hardware (at least screen size?) upon start up, which would then allow for switching to the appropriate XML layout?
I've not encountered it in any of the tutorials I've seen so far....
If this API *doesn't* exist, I would guess that the fact that the apps run on a VM might make any kind of hardware detection problematic if not impossible....
I'd appreciate any enlightenment on this that I can get!
Thanks in advance!
Click to expand...
Click to collapse
OK to bump?

Categories

Resources