تبليغاتX
HackMind
All About Computer
آموزش كرك نرم افزار قسمت اول !! 
اصلا اين كار به چه درد مي خوره؟

شايد براي شما پيش بياد كه برنامه‌اي از اينترنت دانلود مي كنيد ولي هيچ كرك و سريال يا Path براش پيدا نمي كنيد اينجاست كه بايد خودتون دست به كار بشين و برنامه رو كرك كنيد(عاليه نه)

البته بگم اين روش بسيار ساده هست و الان فكر نمي كنم برنامه‌اي باشه كه به اين شكل كرك بشه ولي براي شروع خوبه. و وقتي كسي به اين زمينه علاقه مند بشه ديگه معتاد به اين كار ميشه.

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

يه كركر واقعي چه چيزايي بايد بدونه؟

1- زبان اسمبلي : هر چي تسلط به اين زبان در شما بيشتر باشه كار براتون لذت بخش ترو راحتتره
2- آشنايي به API هاي ويندوز
3- آشنايي با ديباگر ها و دي اسمبرها و ....
4- مهندسي معكوس
6- بجز اسمبلي تسلط كامل به يك زبان برنامه نويسي ديگه
و ...(فعلا همينا يادمه)
 
البته الان به همه اينا احتياج نداريم فقط چند دستور اسمبلي يه دي اسمبلر و يك هگز اديتور

به چه ابزارهايي نياز داريم:
W32Dasm 8.9 : لينك دانلود
Hacker view : لينك دانلود

اين دو برنامه رو دانلود كنيد
چي رو بايد كرك كنيم:

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

 
نحوه‌ي كرك:

ابتدا فايلي كه گزاشتم رو بگيريد بعد دانلود بازش كنيد حالا يه همچين چيزي در صفحه شما نمايش داده ميشه
 


يه يوزر و پسورد الكي ميديم به اين صورت


چون يوزر و پسورد اشتباه هستن ارروري مبني بر اشتباه بودن يوزر و پسورد مي گيريم به اين صورت


حالا ما بايد متن پيام رو يك جا ياداشت كنيم يا به خاطر بسپاريم.
بعد وارد برنامه W32Dasm ميشيم.
نكته : W32Dasm يك دي اسمبلر يا Disassembler هست و كارش تبديل يك فايل اجرايي به زبان اسمبلي مي باشد.
 
حالا از منوي File>Open ‌فايل مورد نظر يعني crackme1.exe  را باز ميكنيم.
نكته: اگر نوشته هاي نمايش داده شده چرت و پرت و قابل خواندن نبود به منوي File>Font>Select Font فونتي انتخواب كنيد كه دستورات اسمبلي درست نمايش داده بشن.

حالا از منوي Refs گزينه String Data References انتخاب كنيد. الان ليستي از متنهايي كه در برنامه وجود دارد رو مشاهده مي كنيد. دنبال ارروري كه قبلا يادداشت يا به خاطر سپرديد بگرد(كار سختي نيست) بعد روش دوبار كلي كنيد و از اين ليست خارج و به صفحه اصلي W32Dasm‌ برين

الان بايد همچين چيزي رو ببينيد

خوب الان اررور رو در تصوير مي بينيد. حالا اون شماره چيه؟ اون شماره آدرسه جايي هست كه يك دستور شرطي برسي ميكند اگر يوزر و پسورد اشتباه يا صحيح بود چه ارروري رو نشون دهد.

بزارين واضح تر بگم

در نظر بگيريد برنامه اي ساختيد كه از ما اسمي رو مي خواد و اگر ما اسم ali رو بديم يك پيام بده بگه good‌ و اگه اسمه ديگه يي داديم بگه bad

حالا دستور شرطي براي اين برناه فرضي يه همچين چيزي ميشه

if name = ali
    good
else
    bad

خوب حالا اگه ما دستور شرطي رو بر عكس كنيم چي مي شه ؟ بله وقتي ما اسم ali رو بدين به ما ميگه bad و اگر هر اسم ديگه اي بديم ميگه good

اين دقيقا كاريه كه يك كركر ميكنه يعني اين دستورات رو تغيير ميده تا برنامه برعكس عمل كنه و هر كدي ما بديم قبول كنه.
پس گفتم اون شماره در واقع آدرس جايي هست كه اين دستور شرطي قرار داره حالا به اون آدرس ميريم
با دوبار كليك راست ماوس روي اون شماره كه مشخص كردم به آدرس مورد نظر ميريم. به اين صورت
 


خوب دستور JNE هست يعني JUMP IF NOT EQUAL يعني اگر كدي كه داديم درست نبود به آدرسي كه روبه روي اين دستور هست برو

نكته : دستور JNE يكي از دستورهاي شرطي زبان اسمبلي هست كه مخالف اون مي شه JE

قبل تغيير دستور ما نياز به شماره اي كه در پايين برنامه W32Dasm وجود داره نياز داريم به اين صورت


همونطور كه در عكس نشان دادم اين Offset مربوط مي شه به اون دستور يعني JNE حالا مي گم براي چي مي خوايم

ولي اگه مي خوايم بدونين اين عدد از كجا آمده به عكس قبلي كه دستور JNE رو نشون ميداد دقت كنيد اين كدا رو ميبينيد

:00402B5F   7577                   JNE 00402BDB
 
زير اون عدد خط كشيدم. اين يعني جايي كه اين دستور قرار داره
اين عدد رو بايد يجا يادداشت كنيد.

خوب حالا برنامه Hacker  view باز كنيد و به مسير فايل crackme1.exe برين و بازش كنيد.

با  دكمه هاي Alt+F2 مي تونيد درايو رو عوض كنيد

بعد باز كردن فايل crackme1.exe در Hiew يا همون hacker view با زدن دكمه F4 منويي مياد كه از داخلش Decode رو انتخاب مي كنيم

حالا كليد F5 رو بزنيد تا اون شماره كه گفتم رو در اينجا جستجو كنيم. خوب F5 رو بزنيد 2B5F را تايپ و اينتر بزنيد تا جستجو كند. به شكل نگاه كنيد بايد همچين چيزي جلوتون ظاهر بشه


نكته : در اسمبلي دستورات بجز كد اسمبلي مثلا JNE يك كد بصورت هگز هم(که کد ماشین دستور است) دارن كه براي همين دستور 75 هست.اگر به شكل نگاه كنيد مي بينيد كه به اين صورته
.00402B5F: 7577                               jne
 
خوب همونطور كه قبلا گفتم بايد ما اين شرط رو برعكس كنيم يعني از JNE به JE تبديل كنيم

كد هگز براي JE  عدد ۷۴ هست. پس 75 رو به 74 تغيير ميديم

ابتدا براي ويرايش كليد F3 رو ميزنيد حالا 74 رو تايپ ميكنيم و براي ذخيره كردن كليد F9 را مي زنيم. مانند شكل  


حالا با كليد Esc از Hiew خارج مي شيم

خوب الان موقعشه كه فايل crackme1.exe رو تست كنيم ببينيم چطور شد.

فايل رو باز كنيد هر يوزر و پسوردي خواستين بدين 


تبريك مي گم شما اولين برنامتون رو  كرك كردين (ديدين چقدر سادس)

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

لطفا هر گونه مشكل ، انتقاد، پيشنهادي دارين اطلاع بدين.

موفق باشيد
 
|+| نوشته شده توسط آرش در جمعه چهاردهم بهمن 1384 | موضوع: آموزش کرک
بالا