میخوام آموزش کرک یک Crack Me ساده رو بدم!
لينك دانلود هدف !
ابتدا فايلي كه گزاشتم رو بگيريد بعد دانلود بازش كنيد حالا يه همچين چيزي در صفحه شما نمايش داده ميشه
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
يه يوزر و پسورد الكي ميديم!
چون يوزر و پسورد اشتباه هستن ارروري مبني بر اشتباه بودن يوزر و پسورد مي گيريم به اين صورت
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
حالا ما بايد متن پيام رو يك جا ياداشت كنيم يا به خاطر بسپاريم.
بعد وارد برنامه W32Dasm ميشيم.
حالا از منوي 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 رو تست كنيم ببينيم چطور شد.
فايل رو باز كنيد هر يوزر و پسوردي خواستين بدين
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
به همین راحتی کرک شد !
Bookmarks