https://github.com/tweksteen/oplzkwp
ELF obfuscator
https://github.com/tweksteen/oplzkwp
Last synced: over 1 year ago
JSON representation
ELF obfuscator
- Host: GitHub
- URL: https://github.com/tweksteen/oplzkwp
- Owner: tweksteen
- Created: 2015-05-04T07:18:20.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-08-14T02:02:16.000Z (almost 11 years ago)
- Last Synced: 2023-04-20T14:16:03.159Z (over 3 years ago)
- Language: C
- Size: 151 KB
- Stars: 53
- Watchers: 5
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-executable-packing - oplzkwp - Library for ELF obfuscation ; it uses PRESENT and blake244 to encrypt your payload on the fly. (:package: Packers / After 2010)
README
# Description
oplzkwp is a library for ELF obfuscation. It uses PRESENT and blake244 to
encrypt your payload on the fly. Only the functions that are currently
executed are decrypted in memory. Both Linux (x86) and Android (ARM) are
supported.
# How To
Modify payload.c to fit your needs. Constraints:
+ Each function starting with `_e_` will be encrypted and decrypted at
run-time.
+ Use `decrypt_and_call(next)` to call another `_e_` function. If the function
is currently called (e.g., reentrant), a regular call must be done.
+ Each functions needs to be page-aligned.
(see payload.c and `__attribute__((aligned(PAGE_SIZE))`).
+ The final executable must be compiled with `-fpie` (this is the default if
using the Makefile provided).
# Build
+ Linux, use `make`.
+ Android, use `make android` (You must have ndk-build setup).
The executable will be in ./libs/armebi/