CAB Direct

 
 
CAB Direct - Subject Coverage سايت چيست؟
CAB Direct - Linkage چگونه سايت داشته باشيم؟
CAB Direct - Linkage قيمت هاست و دامين
CAB Direct - Linkage سوالات مکرر
CAB Direct - Linkage سفارش طراحي سايت


آموزش کرک برنامه ها:

خوب فكر مي كنم تا الان و با خوندن مقاله قبليم تا حدودي با كرك آشنا شده باشيد.

در اين مقاله سعي دارم شما رو با يكي ديگر از شيوه ها و ابزارهاي كرك آشنا كنم.

خوب امروز شما ياد مي گيريد چطوري سريال درست يه برنامه رو بدست بياريد.


 سريع ميريم سر اصل مطلب

 

خوب به چه ابزارهايي نياز داريم:


Ollydbg 1.09 :  لينك دانلود

PEid   :  لينك دانلود

 

چه برنامه اي بايد كرك بشه:

خوب برنامه همون برنامه قبليه ولي اينبار يه تغيير كوچيك توش دادم و اينبار كد درستو بدست مياريم



 روش كرك:


 ابتدا برنامه اي كه دادم رو دانلود كنيد حالا بازش كنيد. يه همچين چيزي رو ميبينيد.


 


 يك نام و كد الكي بديد. به اين صورت :


 


 ارروري مبني بر اشتباه بودن كد مي بينيد


 


 متن اررور رو يك جا ياداشت يا به خاطر بسپاريد

تا اينجا مثل مقاله قبل بود. اگر هنوز مقاله قبلي رو نخوندين مي توانيد به اين لينك برين


 قسمت جديد كار اينجاست اگر ما فايل crackme2.exe كه بايد كرك بشه رو با Ollydbg باز كنيم و دنبال متن  ها و رشته هايي كه در برنامه هست بگرديم مي بينيم هيچ متني از اررور وجود نداره.

پس چه اتفاقي افتاده؟ چون اينجا ما برنامه رو با UPX كه بالا لينكشو گزاشتم پك (pack)  كرديم


ها... اي كه گفتي يعني چه


compressor ها، protection ها و  crypter ها ابزارهايي هستند كه كدهاي اصلي يه برنامه مثل همين crackme2.exe رو مخفي ميكنند تا كار يك كركر رو سخت كنند.البته در نوع اول در اصل برای کم کردن حجم فایل می باشد. مثل همين upx


 


compressor ها يا فشرده كننده ها كارشون فشرده كردن يه فايل احرايي exe يا ديناميك فايلها dll ها هست البته بايد بگم خيلي خفن حفاظت نمي كنند ولي كدهاي برنامه رو مخفي ميكننند و براي يه تازه كار ممكنه كار رو مشكل كنه و خيلي راحت هم برنامه فشرده شده رو مي شه از اين حالت خارج كرد يا به عبارتي UnPack كرد.


  protection ها crypter ها يه نمه خفن تر از قبلي هستند و بجز فشرده كرده فايل اون رو رمزي و در مقابل ديباگر هايي همچون Ollydbg يا SoftIce حفاظت مي كنند

 

يه نكته كه بايد بگم اينه كه اكثر اين ابزارها يعني compressor ، protection ، crypter  ضدشون هم وجود داره و مي شه گفت اين چيزا كار يه  كركر حرفه‌اي اصلا سخت نمي كنه خصوصا اونايي كه مجاني هست. 


 چقدر توضيح شد اصلا يادم رفت موضوع سر چي بود.


 خوب حالا براي اينكه بفهميم فايل crackme2.exe  با چي پك شده از برنامه PEid استفاده ميكنيم


برنامه PEid : كه لينكش رو بالا دادم باز كنيد روي اون دكمه كه سه تا نقطه روش هست كليك كنيو و مسير فايل crackme2.exe رو بهش بدين. مانند شكل زير



اونجايي كه علامت زدم نوع پكر هست كه اينجا UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo رو نوشته يعني همون UPX كه لينكشو بالا دادم


بسته به سليقه خودتون يه نوعشو دانلود كنيد(گرافيكي يا خط فرمان)


 نسخه گرافيكي كه نياز به توضيح نداره برنامه رو داخلش باز كنيد Decompress رو بزنيد

 


 نسخه خط فرمان هم كه به اين صورت

upx -d crackme2.exe

 

 حالا كه برنامه UnPack شد براي اطمينان مي تونيد دوباره با PEid چك كنيد اين بار بايد اينو بنويسه Microsoft Visual Basic 5.0 / 6.0 كه اين يعني با visual basic درست شده. 

خوب الان بايد با Ollydbg كار كنيم

Ollydbg يكي از ديباگر هاي بسيار قوي و معروف براي ويندوز هست باهاش تغريبا هر كاري مي توانيم بكنيم.

ديباگر ها هم ابزارهايي هستند براي پيدا كردن باگها و ايرادهاي يه برنامه كه بعدش ممكنه منجر به ساخت يه اكپلويت بشه....بگزريم...فقط بگم بهترين ديباگر در دنيا براي ويندوز SoftIce هست كه يه محيط خط فرماني و سياه داره كه حتي باهاش ميشه هسته ويندوز را كرك كرد. بعد softice هم Ollydbg در دنيا معروفه

توضيخ ديگه فكر كنم توضيح بس باشه.

