Androguard 1.6: community + decompiler - Android Software/Hacking General [Developers Only]

Hi !
probably many of you know Androguard (androguard.re), which is a tool of RE for Android Apps (APK/DEX/ODEX). The tool is in python (LGPL license) and can be used as an external libs for your application.
The main idea is to access to all element as described in the official documentation of the format. You can access to all classes, fields, methods and of course all instructions, control flow graph, and source code ...
You can create your own script to analyse an app, or you have also an interactive shell to analyse an app which is really useful, you can save/load/annotate your analysis. During the analysis you can display methods by using the control flow graph, or you can use a external decompiler as dex2jar+jad or ded. But maybe it is better to use our internal decompiler which is in full python and doesn't need external dependencies, and you can only decompile per method and not the whole app.
For this new release, we added the possibility to analyse quickly a lot of android apps automatically and to control the input/output.
But one of the most interesting things for XDA users is the community platform where you can add your script and share it with the community: bitbucket.org/androguard/community/overview.
The best way to begin with it is to follow the RE tutorial on the website of the tool, and to report issues !
If you are interesting to join the project, you are welcome !
ps: I can add links to my post, but all information are on androguard.re

[/COLOR]Let me begin with congratulating you and your team on creating an extremely useful framework fr analyzing android apps. Kudos to you guys !
I just jumped on the Androiguard bandwagon by deciding to analyze android malwares with it. Done with the first installation. I was searching for tutorials and guides which I can follow to understand my way around the tool. Can you point me towards some links which I can follow till I get myself familiar with using Androguard.
Thanks again and keep up the awesome work you guys did :victory:

Related

How to make an app?

I'm putting my theming project aside for now and get onto creating an app that I've always wanted to create that I do not see ANYWHERE in the market, forums, android websites, etc.
I've been reading and reading and reading different threads, instructions, etc. But no clue where to start. I've been reading on App Inventor but realized that it is very limited and I have my high doubts that App Inventor will not be able to achieve what I have in mind to make.
I've got the latest SDK and AVD Manager, JDK, Java, and have been using my emulator to test edited APKs. I'm pretty sure I'll be using my emulator to see how my app progress is coming along and see possible FCs and other issues and correct them as well as adding more to the app to make it even better.
But right now I'm stuck at where to begin here. Right when I was about to create this thread, I was making the name of the Title of this thread and was given threads relating to my title name and saw one thread that was sort of mentioning what I'm asking here.
I read the link provided in that thread ( http://developer.android.com/guide/topics/fundamentals.html ) and got some clues but just not enough to get me started here. I just need that push to get me going and eventually push it out to the market and make some money as a side project and learn from that and possibly make more useful apps. I cannot disclose my ideas here because then someone else (who has experience making apps) could take those ideas from me and go make it.
Is anyone willing to work with me here to get me started? I've helped countless people so it would be nice for a change for someone to help me out here.
There are so much Android development books on the market that I suggest to start with one of them. It's the best way to get some knowledge of the design principles used by the Android development framework.
Another method is to start with some examples found on the web. Just search for Android examples or something like that and you get tons of links
Another method is just to create something, get stuck and try to search for a solution (the most pragmatic method )
Yeah I know. That's why I'm constantly researching. I'm seeing some similarities between Java coding and building scripts in IRC (which I used to do, nothing big, just really small stuff). But my main problem is knowing what exactly are the main tools I need. I've had Eclipse for awhile but never used it. It has a lot of stuff in it and I get lost after a couple executions.
I'm just anxious to get started somewhere and get the momentum rolling for starters.
Could someone point me to a good book/ebook ? There are many out there but I'm sure that are some better than others...
If any french-speaker knows one in Voltaire's language, I'm in too. But English is fine...
DannyBiker said:
Could someone point me to a good book/ebook ? There are many out there but I'm sure that are some better than others...
If any french-speaker knows one in Voltaire's language, I'm in too. But English is fine...
Click to expand...
Click to collapse
Yeah, a good book (english) would be great. Can anyone recommend one?
You don't have to buy books but they do contain a lot more info in one book and would be better to have than trying to scour the internet and pull a bunch of infos together and try to put it together to understand step by step on how to get started and everything else.
Here's a link to a lot of android development books:
http://www.amazon.com/s/ref=nb_sb_s...pment&sprefix=android+application+development
Here's a link to some more info to getting started that is also useful:
http://developer.android.com/guide/basics/what-is-android.html
You may also need to get a Java coding book to help you put codes together properly and understand what each coding does, and tweaking them to work better.
Here's the link to Java coding for Android stuff for beginners:
http://www.amazon.com/s/ref=nb_sb_s...x=java+for+dummies&rh=n:283155,k:android+java
I just bought 2 books for Android application development and looking around for a good Java coding for beginners.
mdonova33 said:
Yeah, a good book (english) would be great. Can anyone recommend one?
Click to expand...
Click to collapse
professional android 2 application development by Reto Meier: http://www.wrox.com/WileyCDA/WroxTi...ication-Development.productCd-0470565527.html
Or, the Busy Coder's guide to android development by Mark L Murphy: http://commonsware.com/Android/
Last one is more written in a "let's get dirty" style. Really like that
TheSwaggeR said:
...
I just bought 2 books for Android application development and looking around for a good Java coding for beginners.
Click to expand...
Click to collapse
I think any java book will do, as long as it covers the principles of object oriented design and the data structures used by Java. You don't need any info about GUI programming in Java because that's all covered by the Android application framework.
The best Java books are the ones written by James Gosling et al, the designers of Java. But that may also be over the top for Android application development. Just some basic Java will do to get you started. The algorithms needed for basic apps aren't that complex.
App Inventor is a great tool to develop your android app. It simplifies the development and the editor is very intuitive.
Check out my blog on App Inventor and AppToMarket and a Workshop
http://Amerkashi.Wordpress.com

Looking for the source

A couple of weeks ago I bought myself my first android device (a cheap LG GT540), and since then I've been playing a lot with it.
Noticed that android hackers community is quite big and there are lots of tools which can do kind of anything, but sadly I'm kind of disappointed because I'm having some issues in understanding HOW things work: in order to root my device, install custom ROMs, resize partitions and so on, I had to use a few tools that I have no idea of what they're doing.
To me it looks like that in this forums it's much easier to find a GUI that does everything you need, rather than understanding what needs to be done and how to do it. IMHO this is bad for a community of hackers.
In particular I'd like to understand how the following tools work (both for personal knowledge, and because some of these only work on windows, and I'd like to port it on Linux), and if available, I'd love to put my hands on their source code:
SwiftBootloaderBuilder: it's a tool used to resize flash partitions. I'm prone to think that it might just be a frontend for fastboot, but hum, the fastboot binary I own seems to be missing the capability of handling partitions...
KDZ: it's a tool to upgrade the firmware which I had to use in order to install on my device a custom ROM with fastboot enabled. How the heck does it work? This tool forced me to find and use a windows system to hack my GT540...
Android Developers is a great place to get started understanding how Android works. There you will find much of what you need to know to get a BASIC understanding of Android. If you follow the guides and advice you can create a basic apk that does little except teach you. CyanogenMod wiki is also a great place to learn. One thing about Android is that is is very much like Linux built for specific hardware. Many, and I do mean many, of the same principles apply to both systems. Digital signatures, ownership privileges, file permissions, compiling from source, git, gerrit, google code etc, are all things that a developer runs into everyday working with open source software of any kind. Go to every place I mentioned, sign up, and start asking more questions. Learn C++ and JAVA. Join freenode irc and find some friends who will answer questions while you learn. XDA is the least resource for the development community. XDA is the expression of ALL the other resources. I am new to this also, and have done what I suggest, except the programming languages, which I am working on. Use root explorer to look at your device file system. Ask the developers of the tools you mentioned to help you understand them. A LOT goes on behind the scenes, but it takes a little direction and determination. Cheers!

