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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/gmh5225/asm-obfuscator
أدوات دفاعيةالهندسة العكسيةمصممي الأخطاءتحليل الملفات الثنائية
GitHubgmh5225/asm-obfuscator

ASM-Obfuscator

يشوّش على كود التجميع x86-64 من خلال حقن التعليمات، والكود الزائد، وتشويش الثوابت، وفك التشفير أثناء وقت التشغيل، لإعاقة الهندسة العكسية ومكافحة التحليل.

عرض المستودع
742منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

ASM-Obfuscator

مُعقِّد متقدم لأكواد تجميع x86-64. License

الوصف

تُعد أداة تعقيد أكواد التجميع (Assembly Code Obfuscator) أداة قوية ومتعددة الاستخدامات صُممت لتعزيز أمان أكواد تجميع x86-64 لديك. وهي تحمي مشاريعك من الهندسة العكسية والتحليل من خلال توظيف مجموعة واسعة من تقنيات التعقيد وإجراءات مكافحة التحليل.

الميزات

  • حقن التعليمات: يحقن تسلسلات بايتات مخصصة قبل كل تعليمة تجميع لإرباك أدوات التفكيك.

  • العشوائية: يُدخل العشوائية في بنية الكود، مما يجعله أقل قابلية للتنبؤ.

  • كشف المصححات: يكتشف وجود المصححات أثناء تنفيذ الكود ويوظف إجراءات مضادة للتصحيح.

  • تقنيات مكافحة التحليل: يربك أدوات التحليل الديناميكي باستخدام التفرعات الشرطية وفحوصات التوقيت.

  • فك التشفير الديناميكي: يشفر أقسام الكود ويفك تشفيرها ديناميكيًا في وقت التشغيل، مما يزيد من التعقيد.

  • فك الضغط الديناميكي: يضغط أقسام الكود ويفك ضغطها ديناميكيًا، مما يخفي الطبيعة الحقيقية للكود.

  • تعقيد الثوابت: يعقّد الثوابت وقيم البيانات باستخدام تقنيات مثل XOR والتلاعب بالبتات.

  • إعادة تسمية المتغيرات: يعيد تسمية المتغيرات والسجلات، مما يجعل الكود أقل قابلية للقراءة البشرية.

  • إدراج الكود غير المرغوب: يُدرج أجزاءً من الكود غير المرغوب لزيادة تعقيد قاعدة الكود.

آلية العمل

1. حقن التعليمات

يتمثل جوهر عملية التعقيد في حقن تسلسلات بايتات مخصصة قبل كل تعليمة تجميع في ملف الكود. صُممت هذه التسلسلات البايتية بشكل استراتيجي لإرباك أدوات التفكيك والمحللين على حدٍّ سواء. دعنا نفحص هذه العملية بالتفصيل:

التعليمة الأصلية:

root@kitploit:~
4005d2:   55                      push   rbp

في الذاكرة (hex):

root@kitploit:~
0x55

بعد الحقن:

root@kitploit:~
400665:   eb 01                jmp    400668 <main+0x3>
400667:   b0 55                mov    al,0x55
400669:   eb 01                jmp    40066c <main+0x7>

في الذاكرة (hex):

root@kitploit:~
0xEB, 0x01, 0xB0, 0x55

فيما يلي تفصيل للتحويل:

  • تتجمّع التعليمة الأصلية PUSH RBP إلى 0x55. يقوم المعقِّد بإدراج البايتات 0xEB, 0x01, 0xB0 قبلها.

  • النتيجة هي سلسلة تعليمات قد تبدو، عند تفكيكها، مختلفة تمامًا عن الكود الأصلي. وهذا يجعل من الصعب على الهندسة العكسية فهم الغرض الحقيقي للكود.

2. العشوائية

يُدخل عناصر عشوائية في الكود. ويتضمن ذلك تقنيات مثل تبديل ترتيب التعليمات، ومبادلة المعاملات، واستبدال رموز العمليات (opcodes).

3. كشف المصححات

يدمج آليات لكشف وجود المصححات أثناء تنفيذ الكود. ويتضمن فحوصات في وقت التشغيل لتحديد الآثار المرتبطة بالمصححات وتفعيل إجراءات مكافحة التحليل.

4. تقنيات مكافحة التحليل

يدمج عدة إجراءات لمكافحة التحليل، مثل التفرعات الشرطية وفحوصات التوقيت. على سبيل المثال، قد يُدرج قفزات شرطية وحلقات تأخير لإبطاء عملية التحليل.