حالا ollydbg رو باز كنيد و از منوي File>open فايل crackme2.exe رو داخلش باز كنيد. مانند شكل بايد چنين دستوري اول قرار بگيرد


 بعد اجراي برنامه داخل olly روي پنجره اي اصلي كه CPU هست راست كليك كنيد و از منوي ظاهر شده Search for و بعد گزينه All referenced text strings رو انتخاب كنيد اينجا جايي هست كه شما تمام متن ها و رشته هاي داخل برنامه‌اي كه داخل olly باز كرديد مي بينيد.

لازم به ذكره كه اگر برنامه pack شده باشد اين قسمت خالي و چرت و پرت خواهد بود و بعد UnPack كردن تمام متنها ديده مي شه

حالا همين صفحه رو كمي پايين بياريد و دنبال متن اررو بگرديد. يه راه آسونتر هم اينه كه رو اين صفحه راست كليك كنيد و گزينه Search for text رو انتخاب و قسمتي از متن اررو رو بهش بدين (به بزرگ و كوچيك بودن حروف حساس است)

مانند شكل بايد اين قسمت رو پيدا كرده باشيد.


 روي متن اررو كه در عكس هم مشخص كردم دوبار كليك كنيد تا به پنجره اصلي Olly يعني CPU برگرديم.
شكل رو نگاه كنيد :

 

 خوب شكل شايد در نگاه اول يكم پيچيده باشه. ولي به مرور ميبينيد چقدر سادس
 
حالا برسي مي كنيم(شما هم اين مراحل رو دنبال كنيد تا بفهميد چي به چيه):
دستور PUSH در اول عكس فرماني هست كه كدي كه توسط برنامه درسته شده در يه حافظه قرار ميده.
اينجا جايي هست كه ما بايد برنامه رو متوقف كنيم و كد رو از حافظه برداريم. در ادامه توضيح ميدم
PUSH‌ دومي هم كدي كه ما داديم رو در حافظه قرار ميده.

 دستور Call كه در عكس مشخص كردم در واقع تابعي هست در ويژوال بيسيك كه دو رشته رو با هم مقايسه ميكنه و اگر يكسان باشه مثلا مقدار 0 رو برمي گردونه و در صورت نادرست بودن يه مقدار ديگه

 دستور JNZ هم همون JNE كه در مقاله يك هم توضيح دادم. كه چك مي كنه كه اگر مقداري كه توسط اون تابع برگردانده شد 0 بود پيامي مبني بردرست بودن كد بده و اگر يه عدد ديگه بود پيامي مبني بر اشتباه بودن گد ميده.

كه همونطور كه در مقاله يك هم گفتم با تغيير اين دستور به JE فرمان برعكس عمل ميكنه... بگزريم چون مربوط به اين مقاله نميشه

 اون دوتا متن هم واضح چي هستن متن پيامها

خوب قبل اينكه ادامه بدم چنتا كليد پركاربرد در olly رو بايد ياد بگيرد

 1- كليد F2 : شما با اين دكمه در قسمتي از برنامه كه خودمون تعيين مي كنيم يه نشانه قرار ميديم كه هر موقع برنامه  به اون قسمت كه ما نشانه گزاشتيم رسيد متوقف شود. اين كار و Breakpoint مي گن
2 - كليد F9 : باعث اجراي برنامه مي شود
3- كليد F12: باعث متوقف شدن موقت برنامه ميشه همون Pause
4- كليد F8: با زدن اين دكمه مي توانيد برنامه رو خط به خط اجرا كنيد به صورت سطحي و داخل توابع نميشه
5- كليد F7: با زدن اين دكمه هم مي توانيد برنامه رو خط به خط اجرا كنيد با اين تفاوت كه داخل توابع هم ميشه

خوب همينا فعلا كافيه.

حالا روي PUSH اولي با كليد F2 يه breakpoint در اين ناحيه قرار ميديم چون مي دونيم كه كد اصلي از اينجا ميگزره مانند شكل

 

 كليد F9 رو ميزنيم تا برنامه اجرا بشه

يه نام و كد الكي مي ديم و enter مي زنيم

بوووووووووم.....

خوب مي بينم برنامه جايي كه خاستيم متوقف شد.و كد واقعي در پايين مانند شكل نمايان ميشود

 
 
خوب حالا كد رو يجا يادداشت كنيد چون كار ما اينجا تموم شد

 از Olly خارج بشين... فايل crackme2.exe  رو باز كنيد نام قبلي كه الكي دادين رو بدين و به جاي كد هم كد جديد كه بدست آمد

 
WOW.....

حالا ممکنه شما بپرسید دستیابی به کدهای یک نرم افزار به چه دردی می خوره؟

 

بیشترین کاربرد کرک برنامه ها تغییر زبان هست. ممکنه شما هم با برنامه هایی مثل مسنجر فارسی برخورده باشید ، و از خودتون بپرسید که چگونه می توان یک برنامه رو فارسی کرد؟

 

برنامه به نام Hack resource هست که می توانید در گوگل با جستجو کردن از سایت سازنده اون دانلود کنید و برای فارسی کردن برنامه ها در قسمت Open مسیر فایل exe رو بهش بدین ، بعدش می تونید همه نوع تغییری در زبان برنامه ، منوها و حتی تصاویر موجود در برنامه رو به راحتی ایجاد کنید. فقط هحواستون باشه اگه برنامه زمان تغییر خطای اینکه The exe commpress32.. رو داد باید مراحل بالا رو طی کنید تا بتونید برنامه رو از حالت protect دربیارید .

ديدين چقدر راحته

بازم ميگم يه كركر خوب بايد برنامه نويسي بلد باشه و به اسمبلي مسلط

 اميدوارم تونسته باشم كار مفيدي كرده باشم و شما استفاده لازم رو برده باشيد

نویسنده : علی لفظی قاضی - HackMan