Giter VIP home page Giter VIP logo

addi's Introduction

Advanced dalvik dynamic instrumentation

Il framework ADDI è composto da due 'side', uno nativo e uno Java. La parte nativa si occupa di gestire e impostare dinamicamente i Dalvik-hook a run-time, gestire l'interfaccia dei comandi, caricare a run-time i file DEX, etc... La parte Java contiene la definizione degli hook, il codice da eseguire quando scatta un hook e le classi che permettono la creazione dei log e dei report di esecuzione, inoltre sono offerte delle API (come AndroidLib) per comunicare con la parte nativa.

Struttura File

  1. dalvikhook/jni ---> framework (crea lib statica)

    1. +dalvikhook/jni/dexstuff.c ---> dlsym su funzioni dalvik, dex support
    2. +dalvikhook/jni/dalvik_hook.c ---> controllo inline hook
  2. examples/dynsec/jni ---> crea il .so da caricare in memoria

    1. +examples/JavaModule/ ---> Progetto Eclipse dei moduli java
    2. +examples/JavaModule/FakeContext/bin/classes.dex ---> DEX da caricare a runtime
  3. AndroidLib/TesiDDI ---> API framework, android lib

  4. scripts/ ---> helper scripts. I .sh citati sotto sono in questa dir

Cosa serve

Installazione

  1. Compilare Adbi e copiare il binario "hijack" nella cartella "scripts"
  2. cd scripts; ./pushfiles.sh

Esecuzione

  1. adb shell
  2. cd /data/local/tmp;
  3. chmod 775 initenv.sh; % solo una volta per ogni riavvio
  4. ./initenv.sh % solo una volta per ogni riavvio
  5. ./runhijack.sh % seguire l' help

Log

Ogni run crea un file di log (strmon.log). di default ad ogni run se trova il file fa il rotate.

Compilazione e Tips

Per compilare utilizzare il toolchain di android-ndk. Se tra un run e un altro si vuole cambiare il file .dex, ricordarsi di eliminare il vecchio in /data/dalvik-cache. impostare checkjni e checkmalloc con setprop per debug. Per ulteriori info guardare nella cartella "docs/"

addi's People

Contributors

androsex avatar sontek avatar steelcode avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.