5. فك التشفير الديناميكي

يوظف تقنيات فك تشفير ديناميكية. فهو يشفر أقسامًا معينة من الكود ويفك تشفيرها في وقت التشغيل باستخدام مفتاح سري. وتحدث عملية فك التشفير هذه ديناميكيًا أثناء تنفيذ الكود.

6. فك الضغط الديناميكي

يضغط أقسامًا محددة من الكود ويفك ضغطها أثناء التنفيذ مباشرةً.

7. تعقيد الثوابت

يستخدم تقنيات مثل XOR والتلاعب بالبتات والعمليات الحسابية لتعقيد الثوابت. وهذا يضمن عدم سهولة التعرف على قيم الثوابت.

8. إعادة تسمية المتغيرات

تعيد الأداة تسمية المتغيرات والسجلات، مما يجعل الكود أقل قابلية للقراءة. وتتضمن العملية استبدال أسماء المتغيرات بسلاسل مولّدة عشوائيًا أو معرفات رقمية.

9. إدراج الكود غير المرغوب

لمزيد من إخفاء الكود، يُدرج المعقِّد أجزاءً من الكود غير المرغوب في مواقع استراتيجية. يتكون هذا الكود غير المرغوب من تعليمات غير ذات صلة لا تؤثر على منطق البرنامج ولكنها تهدف إلى تشويش قاعدة الكود.

مثال على إدراج الكود غير المرغوب:

root@kitploit:~
; Original Code
mov eax, 1

; After Junk Code Insertion
mov ebx, 2
sub ecx, ecx
add edx, edx

في الذاكرة (hex):

root@kitploit:~
0x89, 0xD8, 0x31, 0xC9, 0x01, 0xD2

صُمم الكود غير المرغوب المُدرج لتحويل الانتباه وجعل الكود يبدو أكثر تشابكًا.

10. كشف UPX المزيف

تتضمن أيضًا ميزة لكشف ترويسات UPX المزيفة. فهي تفحص الكود بحثًا عن علامات العبث بترويسات UPX، مما يضمن سلامة الملف التنفيذي.

قبل التحويل (الكود الأصلي):

root@kitploit:~
section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov ecx, 10        ; Initialize loop counter
    mov eax, 0         ; Initialize sum to 0

loop_start:
    add eax, ecx       ; Add current value of ECX to EAX (sum)
    loop loop_start    ; Decrement ECX and loop if not zero

    ; Exit program
    mov eax, 1         ; SYS_exit
    int 0x80           ; Invoke syscall

التمثيل السداسي العشري (الكود الأصلي):

root@kitploit:~
31 C9                 xor    ecx,ecx
B8 00 00 00 00        mov    eax,0x0
EB 0E                 jmp    0x1c
01 C8                 add    eax,ecx
E2 FB                 loop   0x11
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

بعد التحويل (الكود المعقَّد):

root@kitploit:~
section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov eax, 0x1
    add eax, 0x2
    add eax, 0x3
    add eax, 0x4
    add eax, 0x5
    add eax, 0x6
    add eax, 0x7
    add eax, 0x8
    add eax, 0x9
    add eax, 0xa

    ; Exit program
    mov eax, 0x1
    int 0x80

التمثيل السداسي العشري (الكود المعقَّد):

root@kitploit:~
B8 01 00 00 00        mov    eax,0x1
83 C0 02              add    eax,0x2
83 C0 03              add    eax,0x3
83 C0 04              add    eax,0x4
83 C0 05              add    eax,0x5
83 C0 06              add    eax,0x6
83 C0 07              add    eax,0x7
83 C0 08              add    eax,0x8
83 C0 09              add    eax,0x9
83 C0 0A              add    eax,0xa
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

في الكود المعقَّد، جعلنا منطق البرنامج الأصلي أقل وضوحًا بإضافة تعليمات ADD زائدة واستخدام قيم سداسية عشرية كمعاملات مباشرة.

الترخيص

هذا المشروع مرخّص بموجب رخصة MIT. راجع ملف LICENSE للحصول على التفاصيل.

المساهمة

المساهمات مرحب بها!.

الدعم

للمشكلات أو طلبات الميزات أو الاستفسارات العامة، يرجى إنشاء مشكلة.

إخلاء المسؤولية

هذه الأداة مخصصة للأغراض التعليمية والأخلاقية.

تنزيل الأداة