need a guide understanding code structures? - General Questions and Answers

I can reed and understand what's going on in most code. However, I have no idea how the different files in a typical set of source code fit together. More importantly, I've got no idea how to figure out which file contains the functions I'm looking for..
I'm sure there's some standard scheme for this, but I've no idea what it is, and have never had much luck with reading through official code definitions, and frameworks. (I get overloaded by too much irrelevant stuff before I get to the parts I need.)

Related

Question for Development

So is it easy as just editing XML files to Mod? For example media_profiles.xml has a bunch of camera related variables. If I just change those and reboot, is that going to change anything? I know it could screw up my phone, but I am going for tips and tricks on how to mess with Android.
I know how to code, and would like someone to maybe point me to a guide.
Thanks
When I say know how to code. I mean I know xml and SQL....some Java. Was going to see what I could do with Android and maybe help community if I can learn.
Thanks
Depends on what you're trying to do. You can modify the ROM's apk's by deodexing and extracting. Depending on what you want to do, you can either modify whatever xml files or jpegs or whatnot that are inside, or if the task requires it, decompile, mod and recompile the code with smali/baksmali. A program called apk manager is also pretty handy for modifying apks. You can modify certain aspects of the rom with simple shell scripts, like you would on any regular linux installation. And then there's system development that will require you to learn C. If you want to get into that sort of thing, there's a guide on http://developer.android.com that goes over how to grab the android source and compile it. You could try poking around the CM9 code for an example too, even better if you have a device to flash it to.
Actually, there's a pretty decent how-to-get-started guide written by an awesome chap in the Captivate forum:
http://forum.xda-developers.com/showthread.php?t=928955

Request for guidance on SGP5 development journey

Hello! I'm a semi-competent programmer (been doing it for fun and profit for the last few years) and I do almost everything in Linux (and in Python/Java).
When I started working with Linux I wanted to learn everything about it, but I was an idiot when I started (probably still am) and didn't understand much of what I was reading so I focused on my programming skills instead of the OS itself.
When I first got an android device (xmas present from my girlfriend about a year ago), I looked at her like she was nuts, "WTH would I want one of them for? Thanks, though." Soon after, I loved the Samsung Galaxy Player 5 (YP-G70 Gingerbread 2.3.5 API level 10) she got me, and started learning how to write useful programs on it, and also stuck several thousand PDF copies of books on it so I could always learn wherever I went.
I had a dream, though, to totally customize it. Every sound, button, box, and bar and especially the boot/shutdown animations, made by me.
In doing so, I hope to learn a ton about embedded Linux and android.
So I started reading through everything I could find about development for Android (especially all the google docs) and my device in particular.
I've confirmed with myself that a so-called "hard-brick" is all but certain, and I will simply buy a new device or take the time to learn how to reflash through a JTAG interface, or both. (Actually, the JTAG would be my preferred option. I've done SOME work with JTAGs before, but didn't understand what I was doing at the time. Thank God for written language, the internet and smarter people than myself!)
I have some questions before I go blowing stuff up, though...
I want to compile Android from source (after making some adjustments, of course!) and flash it to my device. Per the google docs, fastboot makes that pretty easy to do, but per the dozen or so threads on XDA that I've read about fastboot on a SGP5, fastboot isn't available and I'll need to use someone elses stuff to make it work (eg, the great works of Cyanogen).
My question is:
Is it possible to put vanilla AOSP on an SGP5? Is it "possible" like it's "possible" to go to the moon (eg, I'll be reverse engineering the GPU/WIFI/etc hardware and writing drivers for them from scratch?)
Obviously Cyanogen and others have figured it out, and that probably means I could start with his work, but there's a ton of stuff on his github account and none of it speaks about my device specifically.
tl;dr
Basically, if I want to build my own super-minimal Android 2.3.5 distro that will run on a SGP5, whose branch of AOSP am I looking for?
Also, if I did manage to figure out the JTAG interface, I could, say, flash the engineering bootloader to the device and use fastboot, right? Is there another way to achieve this/remove all traces of Samsung?
Thanks!

[Q] Windows Phone 7 drivers help?

