[Q] Building Eclair from the Samsung Captivate code drop - Captivate General

Has anyone actually succeeded in merging the Samsung eclair code into the android-2.1_r2 tree and building a viable image that will run in the emulator (let alone the device itself). I am running into libwebcore.so problems, specifically with the nativeSetUploadFileName function that Samsung added - somehow the emulator didn't like it and said it wasn't found. I am now building a generic android-2.1_r2 to see if that can load in the emulator in case I am just messing it all up.
I downloaded the android-2.1_r2 source, and just copied the whole tree onto the eclair tree from Samsung, leaving the Samsung code in case of conflicts and the tree built fine. But loading the image onto the emulator just crashed at startup with the libwebcore.so problem due to nativeSetUploadFileName not found problem.
-Atin

Looks like Samsung did not put out the changes they made to the frameworks webkit java files for the native functions they added. So I am slowly adding them into the relevant files by hand, recompiling, finding the next missing symbol, repeat...
Till now I've found the following missing from the java files:
In WebView.java:
class WebFeedLink
nativeGetWebFeedLinks
nativeGetWebFeedData
In WebViewCore.java:
nativeSetUploadFileName
nativeHandleMultiTouchEvents

atinm said:
Looks like Samsung did not put out the changes they made to the frameworks webkit java files for the native functions they added. So I am slowly adding them into the relevant files by hand, recompiling, finding the next missing symbol, repeat...
Till now I've found the following missing from the java files:
In WebView.java:
nativeGetWebFeedLinks
nativeGetWebFeedData
In WebViewCore.java:
nativeSetUploadFileName
nativeHandleMultiTouchEvents
Click to expand...
Click to collapse
Screw it . . . need to find the implementations for WebFeedLink and WebFeedData that Samsung added but didn't put out in their eclair dump. Maybe the Vibrant or just the plain GalaxyS dump would have them - taking forever to download those.
No luck. Vibrant source dump is a lot smaller, missing a lot of files that the Captivate and GalaxyS dumps have. And both the Captivate and GalaxyS eclair are missing the same files so can't pull from one for the other. Pain.
Just commenting out the nativeGetWebFeedLinks stuff, can't see where it is used in the code anywhere. Possible that it is used by one of the Samsung apps that they didn't release the code for - like the SocialMediaHub thing.

The reason I'm trying to just build Eclair is because if I can do that, I'll be confident that I have everything that I would need for Froyo to work. I can build vanilla Froyo, but am not confident it will use everything on the phone right now!

Keep up the good work! If i knew at all how to do that kind of stuff i would help you. But i don't . Im here for a tester if you need one
Sent from my SAMSUNG-SGH-I897 using XDA App

atinm said:
Screw it . . . need to find the implementations for WebFeedLink and WebFeedData that Samsung added but didn't put out in their eclair dump. Maybe the Vibrant or just the plain GalaxyS dump would have them - taking forever to download those.
No luck. Vibrant source dump is a lot smaller, missing a lot of files that the Captivate and GalaxyS dumps have. And both the Captivate and GalaxyS eclair are missing the same files so can't pull from one for the other. Pain.
Just commenting out the nativeGetWebFeedLinks stuff, can't see where it is used in the code anywhere. Possible that it is used by one of the Samsung apps that they didn't release the code for - like the SocialMediaHub thing.
Click to expand...
Click to collapse
You should contact samsung. Others have had responses from them when it comes to kernel code.
Sent from my SAMSUNG-SGH-I897 using XDA App

staticfish said:
You should contact samsung. Others have had responses from them when it comes to kernel code.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Wrote to Samsung - no response yet. I'll keep at it in the background, and hope that the Froyo source release will be better! Am a little unhappy that I can't build Eclair with a merge of the Android Eclair sources and Samsung's sources that actually works. The problem I am running into now has to do with the Calendar app dying because of a missing subscriberFeed provider and the Calendar app is the one I want to fix on my phone so that it doesn't always use the "My phone" calendar by default when that calendar is disabled!
-Atin

