
PE to shellcode

🛠️ PE फ़ाइलों (EXE/DLL) को position-independent shellcode में बदलने के लिए एक शक्तिशाली उपकरण।
pip install pefile lznt1
python clematis.py -f <PE_file> -o <output_file> [-g <true/false>] [-c <true/false>] [-p <parameters>]
# Show help information
python clematis.py -h
# Basic usage
python clematis.py -f target.exe -o output.bin
# Disable obfuscation and compression
python clematis.py -f target.exe -o output.bin -g false -c false
# Pass arguments to target program
python clematis.py -f target.exe -o output.bin -p arg1 arg2
python clematis.py -f target.exe -o output.bin -p "arg1 arg2"
- 🛡️ Unable to perform process injection (AV/EDR/XDR blocking)
- 🔄 Executing golang programs in current process may cause blocking
- 💾 Memory leaks may occur after golang program execution
- ⚠️ Threads created by golang cannot be released!
- ✨ Convert golang programs to shellcode
- 🎯 Direct execution in current process
- ♻️ Automatic memory release after execution
- 🚀 Completely avoid golang-related memory issues
- 🔄 Reclaim all threads created by golang
2024-12-27
2024-12-28
संभावित DOT NET प्रोग्राम क्रैश ठीक किए गए (हो सकता है न हों)
IMAGE_DIRECTORY_ENTRY_EXCEPTION ( x64 ) के लिए हैंडलिंग जोड़ी गई
APIs को NTAPI उपयोग करने के लिए अपडेट किया गया

Clematis निम्नलिखित चरणों के माध्यम से PE फ़ाइलों को shellcode में बदलता है:
flowchart TD
A[START] --> B[Read PE file]
B --> C[Parse PE structure]
C --> D{Is there a command line argument?}
D -- TRUE --> E[Process command line arguments]
D -- FALSE --> F{Enable compression?}
E --> F
F -- TRUE --> G[LZNT1 compression]
F -- FALSE --> H{Enable obfuscation?}
G --> H
H -- TRUE --> I[Execute obfuscation processing]
H -- FALSE --> J[Generate shellcode]
I --> J
J --> K[Output result]
K --> L[END]
Issues और Pull Requests का स्वागत है!
| विवरण | डिफ़ॉल्ट | आवश्यक |
|---|
| -f | --file | कन्वर्ट करने के लिए PE फ़ाइल का पथ | true | |
| -o | --output | आउटपुट फ़ाइल नाम | true | |
| -g | --garble | Obfuscation सक्षम करें | true | false |
| -c | --compress | संपीड़न सक्षम करें | true | false |
| -p | --parameter | PE फ़ाइल को दिए जाने वाले निष्पादन पैरामीटर | false |
| पहले | अब |
|---|
VirtualAlloc | NtAllocateVirtualMemory |
VirtualProtect | NtProtectVirtualMemory |
VirtualFree | NtFreeVirtualMemory |
LoadLibrary | LdrLoadDll |
GetProcAddress | LdrGetProcedureAddress |
WaitForMultipleObjects | NtWaitForMultipleObjects |
CreateEvent | NtCreateEvent |
CloseHandle | NtClose |
SignalObjectAndWait | NtSignalAndWaitForSingleObject |
TerminateThread | NtTerminateThread |
SuspendThread | NtSuspendThread |
OpenThread | NtOpenThread |
ResumeThread | NtResumeThread |
GetContextThread | NtGetContextThread |
SetContextThread | NtSetContextThread |
| ... |
2025-1-1