PDA

View Full Version : سوال: برنامه نویسی کد های متامورفیک



59soldier
جمعه 25 اسفند 1391, 19:05 عصر
ویروس های متامورفیک یکی از پیچیده ترین ویروس ها هستند که می توانند بنده ی اصلی ویروس رو بازنویسی کنند تا ویروس یاب ها نتونن شناساییشون کنند ((البته از سریق متود سیگنچر بیس))
یکی از بهترین برنامه های متامورفیک نوشته شده و اپن سورس Metaphor هستش که از چند متود متامورفیک کننده با هم استفاده می کند ... هم زمان آنتی دیباگ میکند و خیلی کارهای دیگه ...
من یک پروژه دارم که بتونم فایل های متامورف رو خانوادشون رو تشخیص بدم ... به همین خاطر باید این ویروس ساز رو اجرا کنم تا یک سری نمونه اولیه داشته باشم
ولی من در اجرا و کامپایلش با مشکل مواجه شد
سورس این برنامه در این آدرس وجود دارد
http://spth.virii.lu/29a6/29A-6.602.txt
برای اجرا با فورمت asm سیوش کنید ...
خود نویسندش آقای Mental Driller گفته باید با اسمبلر Tasm اجراش کنیم

;; To assemble: ;;
;; TASM32 /m29A /ml MetaPHOR.asm ;;
;; TLINK32 -Tpe -aa -x MetaPHOR.obj,,,kernel32.lib

من همه کارهایی که لازم بود رو انجام دادم ... ابتدا فایل obj رو درست کردم بعد با لینک می خواستم Exe رو درست کنم که این ارور رو داد

VirtualAllocError: Unresolved external 'GetProcAddress' referenced from module MetaPHOR.a
Error: Unresolved external 'GetModuleHandleA' referenced from module MetaPHOR
m
Error: Unresolved external 'VirtualFree' referenced from module
Error: Unresolved external 'ExitProcess' referenced from module MetaPHOR.asm
فایل exe رو درست کرد ولی درست کار نمیکنه و فقط یک صفحه ی سیاه میاد ...
خود نویسنده برنامه توضیحاتی داده و گفته باید اتوماتیک این ها ایمپورت بشوند ولی میبینید که نشده اند

;; Under Win32: ;;
;; VirtualAlloc will be retrieved by the decryptor if it's not imported by ;;
;; the host, and the host must import GetModuleHandleA/W or LoadLibraryA/W ;;
;; and GetProcAddress to be infected. This functions will be used by the ;;
;; virus to get the needed APIs.
ممنون میشم راهنمایی کنید
پی نوشت
--------
دوستان تازه کار بهتره این فایل رو اجرا نکنن ... چون باید قبلش تمهیداتی رو بیاندیشن که توضیحش مبحث این تاپیک نیست
با تشکر

59soldier
سه شنبه 29 اسفند 1391, 16:53 عصر
تا الان جواب اکثر سوالاتم رو تو نت و با گوگل پیدا میکردم ... ولی کم کم بعضی از مشکلات کامپیوتریم رو میبینم خیلی سخت می تونم جوابی واسشون پیدا کنم

xman_1365_x
شنبه 03 فروردین 1392, 02:01 صبح
مشکل شما بدلیل اینه که prototype هایی که در برنامه تعریف شده رو توسط لینکر درست آدرس دهی نکردید،اون توابع در kernel32 موجود هست،میتونید فایل کتابخانرو کنار لینکر بزارین مشکلتون حل میشه
موفق باشی

59soldier
چهارشنبه 07 فروردین 1392, 12:20 عصر
با تشکر از راهنمایی دوستمون ...
برای آیندگان می نویسم
با این دستور مشکل حل شد
در کامپایلر tasm لابریری import32 همه کتابخانه ها را فراخوانی میکند و مثل masm نیست که باید جدا جدا صدا کنید

TLINK32 -Tpe -aa -x MetaPHOR.obj,,,import32.lib