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 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 18 Downloads 84 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(

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).

The IPython notebook - GitHub
tool chain to compile the notebook to a publishable PDF, has inspired me to .... I have tested the HTML outputs on my Galaxy S3 and S4, IPAD and Nexus7.

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 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.

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.

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

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 .....