samsung / adbi Goto Github PK
View Code? Open in Web Editor NEWAndroid Dynamic Binary Instrumentation tool for tracing Android native layer
License: Apache License 2.0
Android Dynamic Binary Instrumentation tool for tracing Android native layer
License: Apache License 2.0
Android Dynamic Binary Instrumentation (ADBI) is a tool for dynamically tracing Android native layer. Using this tool you can insert tracepoints (and a set of corresponding handlers) dynamically into the process address space of a running Android system. When the tracepoint is hit your custom handler (which can be written in C) is executed. You can deliver your own code through the handlers. It is possible to access process variables and memory. Host side tool written in Python communicates with the native adbiserver process (which resembles the gdb-server in its operation) and translates source level symbols into addresses within the final binaries. As of authors knowledge this is a first such tool for ARM (including ARM64) architecture. ADBI tool was developed in Samsung Poland R&D Center located in Warsaw, Poland as a research project for new development tools and process improvement. Sample features: Generates function trace from Android native user space Allows for dynamically driven trace configuration Can measure time between instructions for profiling Injects custom code into running process Can modify and reimplement running native applications Benefits: No recompilation of debugging application is needed Can see what exactly happens in Android native layer Finding problem areas, tracking down strange bugs more manageable Better system knowledge, faster product delivery
wow, this looks like a very nice work!
we linked to your tool now from our website: http://www.capstone-engine.org/showcase.html
keep it up, cheers.
Trying build the server, I got this:
---- inj ----
| Traceback (most recent call last):
| File "/Volumes/AndroidSrcCode/adbi/ADBI/idk/inj", line 16, in <module>
| from elftools.elf.elffile import ELFFile
| ImportError: No module named elftools.elf.elffile
But, can't find elftools.zip in the project.
Hi, I am interested in your tool and want to use it.
I try to build the tool according to the document. However, ASDD repository server does not work, thus I cannot get necessary source code with the following command.
sudo wget -P /etc/apt/sources.list.d/ http://asdd.sprc.samsung.pl/ubuntu/asdd.list
Can you solve this problem?
Thanks,
Seoyoon Choi
I don't think this is the first such tool for ARM.
adbi is early than ADBI, see link below.
https://github.com/crmulliner/adbi
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.