How to become a developer?

I would like to become a developer. Obviously, that means learning code, but which one? Also, I don't have a PC with Linux OS, so will that be any problem? What tutorials or ebooks or stuff like that do you recommend to start me learning?
King-V said:
I would like to become a developer. Obviously, that means learning code, but which one? Also, I don't have a PC with Linux OS, so will that be any problem? What tutorials or ebooks or stuff like that do you recommend to start me learning?
Click to expand...
Click to collapse
Yes, that's right. To become a developer means learning to write code and apply those while creating a software.
Question on which one? is completely upto you because you need to know what are you aiming for. If you're looking for web application development, you may have to study any languages like PHP, DotNet, Java - J2EE/EJB etc.
If you're looking for Android application development, first step is to study Java, because its the main language used for programming apps. Then you can move over to Tutorials on Android development, and it will be easy. If its iOS app/ Mac specific app development, Objective C it is.
Not having PC with Linux OS won't be any problem, because you can do these in Windows platforms or in a Mac.
Tutorials = Google my friend. It has almost everything in the universe. Also in Youtube, you get the video tutorials.
Some which I could recommend is, for Java Oracle docs is good and "Java - The Complete reference" by Herbert Schildt is a good book too. For Android, you can find all resources in the App development forums.
You can try out the freepascal with a good IDE (codetyphoon), simple to make windows or linux graphical apps, or the visual studio express with c#.
coolsandie said:
Yes, that's right. To become a developer means learning to write code and apply those while creating a software.
Question on which one? is completely upto you because you need to know what are you aiming for. If you're looking for web application development, you may have to study any languages like PHP, DotNet, Java - J2EE/EJB etc.
If you're looking for Android application development, first step is to study Java, because its the main language used for programming apps. Then you can move over to Tutorials on Android development, and it will be easy. If its iOS app/ Mac specific app development, Objective C it is.
Not having PC with Linux OS won't be any problem, because you can do these in Windows platforms or in a Mac.
Tutorials = Google my friend. It has almost everything in the universe. Also in Youtube, you get the video tutorials.
Some which I could recommend is, for Java Oracle docs is good and "Java - The Complete reference" by Herbert Schildt is a good book too. For Android, you can find all resources in the App development forums.
Click to expand...
Click to collapse
Thanks a lot. That surely will get me started.
Also, if you wouldn't mind, I'd add that green glowing gif of your signature to mine.
King-V said:
Thanks a lot. That surely will get me started.
Also, if you wouldn't mind, I'd add that green glowing gif of your signature to mine.
Click to expand...
Click to collapse
Sure, I wouldn't mind. :good:
Start Android Application Development
Hii..
If You Want to become android Developer best video tutorial series on Internet Is
Link
http://youtube.com/playlist?list=SP2F07DBCDCC01493A&hl=en-GB&gl=IN&client=mv-google&guid=
And Android ADT is ready made available on their website just download and start developing android apps.
Link: Android ADT
http://developer.android.com/tools/index.html
Best Of Luck....
Press Thanks Button ( Left corner of this post ) if I helped You
Sent from my GT-S6102 using xda app-developers app