bump
any updates?

Nothing from Samsung. I've put this on the backburner until wes gets the Vibrant up with Cyanogen and will start hacking in that source tree to get it onto Captivate.

Related

[ROM] AOSP w/o Google apps (readd-able) FIRST HALFLEGAL ROM

Here I provide a half legal (I included the HTC drivers for the hardware...) stock AOSP (android-1.5_r3) ROM!
You can add Google Apps legally if you have bought a Google experienced phone by running this script on a linux-machine:
http://forum.xda-developers.com/showthread.php?t=564744
Features:
-No special features
-Just stock w/o Google apps
Download for G1:
http://www.4shared.com/file/135524283/e812c64f/dream.html
Instructions:
Unzip the file, then:
fastboot erase userdata
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot
To Do:
I'm a lazy guy.
Next release will be cyanogenmod w/o googleapps.
Well does the rom working without all googles stuffs ?
Can we add them easily ?
Thanks for the new build, hope this googles' issue will be fine
It does work, but it's nearly useless.
I work on a windows version of my script which adds google apps legally.
I also will create a script for recovery.
I'll work on this ROM when I'm done with these, as soon as the scripts are ready, this ROM will get some goodies from Cyan.
Nice work Maxisma!
Its a good start
awesome bro
keep it up it's a start!
maxisma said:
It does work, but it's nearly useless.
I work on a windows version of my script which adds google apps legally.
I also will create a script for recovery.
I'll work on this ROM when I'm done with these, as soon as the scripts are ready, this ROM will get some goodies from Cyan.
Click to expand...
Click to collapse
Excellent.
With all this doom and gloom.
Surely this is the problem solved?
But what do you mean by google experience?
I know I got all the apps with my phone... T-Mobile G1...
Google Experience are all phones with Google Apps preinstalled.
Just some indian and russian HTC devices don't have it.
Out of interest would this boot fine without running the script?
I am presuming not, but i am just curious?
I would try it out, but at the moment I am not at home and only have 2g coverage on my phone so its a bit slow to download
Edit //
Could i (in theroy) install, boot and then use wget to download sam3 from slideme.org and then download a third party dialer / K9 etc... etc..
So use all third party apps
vixsandlee said:
Out of interest would this boot fine without running the script?
I am presuming not, but i am just curious?
I would try it out, but at the moment I am not at home and only have 2g coverage on my phone so its a bit slow to download
Click to expand...
Click to collapse
It boot's fine w/o the script ;-)
Not to rain on your parade, but ....
Hi Maxisma,
Not to rain on the parade, but ...
Per Google, this ROM is no more "legal" than any other ...
The following is taken from http://source.android.com/documentation/building-for-dream
* The Dream device software contains some proprietary binaries. For contractual reasons, these cannot be redistributed separately from the shipping hardware, but the provided script may be used to extract these binaries from your development device so that they can be correctly included in your build. These libraries include the openGL|ES library, the Qualcomm camera library, the HTC Radio Interface Library, etc. You need adb to be in your path, and you need your device to be configured for adb access. If you don't have adb already, do a generic build first, which will put it in your path.
Click to expand...
Click to collapse
Just my understanding of things.
~enom~
Interesting, i am going to have to have a look and a play later.
Cheers for the work (forgot to say that in my first post)
if you're interested on maybe trying to do this on your own:
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
Contrary to what you might think, a room w/o google apps is not entirely useless. Probably the major setbacks are the lack of market access, the lack of a YouTube player (we need to work on a port of Totem's Youtube implementation but for android), and a way to manage contacts (irrenhaus is looking at the posibility of setting up a Google Contacts sync), plus we'd probably need to write an utility to actually read/write contacts to and from SIM.
G-mail, you can acess from the browser (which, AFAIK, is still free and open source under the Apache Licence), Maps can be downloaded once we get Market access.
Other than that, a bone-stock android build will keep you connected to the internet, allow you to tether, allow you to run scripts, deliver your mms, give you camera and music player, have theme support, and ofcourse, make phone calls just like any other build will. You'll just have to go a bit off of your way to get apps, but again, that's the main drive here, either get acess to market of create a new one and invite app developers to submit their apps there too
enomther said:
Hi Maxisma,
Not to rain on the parade, but ...
Per Google, this ROM is no more "legal" than any other ...
The following is taken from http://source.android.com/documentation/building-for-dream
Just my understanding of things.
~enom~
Click to expand...
Click to collapse
That's dead on too, and I forgot about it. The issue would not be with google anymore though, but with HTC and it's hardware partners. This is what cyanogen realized, now that the spotlight is on rom development, companies will have watchdogs for re-distribution of binary code. If you own an ADP device, you can legally download the binaries from the HTC website and MAKE YOUR OWN BUILD (so redistribution targeting dream is out, unless we can talk to HTC about it), either that, or, as I've said before, move onto an open hardware platform so we can write our own drivers.
---edit---
By the way, I still don't agree with the whole feeling of gloom floating around here. This is only a change to the way we're doing things right now, but it doesn't hinder development in any way. If you're the kind of dev that's here for the praise, then yeah, you wont like it that now people will have to actually know what they're doing, so your fanbase will be reduced. I for one welcome the change. This rom, for example, can still be distributed without the HTC binaries and maybe have instructions for the user to download them, install them in their OTA package, and the actually flash the rom. But then that requires that people actually know what they're doing, since we can't legally provide them the finished product.
Also, it doesn't hinder improvement of the platform. None, I repeat, NONE of cyanogen's or other dev's work ever even touched the proprietary parts of the build, as this is nearly impossible without the source (I know, baksmali, but really, I'm trying to make a point here!...) and most of what made his work awesome was the behind-the-userland work; kernel's bfs patches, scripting, cpu time management, modifications to available source, for example, the settings package.
We can still improve the platform, we can contribute, and maybe this time around the way Google wanted people to, by submitting code for their consideration to have it maybe implemented in android's next build.
I'll be glad to see all the "OMG, MY PHONE WONT START" threads diminish as people realize that this will no longer be the place where you get it all dumbed down and easy to use.
hey just by simple curiosity, how do you then log into the phone, if this rom is google less? I presume you still need a google account to set up your machine right????
kmassada said:
hey just by simple curiosity, how do you then log into the phone, if this rom is google less? I presume you still need a google account to set up your machine right????
Click to expand...
Click to collapse
You don't need to login as there is no setupwizard.
jubeh said:
That's dead on too, and I forgot about it. The issue would not be with google anymore though, but with HTC and it's hardware partners. This is what cyanogen realized, now that the spotlight is on rom development, companies will have watchdogs for re-distribution of binary code. If you own an ADP device, you can legally download the binaries from the HTC website and MAKE YOUR OWN BUILD (so redistribution targeting dream is out, unless we can talk to HTC about it), either that, or, as I've said before, move onto an open hardware platform so we can write our own drivers.
---edit---
By the way, I still don't agree with the whole feeling of gloom floating around here. This is only a change to the way we're doing things right now, but it doesn't hinder development in any way. If you're the kind of dev that's here for the praise, then yeah, you wont like it that now people will have to actually know what they're doing, so your fanbase will be reduced. I for one welcome the change. This rom, for example, can still be distributed without the HTC binaries and maybe have instructions for the user to download them, install them in their OTA package, and the actually flash the rom. But then that requires that people actually know what they're doing, since we can't legally provide them the finished product.
Also, it doesn't hinder improvement of the platform. None, I repeat, NONE of cyanogen's or other dev's work ever even touched the proprietary parts of the build, as this is nearly impossible without the source (I know, baksmali, but really, I'm trying to make a point here!...) and most of what made his work awesome was the behind-the-userland work; kernel's bfs patches, scripting, cpu time management, modifications to available source, for example, the settings package.
We can still improve the platform, we can contribute, and maybe this time around the way Google wanted people to, by submitting code for their consideration to have it maybe implemented in android's next build.
I'll be glad to see all the "OMG, MY PHONE WONT START" threads diminish as people realize that this will no longer be the place where you get it all dumbed down and easy to use.
Click to expand...
Click to collapse
I could probably write a Java application that would allow the user to:
1) hook their google phone up over USB and grab the existing google apps off of it
2) point to the location of their proprietary drivers on a manufacturers website for download
3) point to a central location of legal ROMS for download
4) click an ASSEMBLE button to put it all together. The resulting update file would be like they have always been, but no illegal redistribution has taken place.
One little problem ...
Ohsaka said:
I could probably write a Java application that would allow the user to:
1) hook their google phone up over USB and grab the existing google apps off of it
2) point to the location of their proprietary drivers on a manufacturers website for download
3) point to a central location of legal ROMS for download
4) click an ASSEMBLE button to put it all together. The resulting update file would be like they have always been, but no illegal redistribution has taken place.
Click to expand...
Click to collapse
Hi Ohsaka,
One little problem with that is ... the manufacturers do not post the drivers (standalone) on their websites for download, they only redist with the hardware. Also, there are other library files as well, it's not only drivers.
~enom~
Simple fix.. just don't include it. People will have to "magically" find the drivers on their own.
If it boots, why is it nearly useless?

