The AndBug Debugger A Scriptable Debugger for Dalvik Scott Dunlop, ([email protected])

The Devolution of Android Development Taking Google's SDK From Making Apps to Breaking Apps.

Debugging with the Eclipse SDK (and Source) Primary focus of Dalvik's debugging support. Can't dump thread contexts. Requires source code.*

Debugging with the Eclipse / NetBeans (with Apktool) Tricking Eclipse with synthetic Baksmali source. Large parts of Eclipse / NetBeans won't work Demands Smali literacy. :)

Debugging with JDB (with or without Source) Dalvik does not specifically support JDB. Not only do many parts not work, they crash the process. Clumsy shell; was considered a proof of concept. Doesn't require source, but many commands require it.

Common Elements of Dalvik Debuggers Same Protocols, Same Processes, Different Interfaces.

The Android SDK Many small tools wrapped by "Android" and Eclipse. Includes a QEMU-derived emulator. Can use TCP/IP or USB as a bridge to device or emulator. Key dependency of ANY Android debugger.

The Dalvik Virtual Machine A Java-like VM for low power hardware.* Uses a register IL, instead of Sun's stack IL. Newer versions support Just in Time compilation.

The Java Debug Wire Protocol (JDWP) Very high level debugging API for Java. Asynchronous packets, send requests, hope for responses. Closely related to the Java Native Interface. Dalvik explicitly only supports parts of JDWP Eclipse uses.

The AndBug Debugger Cannibalizing the SDK to Make an RE-friendly Debugger

AndBug From the Command Line Offers a number of CLI utilities. Can dump loaded classes, methods, thread state, static attributes. Can act as an API tracer (strace for Java classes).

The AndBug Shell An interactive debugger, similar to GDB or JDB. Can set breakpoints, suspend and resume execution. Includes all of the commands from the CLI.

The AndBug Module AndBug is 90% Python, 10% C. Really designed to be as a package by custom tools.

Navi -- The AndBug Process Browser Normally used from the shell or CLI. Starting from thread state, can browse the stack, its objects, their attributes, and on and on.. Requires a suspended process.

End-Matter Thanks to Google, JesusFreke and Brut.all -- Google must love RE's.. They gave us dexdump. Source code is available at https://github.com/swdunlop/andbug. No, I will not be doing this again for Blackberry.

The AndBug Debugger - GitHub

Many small tools wrapped by "Android" and Eclipse. Includes a ... or emulator. Key dependency of ANY Android debugger. ... AndBug is 90% Python, 10% C.

291KB Sizes 25 Downloads 225 Views

Recommend Documents

Debugger Detection.pdf
debugger must be present. If the return is erroneous, it's probably because we don't have a. debugger to output too. bool HasHardwareBreakpoints(). {. CONTEXT ctx = {0};. ctx.ContextFlags = CONTEXT_DEBUG_REGISTERS;. HANDLE hThread = GetCurrentThread(

Python Debugger Cheatsheet
Author: Florian Preinstorfer ([email protected]) — version 1.1 — license cc-by-nc-sa 3.0. See https://github.com/nblock/pdb-cheatsheet for more information.

TensorFlow Debugger: Debugging Dataflow Graphs for Machine ...
Debuggability is important in the development of machine-learning (ML) systems. Several widely-used ML libraries, such as TensorFlow and Theano, are based on ... Each node in the original graph is watched by a pair of nodes, a Copy (C).

BlueJ Visual Debugger for Learning the ... - ACM Digital Library
Science Education—computer science education, information systems education. General Terms: Experimentation, Human Factors. Additional Key Words and ...

The queue - GitHub
Input file: A.in. Output file: A.out. Time limit: 1 second. Memory limit: 64 megabytes. There is an interesting queue. Cashier of this queue is not a good one. In fact ...

The fuzz Manual - GitHub
6. The fuzz manual. This manual describes versions of the fuzz package numbered ..... \plus n. ^{n}. For example, R \star is printed as R∗, and R^{n} is printed as Rn . ...... vs. \hide, 18. SliTEX, 12 space commands, ignored by type checker, 24.

The Book - GitHub
for styling a complex XML document into a PDF with SILE. ... TeX and InDesign, but seeks to be more flexible, extensible and programmable than .... In Chapter 10, we'll look at how the docbook class works, and how you can define processing.

Simulating the Ionosphere - GitHub
Sep 30, 2009 - DEFINITION: Approximating measurements at intermediate scales/positions from scattered measurements. We have sparse measurements.

Measuring The Beam - GitHub
Nominal beam model E accounts for the bulk of the DDE. ... Example: 3C147 field, dE-phase solutions as a ... solutions, but little reduction in imaging artefacts.

The Coco Framework - GitHub
Aug 10, 2017 - failure. In a consortium of banks, members could be large, global, systemically important financial institutions (GSIFIs). ... End users, such as a bank's customers, do not have an identity in the Coco network and cannot transact .....

The Enchiridion - Higginson - GitHub
This pdf was compiled on 8 Oct 2015 .... with nature in this respect, you will be elated with some reason; for you will be elated at some good of your own. ..... you, but also the value of proper courtesy toward your host. Thirty-Seven. If you have .

The Pythonic Way - GitHub
GvR makes a point: code is read more often than it is written, so readability counts. • Python is one of the few languages with a style guide. (PEP-8) since there is ...

The fuzz Manual - GitHub
cations and check them for compliance with the Z scope and type rules. ... For information about Z, and a description of the scope and type rules used by the fuzz ...

Setting the Scene - GitHub
... equations. ○ 4GC: Statistical analysis of the residuals ... Proven software now exists (OMS, WSRT) ... Application (aw-projection vs facet imaging). ○ Topic ...

The Adventure - GitHub
The fourth rulebook in the series is the MASTER ...... the study. In such a case, any attempt at an ability that requires prior learning will result in an ...... Theology. CHA 2+, VIT 5+, MAG 3+. Qualification Test: To qualify for a trade, the charac

The User Manual - GitHub
Defined Wireless Networking Experiments 2017 ..... 1.7.3 Encryption. Mininet-WiFi supports all the common wireless security protocols, such as WEP (Wired Equivalent. Privacy), WPA (Wi-Fi Protected Access) and WPA2. ..... mac80211_hwsim practical exam

The future - GitHub
Domain-specific abstraction. Direct mapping to ... remember to free memcpy(strings[s], buf, i); ..... People want stability and 100% compatibility. – With significant ...

The Enchiridion - Rolleston - GitHub
... the GNU GPLv2 and can be found online at ... This pdf was compiled on 8 Oct 2015 ... and that to miss what you desire is unfortunate, but it is mis- fortune to ...

The Enchiridion - Matheson - GitHub
The LATEX source for this project is licensed under the GNU GPLv2 and can be found online at github.com/mikepierce/Enchiridion. This pdf was compiled on 8 ...

the accessibility cheatsheet - GitHub
Jun 2, 2015 - 2 - “Operable” - User interface components and navigation must be ... Lay out your HTML the way the page is inteaded to be read and, where ...