Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mwemu — محاكي أجهزة x86 مكتوب بلغة Rust النقية ومحاكي عمليات ويندوز لتحليل البرمجيات الخبيثة، ومحاكاة الشِل كود، وفك تغليف الحمولات. يدعم الملفات التنفيذية PE ذات 32/64 بت، وMetasploit، وCobalt Strike، وعائلات البرمجيات الخبيثة المعقدة. | Kitploit
أدوات/GitHubGitHub/mwemuorg/mwemu
أطر الاستغلالالهندسة العكسيةشيل كودتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHubmwemuorg/mwemu

mwemu

محاكي أجهزة x86 مكتوب بلغة Rust النقية ومحاكي عمليات ويندوز لتحليل البرمجيات الخبيثة، ومحاكاة الشِل كود، وفك تغليف الحمولات. يدعم الملفات التنفيذية PE ذات 32/64 بت، وMetasploit، وCobalt Strike، وعائلات البرمجيات الخبيثة المعقدة.

عرض المستودع
313447منذ 3 أيامتمت المراجعة من قبل Kitploit
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

MWEmu

CI mwemu crates.io libmwemu crates.io Docs.rs PyPI License: GPL v3 MSRV

الوثائق الرسمية

mwemu.github.io

ما هذا؟

إنه محاكي أجهزة + محاكي عمليات نظام تشغيل مطبق بالكامل بلغة رست.

هذا النهج مناسب جدًا لتحليل البرامج الضارة وأشياء أخرى (PE، شيلكود، إلخ)

نظام التشغيل هو ويندوز بشكل أساسي، يحاكي عملية ويندوز، مع دعم أساسي جدًا للينكس.

الأجهزة هي x86 32/64 بت، وهي سريعة وموثوقة.

MWEMU Logo

ثلاث طرق لاستخدام البرنامج

  • سطر أوامر mwemu https://github.com/mwemuorg/mwemu
  • حزمة libmwemu https://crates.io/crates/libmwemu
  • pymwemu https://pypi.org/project/pymwemu/

ملاحظة حول scemu

تمت إعادة تسمية المشروع من scemu إلى mwemu.

بعض الفيديوهات

r2con2025 استخدام radare2 من mwemu لإجراء تحليل ثابت وتصور داخل لحظة محاكاة.

بعض العروض التوضيحية

الميزات

  • 📦 أمان رست، جيد لمحاكاة البرامج الضارة.

    • جميع التبعيات بلغة رست.
  • ⚡ محاكاة سريعة جدًا

    • المعايير
    • 25,767,432 تعليمة/ثانية
    • 680,000 تعليمة/ثانية عند طباعة كل تعليمة باستخدام -vv.
    • اختبر بنفسك: time mwemu -f test/exe64win_enigma.bin -6 -v -c 20000000 --cmd q
  • مدعوم بمكتبة فك التجميع الرائعة iced-x86 رست.

  • أداة سطر أوامر، مكتبة رست، ومكتبة بايثون.

  • كاشف التكرار.

  • تتبع الذاكرة والمسجلات.

  • ملون.

  • التوقف عند لحظة محددة واستكشاف الحالة أو تعديلها.

  • 339 تعليمة CPU منفذة.

  • 260 دالة winapi 32 بت منفذة من 15 dll.

  • 204 دالة winapi 64 بت منفذة من 10 dll.

  • جميع استدعاءات نظام لينكس.

  • سلاسل SEH.

  • معالج استثناء موجه.

  • هياكل PEB و TEB.

  • الربط الديناميكي.

  • ربط IAT.

  • التحميل المؤجل.

  • مخصص الذاكرة.

  • التفاعل مع int3.

  • cpuid غير مصحح.

  • محاكاة شيلكود 32 بت و 64 بت.

  • محاكاة ملفات تنفيذية pe32 و pe64.

  • محاكاة كاملة مع حمولات معروفة:

    • شيلكود metasploit.
    • مشفرات metasploit.
    • كوبالت سترايك.
    • شيلجن.
    • guloader (ليس بالكامل حتى الآن، لكنه يصل أبعد من المصحح)
    • مارز ستييلر pe32.
    • بامبلبي.
  • محاكاة جزئية مع وظائف برامج ضارة معقدة:

    • guloader
    • xloader
    • دانابوت