Hey, I wanted to know how to extract the driver files for an HTC Titan (WP7). When I use OSBuilder to dump all the packages, I get the drivers in this really weird format that I don't know how to open. There will be a folder named xxxxx.dll and inside the folder there will be files 0000, 0001, 0002, and 0003. None of these files have file extensions. Given the name of the folder, it stands to reason that somehow, the files inside can be compiled into the driver the folder is named after.
Can someone please help me figure out how to open the driver files? I need to write custom drivers for a project I am working on and I need to be able to use these and preferably decompile them.
A .dll is really the same as an executable. You could try renaming the dll to exe and it should run, but basically that file is a library of assets used by Windows, so your drivers are probably embedded somewhere within the dll itself. You can always try opening the files contained within inside notepad, or hex editor if you need a more precise instrument.
Thanks For Your Reply
syung said:
A .dll is really the same as an executable. You could try renaming the dll to exe and it should run, but basically that file is a library of assets used by Windows, so your drivers are probably embedded somewhere within the dll itself. You can always try opening the files contained within inside notepad, or hex editor if you need a more precise instrument.
Click to expand...
Click to collapse
Not quite what I had in mind but I did end up learning a little bit about the structure of the drivers, so thank you very much.
It was mostly unintelligible, but I was able to find some important file names and function calls, although I have no idea where these are located or how I can use them myself. At least it gives me something else to Google, and believe me, I appreciate that.
Ideally, I would like to be able to find/recreate the source code for the drivers so that I can edit them and I would like to know how to compile them/add them to a ROM so that they will actually run on a real phone.
Can anywhere tell me a place that I can find a guide or book or website, anything really? I've been at it for about three weeks now and I'm starting to think that either the information simply isn't there or that I've passed over it not realizing what it was.
Windows phones have never been extremely popular, so it is not surprising that material for it is limited. Your best bet would be to go into a brick and mortar bookstore and look for some windows phone development books, as I'm sure there is bound to be at least one book regarding development. Although it might not have exactly what you are looking for, it can give you a good starting point.
Paper Books on Custom ROMs???
syung said:
Windows phones have never been extremely popular, so it is not surprising that material for it is limited. Your best bet would be to go into a brick and mortar bookstore and look for some windows phone development books, as I'm sure there is bound to be at least one book regarding development. Although it might not have exactly what you are looking for, it can give you a good starting point.
Click to expand...
Click to collapse
Are there really any books published on working with rooted phones? I've seen a lot of development books, but never one in which the phone had been hacked for administrative rights. They are always written for the developer who will be using the stock ROM with no modifications, or so I thought...
They will probably not have the exact information you are looking for, but it can give you insight into how the OS was developed in the first place, thus giving possible clues as to where the files you require reside.
Thanks for all your help!
syung said:
They will probably not have the exact information you are looking for, but it can give you insight into how the OS was developed in the first place, thus giving possible clues as to where the files you require reside.
Click to expand...
Click to collapse
Perhaps. Thanks a lot for the idea. I'm going to go look into the fundamentals of the OS then.

Security of proprietary formula in apk

I am a software developer with very limited experience in Android development. I am considering writing a very simple app to do a simple calculation, but the formula for the calculation is proprietary. Am I correct in assuming that something like Apktool would be able to decompile my apk, thus exposing the formula to prying eyes? If so, is there a way to prevent this?
Thanks!
thesomnambulist said:
I am a software developer with very limited experience in Android development. I am considering writing a very simple app to do a simple calculation, but the formula for the calculation is proprietary. Am I correct in assuming that something like Apktool would be able to decompile my apk, thus exposing the formula to prying eyes? If so, is there a way to prevent this?
Thanks!
Click to expand...
Click to collapse
An apk is pretty much the same as a zip file so anything like 7zip can extract it . as for apktool ,yes it can decompile your apk and enable others to edit/get codes from your app .but whats really happening with apktool is reverse engineering reverse engineering won't give you code as it was written by the original developer.so your formula "appears" to be safe. Know that there isn't a complete way of preventing reverse engineering.
Note:
Whatever you do to your code, a potential attacker is able to change it in any way she or he finds it feasible. You basically can't protect your application from being modified. And any protection you put in there can be disabled/removed by a determined hacker. The best you do is obfuscation(provided its a java code) or make use of progaurd or something like that.
[email protected] said:
An apk is pretty much the same as a zip file so anything like 7zip can extract it . as for apktool ,yes it can decompile your apk and enable others to edit/get codes from your app .but whats really happening with apktool is reverse engineering reverse engineering won't give you code as it was written by the original developer.so your formula "appears" to be safe. Know that there isn't a complete way of preventing reverse engineering.
Note:
Whatever you do to your code, a potential attacker is able to change it in any way she or he finds it feasible. You basically can't protect your application from being modified. And any protection you put in there can be disabled/removed by a determined hacker. The best you do is obfuscation(provided its a java code) or make use of progaurd or something like that.
Click to expand...
Click to collapse
Thanks for the response! I recognize that nothing is entirely secure, but my hope if I tackle this project is to make it more of a hassle to get into than it would be worth. Pointing me in the direction of obfuscators is a huge help. That gives me something specific to research, and may be the solution I'm looking for.
thesomnambulist said:
Thanks for the response! I recognize that nothing is entirely secure, but my hope if I tackle this project is to make it more of a hassle to get into than it would be worth. Pointing me in the direction of obfuscators is a huge help. That gives me something specific to research, and may be the solution I'm looking for.
Click to expand...
Click to collapse
Well good luck :good:

Looking for help on porting .. I think? crDroid specific (Wallpaper won't set)

I've been using crDroid for a few years now -- it's my preferred ROM.
Someone recently ported it to work on the Pixel 2 XL, which is honestly the only reason I bought the phone. Well that and its bootloader was easily unlockable and is CDMA capable (Verizon.. sigh.)
However, regardless of how one goes about doing it, the wallpaper won't change. It's a bug within the ROM and I'm wondering how I might be able to fix it myself without having to wait for the original poster to release an update -- I've got a lot of free time and this kind of stuff genuinely interests me.
I've got (albeit basic) experience with python, perl, batch and shell scripting, pretty limited knowledge with C++ but am familiar with system architectures and such though have no knowledge of using java or porting apps, that kind of thing. I'm thinking this issue is just a problem with how the wallpaper's linked when selected.. or just a simple permission issue.
I've gone through the process of extracting the payload.bin and the image files within, looked through a few files and their contents (specifically for *wall*) but don't see anything promising. Anyone have any ideas who might be able to help a newbie with this stuff? I see a lot of posts on how to extract apk contents and recompile, that sort of thing. But I'm .. honestly not sure what I'm looking for, or whether it's an app-specific issue or a system issue, you know?
Kudos in advance.

Categories

Resources