Compiling & replacing framework.jar

A couple of weeks ago, I picked up a used G1 from craigslist, and I really like it. However, I was disappointed to find out that it won't work with my university's WiFi system. I did some searching and came up with issue 1597 on the android google code page (apparently I can't post a link yet). Post 45 on that thread explains the fix, and since it seems fairly easy to apply to the Android source and google won't release it for who knows how long, I decided to do it myself. However, getting it onto the device has been a real problem. These two threads (which I can't link to either):
t=476563 and t=629551
lead me to believe that I can essentially compile the android source, push the new framework.jar to the device, and the fix will be in place.
I eventually got it to compile, but when I try to install it, It just hangs on the G1 screen. I've tried building it on Ubuntu 9.10 and OS X Snow Leopard using the sources from 2.1 and 1.6 and installing it on King Eclair and BlueMagic Donut (the stock firmware lasted maybe 6 seconds after I got it), and I'm getting the same results, even if I just build the source unmodified. I've probably tweaked and recompiled it 20 times now, and am about ready to lose my mind. I think every time I've gotten at least one error from certain jni libraries not compiling properly, but I've assumed that since they appear to be just for the device, not the system I'm building on, and all I need is the jar file, which should be relatively independent, that isn't important. I'm willing to try a stock rom on my device if that's what I need to do, but I'd like to believe that Android isn't so fragile that I can't use an essentially stock framework with a tweaked rom. Maybe that's not the case, though.
The logcat from my most recent attempt (Currently running BlueMagic) is attached. Everything after the second "AndroidRuntime START" will repeat forever until the phone is rebooted. I've also attached my patched SslCertificate.java and the latest framework.jar I've built from the 1.6 source, if it's any help. I realize the changes I've made to SslCertificate.java might not solve the problem (IMHO the patch description wasn't as clear as it could have been), but if I could actually get something that I've compiled to just run on my device, I think debugging it would be relatively trivial.
I'm not an idiot, I understand most of what's going on here and I've spent a lot of time reading, searching and trying to do this myself, and have attempted to demonstrate that in this post. I am relatively new to Android, but I have been trying to learn as much as I can about it. I don't think this should be so difficult, and I'm really stuck at this point. I assume I'm missing something obvious. If anyone with experience compiling and tweaking Android can spare the time, any advice would be appreciated.

[APP/MOD][Nov 19th][1.0.3] DCIM compliant Camera

2012-08-25: Breaking news - DCIM Helper is here.
This means Camera DCIM is now obsolete and you're advised to migrate to DCIM Helper.
It is a free app for everyone.
There are a couple of extra features (currently just one...) which require a donation to be enabled. Wait, don't get mad!
If DCIM Helper detects you're running Camera DCIM, you will be recognized as a "Special donor" and you'll have everything unlocked. :victory:
For further information, you can read here.
Do you hate when iPhoto won't show the pictures you shot with your Android device, but it works fine with your friend's HTC Sense device? Why would that be?!?
That's simply because Google's camera does not comply with the DCIM standard, used by every other Digital Camera in the world (and HTC Sense does too!)
With this app, your Android device will be able to.
FEATURES:
- DCIM compliant digital camera
- Full Gingerbread Camera, as of latest source code (Android 2.3.5)
- Camera DCIM can be installed together with the official Android Camera, no overlapping issues!
- Camcorder app has been unhidden and can be choosen from the application launcher (check first screenshot)
- Support for Windows, Linux and Mac OS X hosts (don't worry about Thumbds.db, ._IMG0001.jpg files and so on!)
- "Automagically" converts existing picture files in Camera dir to the DCIM naming.
SOURCE CODE:
Google has been notified of this issue on June 2009 but has ignored it.
I've submitted a fix for the official Android Camera on July 9th, 2011 with no reply. If you are able to build your own ROM, I welcome you to download the fix and apply it to your source code! HTC has built a DCIM compliant camera, after all.
If you don't know how to build your ROM, or just want it hassle-free, then this is your app, less than $1 away from you.
In the spirit of Open Source, all the modified source code (in addition to the original fix) is available online to whoever wishes to check it out.
CHANGELOG
2011-11-01 - 1.0.2
- Attemped to work around a crash reported on the Market on devices without sdcard (Nexus S).
2011-09-07 - 1.0.1
- Added support for .mp4 and .m4v files in the "automagic" renaming
- Fixed FC opening Camcorder w/ Infuse 4G and other Samsung devices.
2011-09-02 - 1.0.0
- Initial Market release
How install this mod?
Pozdrawiam
Do you know if CyanogenMod has this patch included already? If it doesn't could you commit it?
Sent from my HTC Vision using Tapatalk
kred9k said:
How install this mod?
Click to expand...
Click to collapse
Download from Android Market.
EDIT: Or grab the source code from the github repository and compile in Eclipse.
g4rb4g3 said:
Do you know if CyanogenMod has this patch included already? If it doesn't could you commit it?
Click to expand...
Click to collapse
It doesn't. the patch is public and on github. I'll try sending the CM Team a twitter message...
EDIT: Twittered... let's see.
thanks for releasing this apps. finally something
Sent from my SAMSUNG-SGH-I997 using XDA App
2011-09-07 - 1.0.1
- Added support for .mp4 and .m4v files in the "automagic" renaming
- Fixed FC opening Camcorder w/ Infuse 4G and other Samsung devices.
Deleted.....
shadowch31 said:
Deleted.....
Click to expand...
Click to collapse
Any news of this being added to cyanogenmod or reply from google?
tetsuo55 said:
Any news of this being added to cyanogenmod or reply from google?
Click to expand...
Click to collapse
No reply from Google, but it was partially my mistake: in order to submit code to Google, the issue tracker is not the right place. However, until the source code comes back online I can't send a patch to the right place.
No reply from CyanogenMod, I even cloned the repository from github and pushed the patches, no activity at all.
hrk said:
No reply from Google, but it was partially my mistake: in order to submit code to Google, the issue tracker is not the right place. However, until the source code comes back online I can't send a patch to the right place.
No reply from CyanogenMod, I even cloned the repository from github and pushed the patches, no activity at all.
Click to expand...
Click to collapse
People just need to make them wake up. Lol, but i definitely like this idea. Don't give up
Sent from my PG06100 using Tapatalk
2011-11-01 - 1.0.2
- Attempted to work around a bug reported on the Market.
The bug was happening on a device without an SDCARD (Nexus S), I am not sure the fix will work, code should have worked from the beginning.
Fixing the AOSP camera app is nice. Do Google accept improvements into the official code?
I sure hope someone will add tap-to-focus to both the still and video camera. I'd also like to have tap-to-focus working while recording video because continuous AF can sometimes ruin some shots by introducing several seconds of blurry footage, or sometimes won't AF again while in an unfocused state.
iOS lets you tap to focus while recording video, making continous AF a non issue.
Interesting. How does this compare to MIUI camera on AOSP ROMs?
Cares said:
Interesting. How does this compare to MIUI camera on AOSP ROMs?
Click to expand...
Click to collapse
I'm not familiar w/ the MIUI Camera, but it's part of the MIUI ROM, not of AOSP ROMs. This is the very same source code of AOSP Camera w/ the DCIM patch and some minor bug-fixes.
People have extracted the MIUI camera and made flashable apks for AOSP ROMs.
2011-11-19 - 1.0.3
- Fixed "issue" with sdcard/_externalSD directory used in LG phones. Thanks to Danford for reporting the issue!
Off the market again?
I am really interested in getting this working with ICS 4.0.3 & 4.0.4. It really is a pain in the ass when you try to sync with iPhoto or other similar applications due to Android completely ignoring the DCIM specification... I mean, I guess they tried due to the fact that they use DCIM as the location to store the photos but completely ignore the format in which to use.
Would anyone be up for helping? I am sure this patch could still be applied to the ICS camera source code.
GeekyScott said:
I am really interested in getting this working with ICS 4.0.3 & 4.0.4. It really is a pain in the ass when you try to sync with iPhoto or other similar applications due to Android completely ignoring the DCIM specification... I mean, I guess they tried due to the fact that they use DCIM as the location to store the photos but completely ignore the format in which to use.
Would anyone be up for helping? I am sure this patch could still be applied to the ICS camera source code.
Click to expand...
Click to collapse
When ICS was released I tried updating the app to the new camera only to discover that Google changed lots of components (no biggie) and used private/unreleased code (wtf?) so I could not update the app.
I'll give it another go, however I'm moving to another app (which I have been developing since ages - well, I have been not developing since ages) which can work with every camera app on the Market.
PRO: you can use any camera you want, especially since Android base camera sucks big time. It's really crappy.
PRO: it works with stupid makers like LG or Samsung on devices which lack a real SD card.
CON: it's an external app, so if the device is under stress it could kill the app. Or if I release an update, you have to manually start it again by hand (or reboot the device).

Are ICS Google apps possible on our roms?

I've been browsing the other device forums and seeing some success with modifying the ICS gmail for use on devices that don't yet have ICS running. Is this possible for the MT4GS? The new Gmail app in ICS is a huge improvement. Same with the Google Calendar. The new Google music isn't linked to ICS so we have that. Wondering if there is a way to get some of the other Google goodness til we have full ICS. Anyone working on this for our phone or know anything related?
Doubt it but it would be awesome. At least to be able to take the GMAIL app its a definitely must, but I can wait for now.
_atlien_ said:
I've been browsing the other device forums and seeing some success with modifying the ICS gmail for use on devices that don't yet have ICS running. Is this possible for the MT4GS? The new Gmail app in ICS is a huge improvement. Same with the Google Calendar. The new Google music isn't linked to ICS so we have that. Wondering if there is a way to get some of the other Google goodness til we have full ICS. Anyone working on this for our phone or know anything related?
Click to expand...
Click to collapse
Absolutely it's possible.
The only issue is how much work has to be done to make it compatible - on that score some people would say it isn't, because they don't/can't do the work necessary to make it happen.
I haven't had the time to look closely enough at the ICS stuff to tell ya for sure, but even if it came down to basically re-writing the whole app to include the new changes in a gingerbread installation it would work.
(I did download ICS source from google a bit ago, but haven't had time to comb through it much at all)
Anything using stuff like Face Recognition or any of the new technologies would most likely be off limits without re-writes to other parts of your ROM.
It's nowhere near drag-and-drop if that's what you're asking, but the right attitude and investment of time can get it all worked out.
Thanks for the replies! I'm only a beginner developer (thx to your tutorials actually Blue6IX) so I'm looking into it to see how things work and just poke around. My goal is stability. I LOVE the work that has been done on ICS but it still doesn't run too many different apps that I (and presumably others) have already bought on the market while GB runs them all flawlessly of course. Seems like it might at this point be easier to make google apps run on GB than make an assortment of apps from different developers run on ICS.
Sent from my HTC myTouch_4G_Slide using Tapatalk
_atlien_ said:
Thanks for the replies! I'm only a beginner developer (thx to your tutorials actually Blue6IX) so I'm looking into it to see how things work and just poke around. My goal is stability. I LOVE the work that has been done on ICS but it still doesn't run too many different apps that I (and presumably others) have already bought on the market while GB runs them all flawlessly of course. Seems like it might at this point be easier to make google apps run on GB than make an assortment of apps from different developers run on ICS.
Sent from my HTC myTouch_4G_Slide using Tapatalk
Click to expand...
Click to collapse
That would be pretty awesome.
I've been wrapping up all the stock apps we have from the 1.28.531.9 and 1.55.531.3 update for our phone, and turning them into flashable zips.
What you might want to keep in mind for after the app is compiled and working (right - easier said then done) is to download a couple of said zips to see how I did it - then you could just use them as a template for the new ICS apps you make. I also have a tutorial on edify scripting and a thread with a whole mess of scripting tips in it, so I can link them later if you want.
Get yourself a linux install if you don't already have it and download the ICS source code, then start the trail and error of compiling the apps to work. I'd start with something simple you can compare with, like maybe:
Stock ICS calculator, and compare it to the stock Gingerbread calculator. I'll be posting the stock gingerbread calc in a flashable zip within the next few hours as I get more of the zips I already made linked to the thread.
If you can make the calc work, then you have a winner, and an easy step on the learning process of making it happen, then the rest of the ICS apps from source become easier.
Just a thought
I'll help when I can, but i've got a lot on my plate - I think this is a great project for someone to tackle though!

[Security] fb0 world read- and writeable on Samsung Galaxy S2 with CM9.1.0 galaxys2

Hello,
the device /dev/graphics/fb0 is word read- and writeable on my device (Samsung Galaxy S2 with CM 9.1.0). I suspect it is the same way on many other devices.
Every app can read the whole framebuffer and make screenshots. If the app would do that it could also monitor the softkeyboard. The results wouldn't need to be saved because it could extract the pressed key on the fly.
I have tested a short loop in the Terminal and it worked. I was able to get screenshots from an app with the FLAG_SECURE set. Which should disallow the ability to make a shot. ( I wasn't root. ) I was able to get the fb dumps with the keyboard and the keys pressed.
You can manualy set the Permissions to 660, then only root and graphics users can use it.
Can someone please confirm this configuration on other devices?
I don't think it is intendet that every app can play keylogger.
And before you ask I havn't posted/informed anyone. Because if you look at the /dev/exynos-mem hole you want to check every other file in /dev for similar errors. So that is what I did and i can't be the only one. So I figure the blackhats are two steps ahead.
blulantern said:
Hello,
the device /dev/graphics/fb0 is word read- and writeable on my device (Samsung Galaxy S2 with CM 9.1.0). I suspect it is the same way on many other devices.
Every app can read the whole framebuffer and make screenshots. If the app would do that it could also monitor the softkeyboard. The results wouldn't need to be saved because it could extract the pressed key on the fly.
I have tested a short loop in the Terminal and it worked. I was able to get screenshots from an app with the FLAG_SECURE set. Which should disallow the ability to make a shot. ( I wasn't root. ) I was able to get the fb dumps with the keyboard and the keys pressed.
You can manualy set the Permissions to 660, then only root and graphics users can use it.
Can someone please confirm this configuration on other devices?
I don't think it is intendet that every app can play keylogger.
And before you ask I havn't posted/informed anyone. Because if you look at the /dev/exynos-mem hole you want to check every other file in /dev for similar errors. So that is what I did and i can't be the only one. So I figure the blackhats are two steps ahead.
Click to expand...
Click to collapse
I'm 90% certain this file was copypastaed from a Samsung initramfs - so some Samsung releases most likely have this setup too. I'll ask codeworkx which one.
I'm in the process of cleaning up ueventd, unfortunately this mess happened just as I was getting ready to leave for the holidays.
Entropy512 said:
I'm 90% certain this file was copypastaed from a Samsung initramfs - so some Samsung releases most likely have this setup too. I'll ask codeworkx which one.
I'm in the process of cleaning up ueventd, unfortunately this mess happened just as I was getting ready to leave for the holidays.
Click to expand...
Click to collapse
I was unable to locate the same issue in stock devices, maybe CM is using copypasta from old firmware ramdisks.
jcase said:
I was unable to locate the same issue in stock devices, maybe CM is using copypasta from old firmware ramdisks.
Click to expand...
Click to collapse
Yeah, there's a good chance it predates XWLPM. We swapped kernel sources but not ramdisks with Update7.
What builds have you looked at? I'm going to try and see if codeworkx remembers which build he pulled those from.
I'm going to attempt to do a ueventd cleanup before I leave for the holidays. It may be an "axe everything and let the rest of the team figure out what broke and needs repair" approach...
I think this may have been in a samsung leak that never got removed, it dates back to the very first commit of this file in ICS, but isn't in one of my initramfs dumps from one of the first ICS official releases.
http://review.cyanogenmod.org/#/c/28759/
If no observed regressions it will be backported to CM10/CM9 time permitting, but could take some time as I'm unavailable from tomorrow onwards until the new year.
Hi,
I did a little code search on github, this issue seems more widespread than I thought.
I can't post external links here, because I'm new
If you search on Github in Code for:
/dev/graphics/fb repo:CyanogenMod/*
You will find
CyanogenMod/android_device_htc_click » init.bahamas.rc (Rust)
CyanogenMod/android_device_geeksphone_zero » init.zero.rc (Rust)
If you don't restrict the search on a repo you will get many results for different devices, the once i checked had the permission set to 666 or 777 (in the latest revision). But I didn't find the result with the galaxys2 so i figure my results are far from complete.
Is there a mechanism to let the owners know without searching through every projekt and opening an issue there?
Thanks.
Entropy512 said:
Yeah, there's a good chance it predates XWLPM. We swapped kernel sources but not ramdisks with Update7.
What builds have you looked at? I'm going to try and see if codeworkx remembers which build he pulled those from.
I'm going to attempt to do a ueventd cleanup before I leave for the holidays. It may be an "axe everything and let the rest of the team figure out what broke and needs repair" approach...
Click to expand...
Click to collapse
Recent builds (im lazy and in bed so ill look later)
Sent from my SGH-I317M using xda premium
Entropy512 said:
I think this may have been in a samsung leak that never got removed, it dates back to the very first commit of this file in ICS, but isn't in one of my initramfs dumps from one of the first ICS official releases.
http://review.cyanogenmod.org/#/c/28759/
If no observed regressions it will be backported to CM10/CM9 time permitting, but could take some time as I'm unavailable from tomorrow onwards until the new year.
Click to expand...
Click to collapse
Makes sense since leaks often have more relaxed permissions due to debugging.
Sent from my SGH-I317M using xda premium

Categories

Resources