All Projects → corellium → Corellium Android Unpacking

corellium / Corellium Android Unpacking

Android Unpacking Automation using Corellium Devices

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Corellium Android Unpacking

Awesome Reverse Engineering
Reverse Engineering Resources About All Platforms(Windows/Linux/macOS/Android/iOS/IoT) And Every Aspect! (More than 3500 open source tools and 2300 posts&videos)
Stars: ✭ 2,954 (+2660.75%)
Mutual labels:  frida, reverse-engineering
Frida Scripts
A collection of my Frida.re instrumentation scripts to facilitate reverse engineering of mobile apps.
Stars: ✭ 665 (+521.5%)
Mutual labels:  frida, reverse-engineering
Frick
frick - aka the first debugger built on top of frida
Stars: ✭ 267 (+149.53%)
Mutual labels:  frida, reverse-engineering
Frida Android Scripts
Some frida scripts
Stars: ✭ 124 (+15.89%)
Mutual labels:  frida, reverse-engineering
Appmon
Documentation:
Stars: ✭ 1,157 (+981.31%)
Mutual labels:  frida, reverse-engineering
Luject
🍹A static injector of dynamic library for application (android, iphoneos, macOS, windows, linux)
Stars: ✭ 203 (+89.72%)
Mutual labels:  frida, reverse-engineering
Jnitrace
A Frida based tool that traces usage of the JNI API in Android apps.
Stars: ✭ 534 (+399.07%)
Mutual labels:  frida, reverse-engineering
Magisk Frida
🔐 Run frida-server on boot with Magisk, always up-to-date
Stars: ✭ 144 (+34.58%)
Mutual labels:  frida, reverse-engineering
Frida Snippets
Hand-crafted Frida examples
Stars: ✭ 1,081 (+910.28%)
Mutual labels:  frida, reverse-engineering
Dwarf
Full featured multi arch/os debugger built on top of PyQt5 and frida
Stars: ✭ 916 (+756.07%)
Mutual labels:  frida, reverse-engineering
Dexcalibur
[Official] Android reverse engineering tool focused on dynamic instrumentation automation. Powered by Frida. It disassembles dex, analyzes it statically, generates hooks, discovers reflected methods, stores intercepted data and does new things from it. Its aim is to be an all-in-one Android reverse engineering platform.
Stars: ✭ 512 (+378.5%)
Mutual labels:  frida, reverse-engineering
Iostrace
alternative strace for iOS device(64bit) on frida
Stars: ✭ 84 (-21.5%)
Mutual labels:  frida, reverse-engineering
Qbdi
A Dynamic Binary Instrumentation framework based on LLVM.
Stars: ✭ 801 (+648.6%)
Mutual labels:  frida, reverse-engineering
Rms Runtime Mobile Security
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime
Stars: ✭ 1,194 (+1015.89%)
Mutual labels:  frida, reverse-engineering
Jnitrace Engine
Engine used by jnitrace to intercept JNI API calls.
Stars: ✭ 94 (-12.15%)
Mutual labels:  frida, reverse-engineering
Xpcspy
Bidirectional XPC message interception and more. Powered by Frida
Stars: ✭ 101 (-5.61%)
Mutual labels:  frida
S2e
S2E: A platform for multi-path program analysis with selective symbolic execution.
Stars: ✭ 102 (-4.67%)
Mutual labels:  reverse-engineering
Jebscripts
A set of JEB Python/Java scripts for reverse engineering Android obfuscated code
Stars: ✭ 100 (-6.54%)
Mutual labels:  reverse-engineering
Ngrev
Tool for reverse engineering of Angular applications
Stars: ✭ 1,368 (+1178.5%)
Mutual labels:  reverse-engineering
Reverse Engineering Bluetooth Protocols
Intercepting Bluetooth device communication and simulating packet responses of an iPhone from a Raspberry Pi 3
Stars: ✭ 105 (-1.87%)
Mutual labels:  reverse-engineering

Android Unpacking Automation

A bit of automation strung up around an Android 7.1.2 device on Corellium, used to defeating (most) packers on the market.

Description

This method targets art::DexFile::OpenMemory method for Android 7.1.12 while utilizing a Corellium device to provide an always-on and always-ready device for unpacking. While this current demo only utilized one device, this can essentially be scaled up transparently to the front end as all the "tasks" are handled by nsqd.

The backend sets up a vpn tunnel to the Corellium server, which auto-restarts upon failure, and opens up a reverse proxy to the docker network. This is then utilized by the unpacker-worker which uses it to communicate transparently with the device.

Building

Setup

  • Have a corellium account with a device already created and booted up (7.1.2 eng build)
  • Replace backend/vpn-profile.ovpn with the OpenVPN profile from your Corellium device
  • Fill out .env file like so;
INSTANCE_ID=7cc6ca2a-6622-479b-aa4b-8394aa9d9475-instance-for-unpacker
CORELLIUM_URL=testinstance.corellium.com
CORELLIUM_USERNAME=unpackeruser
CORELLIUM_PASSWORD=unpackerpassword

GIN_MODE=debug
SERVE_PORT=3000
ADB_PROXY=5555

Docker

Then simply use docker-compose build followed by docker-compose up.

Usage

Hitting the backend api with an apk will result in it queing up a binary to get unpacked; curl 0.0.0.0:3000/unpack/SHA1_OF_APK --data-binary @/path/to/apk

After a minute or two, check back for the asset status; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/status

Then when assets of interest are found, download them; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/SHA1_OF_ASSET

Disclaimer

This presentation and code are meant for education and research purposes only. Do as you please with it, but accept any and all responsibility for your actions. The tools were created specifically to assist in malware reversing and analysis - be careful. They have not been hardened for external public consumption, it is likely not a smart idea to expose a service like this to the public internet without thinking long and hard about it.

License

Copyright 2020 Tim 'diff' Strazzere <[email protected]>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].