pymwemu مقابل البرامج الضارة

  • راكون، فك تشفير السلاسل
  • فيدار، فك تشفير السلاسل
  • xloader، فك تشفير كلي، توليد مفاتيح، تشفير بناء URL.
  • لوكيبوت، إزالة تشويش API
  • مارز فك التعبئة والحصول على مؤشرات الاختراق
  • شيكاتا فك التشفير والحصول على مؤشرات الاختراق
  • دانابوت فك تشفير السلاسل
  • زيلودر فك تشفير السلاسل
  • بامبلبي فك التعبئة بعد محاكاة 25,515,274,634 تعليمة.
  • محمل إنغما إزالة تشويش API وفك تشفير الإسقاط
  • فك تعبئة باغسليب
  • فك تشفير bss gozi ومتنبئ DGA.

التقاط لحظة محاكاة

أثناء المحاكاة، يمكنك رؤية عدد تعليمات وحدة المعالجة المركزية التي تمت محاكاتها، وهو معرف فريد للحظة المحاكاة.

باستخدام علم -c، يمكنك إيقاف المحاكاة في لحظة محددة وتفقد ما يحدث باستخدام وحدة التحكم.

الاستخدام

root@kitploit:~
MWEMU emulator for malware 0.7.11
@sha0coder

USAGE:
    mwemu [FLAGS] [OPTIONS]

FLAGS:
    -6, --64bits         enable 64bits architecture emulation
        --banzai         skip unimplemented instructions, and keep up emulating what can be emulated
        --flags          trace the flags hex value in every instruction.
    -F, --fpu            trace the fpu states.
    -h, --handle         handle Ctrl+C to spawn console
        --help           Prints help information
    -l, --loops          show loop interations, it is slow.
    -m, --memory         trace all the memory accesses read and write.
    -n, --nocolors       print without colors for redirectin to a file >out
    -r, --regs           print the register values in every step.
    -p, --stack_trace    trace stack on push/pop
    -t, --test           test mode
        --version        Prints version information
    -v, --verbose        -vv for view the assembly, -v only messages, without verbose only see the api calls and goes
                         faster

OPTIONS:
    -A, --args <ARGS>                  provide arguments to the EXE like: --args '"aa" "bb"'
        --cmd <COMMAND>                launch a console command
    -b, --base <ADDRESS>               set base address for code
    -c, --console <NUMBER>             select in which moment will spawn the console to inspect.
    -C, --console_addr <ADDRESS>       spawn console on first eip = address
    -d, --dump <FILE>                  load from dump.
    -a, --entry <ADDRESS>              entry point of the shellcode, by default starts from the beginning.
    -e, --exit <POSITION>              exit position of the shellcode
    -f, --filename <FILE>              set the shellcode binary file.
    -i, --inspect <DIRECTION>          monitor memory like: -i 'dword ptr [ebp + 0x24]
        --iso <ISO>                    extract genuine system32 DLLs from a Windows ISO and use them as the maps folder, e.g. --iso ~/Downloads/win11.iso
    -L, --log <LOG_FILENAME>           log output to file
    -M, --maps <PATH>                  select the memory maps folder
        --mxcsr <MXCSR>                set mxcsr register
        --r10 <R10>                    set r10 register
        --r11 <R11>                    set r11 register
        --r12 <R12>                    set r12 register
        --r13 <R13>                    set r13 register
        --r14 <R14>                    set r14 register
        --r15 <R15>                    set r15 register
        --r8 <R8>                      set r8 register
        --r9 <R9>                      set r9 register
        --rax <RAX>                    set rax register
        --rbp <RBP>                    set rbp register
        --rbx <RBX>                    set rbx register
        --rcx <RCX>                    set rcx register
        --rdi <RDI>                    set rdi register
        --rdx <RDX>                    set rdx register
    -R, --reg <REGISTER1,REGISTER2>    trace a specific register in every step, value and content
        --rflags <RFLAGS>              set rflags register
        --rsi <RSI>                    set rsi register
        --rsp <RSP>                    set rsp register
    -x, --script <SCRIPT>              launch an emulation script, see scripts_examples folder
        --stack_address <ADDRESS>      set stack address
    -s, --string <ADDRESS>             monitor string on a specific address
    -T, --trace <TRACE_FILENAME>       output trace to specified file
    -S, --trace_start <TRACE_START>    start trace at specified position
    -V, --verbose_at <NUMBER>          start displaying assembly at specific position (is like -vv enabled in specific
                                       moment)