PhoneLab Research and Development Tools

Hi Guys,
New here, but not to the ROM community. I would like to get a bit of feedback from devs and from the general public about this. I am part of a research project with my university that is looking to expand some of our project out into the open source community. Unfortunately we are no longer able to run the research lab anymore, but we would like to see some of our tools be used in the community. We've made several tools that allow us to gather extremely useful feedback about what happens during different running processes of the device that we think would be extremely useful and interesting for developers. We would like to see some of these tools used by the community, but I'd like to get some feedback first about these. Any information that one would like to know would be on our website https://phone-lab.org/. I will also be around to answer any questions that you guys may have about it.
Some of the things we would like to see open sourced would be our log gathering process. We use a centralized application to gather specified logs by tag from logcat and upload those logs to a backend that a developer can use to improve or fix a bug in their system. We also have modified logcat in android to have a more organized format for easier human readability. This is an example of only two of our tools.

Skills required to develop very basic accouting app.

I have this query regarding android app development.
I'm planning an app, which is going to be very basic accounting app with just plus minus calculations.
I've already developed it in excel & its working well.
Don't want to convert it with 'excel to app' applications which are available online..
May i know what all kind of language skills do i need to execute my first android app from scratch.
And where should i begin.
Thanks & Regards
I would suggest that you learn Kotlin. Its not that difficult. You will get a hang of it quickly.
Here are a couple of links to help you get started. (oops. I am not allowed to post links) But you can search in the site try(dot)kotlinlang(dot)org
Also look out for the "Kotlin for Android Google I/O Intro" it is there on youtube.
Good Luck! :good::good::good:
tonytonya said:
I would suggest that you learn Kotlin. Its not that difficult. You will get a hang of it quickly.
Here are a couple of links to help you get started. (oops. I am not allowed to post links) But you can search in the site try(dot)kotlinlang(dot)org
Also look out for the "Kotlin for Android Google I/O Intro" it is there on youtube.
Good Luck! :good::good::good:
Click to expand...
Click to collapse
Thanks for educating me bro. Seems to be very positive & helpful start.
Other than writing some basic excel formulas I don't have any language skills.
Is it advisable to learn 'Kotlin' straightaway without learning JAVA.
Will i be able to create commercial app with this.
Sorry for delayed response.
yes. it is better to jump into kotlin. dont go through java.
andyz5 said:
Thanks for educating me bro. Seems to be very positive & helpful start.
Other than writing some basic excel formulas I don't have any language skills.
Is it advisable to learn 'Kotlin' straightaway without learning JAVA.
Will i be able to create commercial app with this.
Click to expand...
Click to collapse
I have only one point in addition to what has been already mentioned.
Write the spec well.
1. What screens/inputs will be there
2. What are the functions support
Also write the test cases before you write a single line of code.
How will you test whether your app works? What inputs will you give?
What if you wanted break your app by testing? HOw will you try to break it?
Write everything down. This will help you a lot.
andyz5 said:
I have this query regarding android app development.
I'm planning an app, which is going to be very basic accounting app with just plus minus calculations.
I've already developed it in excel & its working well.
Don't want to convert it with 'excel to app' applications which are available online..
May i know what all kind of language skills do i need to execute my first android app from scratch.
And where should i begin.
Thanks & Regards
Click to expand...
Click to collapse
andyz5 said:
I have this query regarding android app development.
I'm planning an app, which is going to be very basic accounting app with just plus minus calculations.
I've already developed it in excel & its working well.
Don't want to convert it with 'excel to app' applications which are available online..
May i know what all kind of language skills do i need to execute my first android app from scratch.
And where should i begin.
Thanks & Regards
Click to expand...
Click to collapse
Hi,
To develop android calculator you need to follow the flow chart. First you have to design layouts for application and after that you need to ready the back end. Once the backend is ready, move on android side (front end).
Just simple technologies are required with plus, minus, multiple and divide functions to develop such app. Regarding technical language there are many options, but i would suggest to go for the Java.
Thanks

Categories

Resources