All Projects → jnastarot → Furikuri

jnastarot / Furikuri

Licence: bsd-3-clause
(In dev)furikuri is framework for code protection

Projects that are alternatives of or similar to Furikuri

Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+2795.15%)
Mutual labels:  packer, reverse-engineering
Pyobfx
Python Obfuscator & Packer
Stars: ✭ 106 (+2.91%)
Mutual labels:  packer, obfuscator
.net Obfuscator
Lists of .NET Obfuscator (Free, Trial, Paid and Open Source )
Stars: ✭ 392 (+280.58%)
Mutual labels:  packer, obfuscator
Ollydbg Scripts
Unpacking scripts for Ollydbg.
Stars: ✭ 109 (+5.83%)
Mutual labels:  packer, reverse-engineering
Stcobfuscator
iOS全局自动化 代码混淆 工具!支持cocoapod组件代码一并 混淆,完美避开hardcode方法、静态库方法和系统库方法!
Stars: ✭ 740 (+618.45%)
Mutual labels:  obfuscator, reverse-engineering
Reverse Engineering
Reverse-Engineered Tools Count-106
Stars: ✭ 94 (-8.74%)
Mutual labels:  reverse-engineering
Packer Ubuntu 1804
This build has been moved - see README.md
Stars: ✭ 101 (-1.94%)
Mutual labels:  packer
Upx Visual Studio
Compile UPX 3.96 and belong librarys on Visual Studio! Source also include LZMA, UCL and zlib ✒️
Stars: ✭ 96 (-6.8%)
Mutual labels:  packer
Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-8.74%)
Mutual labels:  packer
S2e
S2E: A platform for multi-path program analysis with selective symbolic execution.
Stars: ✭ 102 (-0.97%)
Mutual labels:  reverse-engineering
Panopticon
A libre cross-platform disassembler.
Stars: ✭ 1,376 (+1235.92%)
Mutual labels:  reverse-engineering
Ngrev
Tool for reverse engineering of Angular applications
Stars: ✭ 1,368 (+1228.16%)
Mutual labels:  reverse-engineering
Lighthouse
A Code Coverage Explorer for Reverse Engineers
Stars: ✭ 1,348 (+1208.74%)
Mutual labels:  reverse-engineering
Flare Ida
IDA Pro utilities from FLARE team
Stars: ✭ 1,374 (+1233.98%)
Mutual labels:  reverse-engineering
Xil2cppdumper
IL2CppDumper writed in C++ by xia0
Stars: ✭ 97 (-5.83%)
Mutual labels:  reverse-engineering
Awesome Cryptocurrency Security
😎 Curated list about cryptocurrency security (reverse / exploit / fuzz..)
Stars: ✭ 102 (-0.97%)
Mutual labels:  reverse-engineering
Jnitrace Engine
Engine used by jnitrace to intercept JNI API calls.
Stars: ✭ 94 (-8.74%)
Mutual labels:  reverse-engineering
Ghidra Gekko Broadway Lang
Ghidra language definition for the Gekko and Broadway CPU variant used in the Nintendo GameCube and Nintendo Wii respectively
Stars: ✭ 98 (-4.85%)
Mutual labels:  reverse-engineering
Hexd
🔍 Colourful, human-friendly hexdump tool
Stars: ✭ 100 (-2.91%)
Mutual labels:  reverse-engineering
Tweakforwechatredenvelop
iOS微信自动抢红包&防撤回插件
Stars: ✭ 98 (-4.85%)
Mutual labels:  reverse-engineering

Furikuri

License Build status Build Status

Furikuri is protection framework what targeting on shellcode and executable files 
Supported x32 and x64 archs
  1. Obfuscation techniques
  2. Examples
  3. Compile
  4. Third party

Obfuscation techniques

Instruction mutation

Mutation of original instruction into series of other equivalent instructions

example:

 mov rcx, rax
 mov rdx, [rsp + 38h]
 call SomeFunc

becomes to :

 mov rdx, rax
 mov rcx, [rsp + 38h]
 push rcx
 mov rcx, rdx
 pop rdx
 call SomeFunc


Junk generation

Inserting assembler instructions with out any payload between "original" instructions

example:

 mov rcx, rax
 mov rdx, [rsp + 38h]
 call SomeFunc

becomes to :

 mov rdx, rdx
 mov rdx, r8
 mov rcx, rax
 push r8
 mov r8, 12345678h
 pop r8
 mov rdx, [rsp + 38h]
 call SomeFunc

Spaghetti code

Dividing original basic block of code on several but more smaller, through insertion jmp in middle of block to start of second of "new" block

example:

mov r10, [rax+20h]
mov eax, [rsp+98h]
mov [rsp+40h], eax
mov rax, [rsp+90h]
mov [rsp+38h], rax
mov eax, [rsp+88h]
mov [rsp+30h], eax
mov rax, [rsp+80h]
mov [rsp+28h], rax
mov [rsp+20h], r9d

becomes to :

mov r10, [rax+20h]
mov eax, [rsp+98h]
mov [rsp+40h], eax
mov rax, [rsp+90h]
mov [rsp+38h], rax
jmp l1:
...
...
...

l1 :
mov eax, [rsp+88h]
mov [rsp+30h], eax
mov rax, [rsp+80h]
mov [rsp+28h], rax
mov [rsp+20h], r9d


Bytecode obfuscation

Changes bytecode of instruction to another bytecode

example:

 48 8B CA mov rcx,rdx

becomes to :

 48 89 D1 mov rcx,rdx

Examples

shellcode obfuscation
executable obfuscation


Compile

  • Windows

    1. Requirements

      • Git Bush
      • Visual Studio 2019 (for now, but u can change runtime version and compile in on below versions)
    2. Clone repo and initialize submodules

      git clone https://github.com/jnastarot/furikuri.git
      cd furikuri
      git submodule update --init
      
    3. Open furikuri.sln and build it in Visual Studio

  • Linux

    TODO

Third Party

capstone
enma pe
fukutasm

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