أمثلة سطر الأوامر

64 بت يتطلب العلم -6، و -vv لعرض لغة التجميع، و -c لفتح وحدة التحكم في لحظة محددة:

root@kitploit:~
cargo run --release -- -f /tmp/shellcode.bin -6 -vv -c 19291
cargo run --release -- -f /bin/ls -6 -A '"-l"' -v 
cargo run --release -- -f calc.exe -6 --winver win11
cargo run --release -- -f calc.exe -6 --winver win11 --syscall-mode

الاختبار

make tests

بعض حالات الاستخدام

يقوم mwemu بمحاكاة شيلكود بسيط يكتشف مقاطعة execve(). لاحظ أنني أعدت تسمية هذه الأداة من scemu إلى mwemu (في الإيطالية scemu كلمة سيئة) استكشاف شيلكود أساسي

نختار السطر للتوقف وفحص الذاكرة. فحص شيلكود أساسي

بعد محاكاة ما يقرب من 2 مليون تعليمة من GuLoader win32 في لينكس، مع تزييف cpuid's وحيل أخرى في الطريق، يصل إلى sigtrap لإرباك المصححات. معالجات الاستثناء

مثال على تفريغ الذاكرة في محمل API. معالجات الاستثناء

يوجد العديد من الخرائط افتراضيًا، ويمكن إنشاء المزيد باستخدام واجهات برمجة التطبيقات مثل LoadLibraryA أو يدويًا من وحدة التحكم.

الخرائط

محاكاة شيلكود ويندوز أساسي يعتمد على LdrLoadDll() يطبع رسالة: مربع رسالة

تسمح وحدة التحكم بعرض وتحرير الحالة الحالية لوحدة المعالجة المركزية:

root@kitploit:~
--- console ---
=>h
--- help ---
q ...................... quit
cls .................... clear screen
h ...................... help
s ...................... stack
v ...................... vars
r ...................... register show all
r reg .................. show reg
rc ..................... register change
f ...................... show all flags
fc ..................... clear all flags
fz ..................... toggle flag zero
fs ..................... toggle flag sign
c ...................... continue
ba ..................... breakpoint on address
bi ..................... breakpoint on instruction number
bmr .................... breakpoint on read memory
bmw .................... breakpoint on write memory
bc ..................... clear breakpoint
n ...................... next instruction
eip .................... change eip
push ................... push dword to the stack
pop .................... pop dword from stack
fpu .................... fpu view
md5 .................... check the md5 of a memory map
seh .................... view SEH
veh .................... view vectored execption pointer
m ...................... memory maps
ma ..................... memory allocs
mc ..................... memory create map
mn ..................... memory name of an address
ml ..................... memory load file content to map
mr ..................... memory read, speficy ie: dword ptr [esi]
mw ..................... memory read, speficy ie: dword ptr [esi]  and then: 1af
md ..................... memory dump
mrd .................... memory read dwords
mds .................... memory dump string
mdw .................... memory dump wide string
mdd .................... memory dump to disk
mt ..................... memory test
ss ..................... search string
sb ..................... search bytes
sba .................... search bytes in all the maps
ssa .................... search string in all the maps
ll ..................... linked list walk
d ...................... dissasemble
dt ..................... dump structure
enter .................. step into

محمل واجهة برمجة تطبيقات كوبالت سترايك هو نفس محمل metasploit، محاكاته: محمل واجهة برمجة تطبيقات

تم استدعاء واجهة برمجة تطبيقات كوبالت سترايك: كوبالت سترايك

