All Projects → maiyao1988 → Deobf

maiyao1988 / Deobf

An arm32 ollvm like deofuscator,aim to remove obfuscation made by ollvm like compiler

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deobf

Awesome Cpus
All CPU and MCU documentation in one place
Stars: ✭ 1,602 (+1060.87%)
Mutual labels:  arm
Libfacedetection
An open source library for face detection in images. The face detection speed can reach 1000FPS.
Stars: ✭ 10,852 (+7763.77%)
Mutual labels:  arm
Ipfs Rpi
IPFS installer for the Raspberry Pi and other ARM-based devices.
Stars: ✭ 130 (-5.8%)
Mutual labels:  arm
Shimonbox
Semi-automatically generated 3D printable cases for development boards using OpenSCAD
Stars: ✭ 120 (-13.04%)
Mutual labels:  arm
Awesome Arm Exploitation
A collection of awesome videos, articles, books and resources about ARM exploitation.
Stars: ✭ 125 (-9.42%)
Mutual labels:  arm
Phantomjs On Raspberry
Phantomjs for raspberry pi (armv6/armv7) and aarch64/arm64
Stars: ✭ 128 (-7.25%)
Mutual labels:  arm
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+7871.01%)
Mutual labels:  arm
Openfpgaduino
All open source file and project for OpenFPGAduino project
Stars: ✭ 137 (-0.72%)
Mutual labels:  arm
Qpcpp
QP/C++ real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 124 (-10.14%)
Mutual labels:  arm
Msm8994 8992 Nt Arm64 Drivers
Desktop Windows (ARM64) driver collection for MSM8992/8994 SoCs.
Stars: ✭ 132 (-4.35%)
Mutual labels:  arm
Gitlab
GitLab CE (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 121 (-12.32%)
Mutual labels:  arm
Tina
Tina is a teeny tiny, header only, coroutine and job library.
Stars: ✭ 125 (-9.42%)
Mutual labels:  arm
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+1223.91%)
Mutual labels:  arm
Docker Homebridge
Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
Stars: ✭ 1,847 (+1238.41%)
Mutual labels:  arm
Cargo Flash
a cargo extension for programming microcontrollers
Stars: ✭ 134 (-2.9%)
Mutual labels:  arm
Packer Builder Arm
Packer plugin to build ARM images
Stars: ✭ 117 (-15.22%)
Mutual labels:  arm
Jevois
JeVois smart machine vision framework
Stars: ✭ 128 (-7.25%)
Mutual labels:  arm
Arm exploitation
Exploitation on ARM-based Systems (Troopers18)
Stars: ✭ 139 (+0.72%)
Mutual labels:  arm
Amie
A Minimalist Instruction Extender for the ARM architecture and IDA Pro
Stars: ✭ 136 (-1.45%)
Mutual labels:  arm
Embedded Ai.bench
benchmark for embededded-ai deep learning inference engines, such as NCNN / TNN / MNN / TensorFlow Lite etc.
Stars: ✭ 131 (-5.07%)
Mutual labels:  arm

deobf

An experimental ollvm like deofuscator,aim to remove obfuscation made by ollvm like compiler, exspecially FLA to make reverse engineering easier... 中文原理说明

Usage

In the future this will be possible through pypi.

Make sure you are using python 3.7.

  1. Clone the repository
  2. Run pip install -r requirements.txt

If you have trouble getting the keystone-engine dependency on Windows (as I did):

  1. Clone their repository
  2. Open a terminal in bindings/python
  3. Run python setup.py install (Make sure you are using python 3.7)
  4. Download their Windows - Core engine package here for your python arch.
  5. Put the keystone.dll in C:\location_to_python\Lib\site-packages\keystone\.

3.run python deobf.py <elf_path> <elf_out_path> <trace_path> <func_start_hex> <func_end_hex> <is_thumb>

  • <elf_path> the input ELF to remove obfuscate
  • <elf_out_path> output ELF
  • <trace_path> the trace file path of the target function, which contains the instruction trace, can be collect by ida trace break point.there is an example file tests/bin/data/ins-url.trc
  • <func_start_hex> the start offset of the target function
  • <func_end_hex> the end offset of the target function
  • <is_thumb> 0/1 is the target function is thumb
  • <type> [optional] the detector type, not passing is ok for many case

example python deobf.py tests/bin/libmakeurl2.4.9.so url.so tests/data/ins-url.trc 0x0000342C 0x00003668 1

  • This should deobf libmakeurl2.4.9.so JNI_ONLoad, you can see the output url.so JNI_ONLoad, has been simplified.

Dependencies

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