Reverse Code Engineering

逆向工程代码 обратная код машиностроения

Reverse Code Engineering

逆向工程代码 обратная код машиностроения

Reverse Code Engineering

Share what I know............... learn what I don’t

آخرین نظرات

۲ مطلب در آبان ۱۳۹۴ ثبت شده است

پکر و آنپکر

۲۹
آبان
با سلام خدمت دوستان.
اول از همه ازتون عذر میخوام که مدتی نبودم.
امروز رو قراره مختصری در مورد پکر ها توضیح بدم.

پکرها رو احتمالا فقط reverse کارها نمیشناسند افرادی که با مبحث نرم افزار سروکار دارند این ابزار رومیشناسند.

دلایلی که ما از پکرها استفاده می کنیم:
1- برای کاهش سایز فایلمون (البته این مورد با افزایش حافظه و قدرت سخت افزار دیگه دلیل قانع کننده ای نیست)
2- فرار از کشف و آنالیز شدن (این کار هم جنبه مثبت داره و هم جنبه ی منفی. جنبه ی مثبتش استفاده کردن برنامه نویس ها مخصوصا ایرانی ها برای سخت تر کردن مراحل کرک و ... و جنبه ی منفی اون bypass کردن آنتی ویروس و سخت ترکردن تحلیل بدافزار میتونه باشه)

تعریف کلی پکر:
گرفتن یک فایل اجرایی و فشرده سازی آن.
برای سخت تر شدن تحلیل پکر میتونه فایل اجرایی رو رمز کنه یا از تکنیک های anti reversing مثل آنتی دیباگ , آنتی دیس و ... استفاده کنه.
پکر میتونه کل یه فایل اجرایی رو پک کنه یا اینکه فقط یه سری سکشن های خاص مثل سکشن code رو پک کنه.
همه ی اینها به هدف پکر بستگی داره.

خوب همونطور که گفته بودیم دستور int 2dh باعث میشه که از آدرس 413BC0 پرش کنیم و همچین آدرس 413BC1 هم اجرا بشه و در آدرس 413BC2 متوقف بشیم.

pop esi چی کار کرد؟

آدرس 413BB9 که توسط Call در آدرس 413BB4 در پشته پوش شده بود رو پاپ میکنه. پس الان ESI ما محتوی مقدار 413BB9 هستش.

در ادامه از این 9 واحد کم میشه و الان ESI محتوی 413BB0 هستش.

دستور lodsd یا بعبارتی (LODS DWORD PTR DS:[ESI]  ) مقدار آدرس 413BB0 رو به اندازه 4بایت(Dword) در EAX لود میکنه.  پس الان EAX ما مقدار 0 میگیره. و خود ESI هم 4 بایت کاهش پیدا میکنه.