تم استدعاء واجهة برمجة تطبيقات rshell لـ Metasploit: msf rshell

مشفر SGN لـ Metasploit يستخدم القليل من FPU لإخفاء تعدد الأشكال: مشفر msf

مشفر shikata-ga-nai لـ Metasploit الذي يبدأ أيضًا بـ FPU: shikata

عرض هيكل PEB:

root@kitploit:~
=>dt
structure=>peb
address=>0x7ffdf000
PEB {
    reserved1: [
        0x0,
        0x0,
    ],
    being_debugged: 0x0,
    reserved2: 0x0,
    reserved3: [
        0xffffffff,
        0x400000,
    ],
    ldr: 0x77647880,
    process_parameters: 0x2c1118,
    reserved4: [
        0x0,
        0x2c0000,
        0x77647380,
    ],
    alt_thunk_list_ptr: 0x0,
    reserved5: 0x0,
    reserved6: 0x6,
    reserved7: 0x773cd568,
    reserved8: 0x0,
    alt_thunk_list_ptr_32: 0x0,
    reserved9: [
        0x0,
...

عرض هيكل PEB_LDR_DATA:

root@kitploit:~
=>dt
structure=>PEB_LDR_DATA
address=>0x77647880
PebLdrData {
    length: 0x30,
    initializated: 0x1,
    sshandle: 0x0,
    in_load_order_module_list: ListEntry {
        flink: 0x2c18b8,
        blink: 0x2cff48,
    },
    in_memory_order_module_list: ListEntry {
        flink: 0x2c18c0,
        blink: 0x2cff50,
    },
    in_initialization_order_module_list: ListEntry {
        flink: 0x2c1958,
        blink: 0x2d00d0,
    },
    entry_in_progress: ListEntry {
        flink: 0x0,
        blink: 0x0,
    },
}
=>

عرض LDR_DATA_TABLE_ENTRY واسم الوحدة الأولى

root@kitploit:~
=>dt
structure=>LDR_DATA_TABLE_ENTRY
address=>0x2c18c0
LdrDataTableEntry {
    reserved1: [
        0x2c1950,
        0x77647894,
    ],
    in_memory_order_module_links: ListEntry {
        flink: 0x0,
        blink: 0x0,
    },
    reserved2: [
        0x0,
        0x400000,
    ],
    dll_base: 0x4014e0,
    entry_point: 0x1d000,
    reserved3: 0x40003e,
    full_dll_name: 0x2c1716,
    reserved4: [
        0x0,
        0x0,
        0x0,
        0x0,
        0x0,
        0x0,
        0x0,
        0x0,
    ],
    reserved5: [
        0x17440012,
        0x4000002c,
        0xffff0000,
    ],
    checksum: 0x1d6cffff,
    reserved6: 0xa640002c,
    time_date_stamp: 0xcdf27764,
}
=>

برنامج ضار يخفي شيئًا في استثناء

root@kitploit:~
3307726 0x4f9673: push  ebp
3307727 0x4f9674: push  edx
3307728 0x4f9675: push  eax
3307729 0x4f9676: push  ecx
3307730 0x4f9677: push  ecx
3307731 0x4f9678: push  4F96F4h
3307732 0x4f967d: push  dword ptr fs:[0]
Reading SEH 0x0
-------
3307733 0x4f9684: mov   eax,[51068Ch]
--- console ---
=>

دعنا نفحص هياكل الاستثناء:

root@kitploit:~
--- console ---
=>r esp
        esp: 0x22de98
=>dt
structure=>cppeh_record
address=>0x22de98
CppEhRecord {
    old_esp: 0x0,
    exc_ptr: 0x4f96f4,
    next: 0xfffffffe,
    exception_handler: 0xfffffffe,
    scope_table: PScopeTableEntry {
        enclosing_level: 0x278,
        filter_func: 0x51068c,
        handler_func: 0x288,
    },
    try_level: 0x288,
}
=>

وهنا لدينا روتين الخطأ 0x4f96f4 والفلتر 0x51068c

تاريخ النجوم

Star History Chart

تنزيل الأداة