majid_darab
شنبه 29 شهریور 1393, 12:02 عصر
با سلام و ارادت فراوان :
من یه فایل exe دارم که با زبان visual C++ v9.0 کد زده شده است.
نکته قابل توجه در مورد این فایل این هست که سورس کد فایلو ندارم و می خوام به نحوی محتوای کد فایلو دچار بهم ریختگی کنم.
دلیل : در فایل از Library ها و string هایی استفاده شده است که توسط Anti Virus شناسایی شده و فایل مورد ظنین قرار می گیرد و این در حالی ست که فایل مورد نظر کاملاً تمیز هست و می خوام کلاً یاد بگیرم چطور میشه چنین فایل هایی رو obfuscate کرد و ظن و گمان بد رو در مورد اونها از بین برد. در عین حال نمی خوام فایلو در قسمت Exception آنتی ویروس معرفی کنم و دنبال راه اصولی برای حل این مشکل هستم!
یکی از روش های obfuscate کردن این چنین فایل ها استفاده از برنامه Olly Debugger می باشد.
من از tool های زیادی برای بهم ریختگی exe که با C++ نوشته شده استفاده کردم. اما همه اونها فایل رو خراب کردند.
مثل :
PELock.exe (http://www.pelock.com/)
UPX.exe (http://upx.sourceforge.net/)
و غیره
مثلاً برنامه PELock این جور عمل می کنه که در کد اسمبلی فایل دست می بره و به فایل مزبور یه key اضافه می کنه که دوستان باید بگن آیا انجام این کار باعث میشه من به مقصود خود که همان بهم ریختگی فایل هست برسم یا نه؟ به هر تقدیر PELock جوری فایل منو تغییر داد که دیگه مورد استفاده نبود.
سوال 1 : برای بهم ریختگی کد اسمبلی این گونه فایل ها چکار باید بکنم؟
سوال 2 : آیا می شود با Olly Debugger برای اونها Key ایجاد کرد و آیا این روش ایجاد Key باعث بهم ریختگی فایل از نظر آنتی ویروس می شود؟ چگونه؟
=======================================
MOV EAX,01081000 -> آدرس شروع فایل (ماژول نصب)
XOR BYTE[EAX],0F -> تعریف کلید
INC EAX
CMP EAX,0108AF5E -> آدرس آخرین خط فایل قبل از این کدها(ماژول نصب)
JLE 0108AF69 -> آدرس خط کلید
JMP 010858C0 -> آدرس ماژول نصب برنامه
اینها کد هایی هستن که با Olly Debugger برای ایجاد Key و بهم ریختگی در انتهای کد اسمبلی فایل exe اضافه می شن (انتهای ماژول نصب) که از نت پیدا کردم، اما به دلیل عدم تفهمیم و استفاده نادرست باعث خراب شدن فایل شدند.
من توضیحاتی که جلوی کدها نوشتم نسبی هستند و شاید اشتباه نوشته باشم.
سوال 3 : اگر مقدور هست در مورد اونها نیز توضیح داده شود و ایرادات آنها برطرف شود.
=======================================
*اگر فایل exe فوق دات نت بود کار با برنامه Samart Assembly (http://www.red-gate.com/products/dotnet-development/smartassembly/)خیلی راحت می شد و این برنامه علاوه بر قابلیت های فراوانی که داره راحت فایل مزبورو Obfuscate می کرد.
با تشکر
من یه فایل exe دارم که با زبان visual C++ v9.0 کد زده شده است.
نکته قابل توجه در مورد این فایل این هست که سورس کد فایلو ندارم و می خوام به نحوی محتوای کد فایلو دچار بهم ریختگی کنم.
دلیل : در فایل از Library ها و string هایی استفاده شده است که توسط Anti Virus شناسایی شده و فایل مورد ظنین قرار می گیرد و این در حالی ست که فایل مورد نظر کاملاً تمیز هست و می خوام کلاً یاد بگیرم چطور میشه چنین فایل هایی رو obfuscate کرد و ظن و گمان بد رو در مورد اونها از بین برد. در عین حال نمی خوام فایلو در قسمت Exception آنتی ویروس معرفی کنم و دنبال راه اصولی برای حل این مشکل هستم!
یکی از روش های obfuscate کردن این چنین فایل ها استفاده از برنامه Olly Debugger می باشد.
من از tool های زیادی برای بهم ریختگی exe که با C++ نوشته شده استفاده کردم. اما همه اونها فایل رو خراب کردند.
مثل :
PELock.exe (http://www.pelock.com/)
UPX.exe (http://upx.sourceforge.net/)
و غیره
مثلاً برنامه PELock این جور عمل می کنه که در کد اسمبلی فایل دست می بره و به فایل مزبور یه key اضافه می کنه که دوستان باید بگن آیا انجام این کار باعث میشه من به مقصود خود که همان بهم ریختگی فایل هست برسم یا نه؟ به هر تقدیر PELock جوری فایل منو تغییر داد که دیگه مورد استفاده نبود.
سوال 1 : برای بهم ریختگی کد اسمبلی این گونه فایل ها چکار باید بکنم؟
سوال 2 : آیا می شود با Olly Debugger برای اونها Key ایجاد کرد و آیا این روش ایجاد Key باعث بهم ریختگی فایل از نظر آنتی ویروس می شود؟ چگونه؟
=======================================
MOV EAX,01081000 -> آدرس شروع فایل (ماژول نصب)
XOR BYTE[EAX],0F -> تعریف کلید
INC EAX
CMP EAX,0108AF5E -> آدرس آخرین خط فایل قبل از این کدها(ماژول نصب)
JLE 0108AF69 -> آدرس خط کلید
JMP 010858C0 -> آدرس ماژول نصب برنامه
اینها کد هایی هستن که با Olly Debugger برای ایجاد Key و بهم ریختگی در انتهای کد اسمبلی فایل exe اضافه می شن (انتهای ماژول نصب) که از نت پیدا کردم، اما به دلیل عدم تفهمیم و استفاده نادرست باعث خراب شدن فایل شدند.
من توضیحاتی که جلوی کدها نوشتم نسبی هستند و شاید اشتباه نوشته باشم.
سوال 3 : اگر مقدور هست در مورد اونها نیز توضیح داده شود و ایرادات آنها برطرف شود.
=======================================
*اگر فایل exe فوق دات نت بود کار با برنامه Samart Assembly (http://www.red-gate.com/products/dotnet-development/smartassembly/)خیلی راحت می شد و این برنامه علاوه بر قابلیت های فراوانی که داره راحت فایل مزبورو Obfuscate می کرد.
با تشکر