سلام به همگی ..
میخواستم بدونم کسی هست که بتونه منو تو نوشتن این پروژه یاری کنه ؟
میخوام یه برنامه بنویسم که وقتی بازش میکنم بشینه رو کل اگزه ها ..
شبیه sality ..
هرکی هر راهی به ذهنش رسید اگر بگه ممنون میشیم ..
بای
اول اینکه باید اسمبلی بلد باشی
یعنی در مورد jmpها و Call ها خوب بدونی
بعد باید با ساختار فایلهای exe اشنا باشی
مثل Import Table - Offset وRVA
حالا که اینها رو بلد بودی دیگه خودت میدونی چی بنویسی
خوب شما میتونی منو راهنمایی کنی ؟
رفیق قدیمی هستیم ما !
شمال هستی دیگه .. بابل یا یه همچین جایی
پی ام میدم بت ..
دوستان دیگه هم نطرشونو لطف کنن ..
یعنی ویروس من باید بلد باشه کد های اسمبلی فایلی که میخواد آلوده کنه رو بسازه .. ادیت کنه .. کامپایل کنه ؟
حجمش زیاد نمیشه ؟
لطفا نظر بدین همه ..
ساله نو هم به همتون تبریک ..
:X
وقتی برنامه مینویسی و کامپایل میکنی کدها به باینری تبدیل میشه هر کدیبه یک مقدار تبدیل میشه مثلا مقدار زcall میشه E8 و 4 بایت بدش ادرسی هست که باید به انجا پرش بشه مثلا شما تو برنامتون یک messagebox نوشتین اول اون کد به حالت asem در میاد
مثلا
کد:
MessageBoxA(0,'ThisIs A Test','sample,0);
خب حالا تو اسمبلی به این شکل میشه
کد:
asm
push 0
push 'thisis a text';
push 'sample';
push 0;
call MessageBoxA;
end;
خب بعد از کامپایل شدن به این شکل در میاد
اگه ادرس شروع 401000باشه اینجوری میشه
کد:
401000 this is a sample
401011 sample
401018 6A 00
401018 6A 401000
40101E 6A 401011
401023 6A 00
401025 E8 77BFEFB6
خب ادرس $77BFEFB6 ازاینجا به دست میاد که ادرس MessageBoxA برابر 87000000 هست و ادرس افست فعلی شما در حافظه 401025+5 هست که 5 میشه سایز E8 77BFEFB6 که وقتی ادرس مقصد رو از ادرس مبدا کم کنیم میشه مقدار کال شما که باید پرش کنین
خب این کدها برای ادرس شروع 401000 تنظیم شدن اگه شما بخواهی کد رون برنامتو که این ادرس رو داره به یک برنامه دیگه که فضای خالی تزریقش از 40A000 شروع میشه تزریق کنی همه ادرسها اشتباه میشه و برنامه با ارور بسته میشه مگه اینکه ادرسها رو دستی فیکس کنی
مثلا ادرس لود توابع رو از PEB بخونی که معادل GetModuleHandle هست و بقیشه هم از تو ExportTable باید بدست بیاری تا اگه Dll مورد نظر تو ImageBase خودش لود نشده بود کدهات درست اجرا بشه بعد از اینها باید روند اجرای برنامه رو به کد خودت منتقل کنی مثلا یکی از jmp های برنامه رو منتقل کنی اول برنامه خودت و در انتها یه جامپ بزنی به مکانی که اون جامپ اول اشاره میکرد تا روند اجرا ادامه پیدا کنه
من قدیما یه مقاله درباره Static Injection نوشته بودم اونو بخونی خیلی تو درکش کمکت میکنه
کدهای File Infection رو نت زیاده چند تاشونو مطالعه کن
goodluck