All Projects → Ayrx → Jnianalyzer

Ayrx / Jnianalyzer

Analysis scripts for Ghidra to work with Android NDK libraries.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jnianalyzer

Imhex
🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
Stars: ✭ 11,744 (+9075%)
Mutual labels:  reverse-engineering
Malwarelab vm Setup
Setup scripts for my Malware Analysis VMs
Stars: ✭ 126 (-1.56%)
Mutual labels:  reverse-engineering
Awesome Mobile Security
An effort to build a single place for all useful android and iOS security related stuff. All references and tools belong to their respective owners. I'm just maintaining it.
Stars: ✭ 1,837 (+1335.16%)
Mutual labels:  reverse-engineering
Ctftool
Interactive CTF Exploration Tool
Stars: ✭ 1,563 (+1121.09%)
Mutual labels:  reverse-engineering
Openmf Archived
Abandoned C++ version. Contains useful format utils and parsers.
Stars: ✭ 123 (-3.91%)
Mutual labels:  reverse-engineering
Awesome Hacking Resources
A collection of hacking / penetration testing resources to make you better!
Stars: ✭ 11,466 (+8857.81%)
Mutual labels:  reverse-engineering
Capa
The FLARE team's open-source tool to identify capabilities in executable files.
Stars: ✭ 1,981 (+1447.66%)
Mutual labels:  reverse-engineering
Elf Strings
elf-strings will programmatically read an ELF binary's string sections within a given binary. This is meant to be much like the strings UNIX utility, however is purpose built for ELF binaries.
Stars: ✭ 127 (-0.78%)
Mutual labels:  reverse-engineering
Frida Android Scripts
Some frida scripts
Stars: ✭ 124 (-3.12%)
Mutual labels:  reverse-engineering
Despector
Java / Kotlin Decompiler and AST Library
Stars: ✭ 126 (-1.56%)
Mutual labels:  reverse-engineering
Gamemaniptutorial
A tutorial for manipulating the rendering of a game (generally to increase its quality) if you only have a binary available
Stars: ✭ 119 (-7.03%)
Mutual labels:  reverse-engineering
Wechatspellbook
Wechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。
Stars: ✭ 1,584 (+1137.5%)
Mutual labels:  reverse-engineering
Poketcg
Disassembly of Pokémon TCG
Stars: ✭ 125 (-2.34%)
Mutual labels:  reverse-engineering
Iaito
This project has been moved to:
Stars: ✭ 1,516 (+1084.38%)
Mutual labels:  reverse-engineering
Dnspy.extension.holly
A dnSpy extension to aid reversing of obfuscated assemblies
Stars: ✭ 127 (-0.78%)
Mutual labels:  reverse-engineering
Sojobo
A binary analysis framework
Stars: ✭ 116 (-9.37%)
Mutual labels:  reverse-engineering
Sonyheadphonesclient
A {Windows, macOS, Linux} client recreating the functionality of the Sony Headphones app
Stars: ✭ 123 (-3.91%)
Mutual labels:  reverse-engineering
Pref
Portable Reverse Engineering Framework
Stars: ✭ 127 (-0.78%)
Mutual labels:  reverse-engineering
Alive reversing
Re-implementation of Abe's Exoddus and Abe's Oddysee
Stars: ✭ 127 (-0.78%)
Mutual labels:  reverse-engineering
Ghidra bridge
Python 3 bridge to Ghidra's Python scripting
Stars: ✭ 125 (-2.34%)
Mutual labels:  reverse-engineering

JNIAnalyzer

This Ghidra extension contains various scripts that assists in analyzing Android NDK applications.

How to install the extension

  1. Clone this repository (git clone https://github.com/Ayrx/JNIAnalyzer.git)
  2. In the cloned repository folder, use the command gradle -PGHIDRA_INSTALL_DIR=<YOUR GHIDRA INSTALLATION DIRECTORY>; specifying your Ghidra installation directory
  3. In Ghidra, at the Projects window, click File -> Install Extensions... and chose the .zip file present in the JNIAnalyzer/dist folder
  4. Restart Ghidra

Scripts

JNIAnalyzer.java

This script uses the JADX decompiler to extract the function signature of all native methods in an APK file and applies the signature to all matching fnuctions in the binary.

Running the JNIAnalyzer.java extension script will overwrite any function return types, parameter names and parameter types that was already in place. If you want the script to skip a specific function, annotate it with JNIAnalyzer:IGNORE in the comment.

Write-up: Ghidra Plugin: JNIAnalyzer

TraceRegisterNatives.java

This script parses the output of trace_registernatives applies the results to the Ghidra project.

Write up coming soon.

RegisterNatives.java (Experimental)

This script looks for calls to RegisterNatives within a function and sets the JNINativeMethod structure type in the appropriate locations within the binary. Ghidra's P-Code API is used to find references to RegisterNatives as the function is usually resolved at runtime.

This script is currently very much experimental / use at your own risk.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].