صفحهها: 1 2 3 4 5 6 7 8 9 10 11 12
خود من هیچ وقت به دنبال پیغام فارسی نگشتم چون
برای این کار حتما باید تنظیمات زبان ویندوز بر روی زبان فارسی باشه که باعث پائین اومدن شدید سرعت
دیباگر می شه، خیلی بهتره که در این موارد به جای جستجوی کلمات فارسی به دنبال توابع نمایش پیغام
خطا باشید.
شما می تونید با هوک کردن توابعی که کار مقایسه، گرفتن زمان سیستم، خواندن اطلاعات هارددیسک
، نمایش پیغام خطا، بستن پروسس یا .... رو انجام می دن به راحتی محلی رو که می خواین پیدا کنید.
استفاده از این روش به مراتب عملی تر از جستجوی کلمات پیغام خطاست چون این کلمات رو می شه
به روش های مختلفی از دید کرکر پنهان کرد.
سلام دوست عزيزم
خيلي ممنون كه وقت گذاشتيد و جواب داديد مطالب شما خيلي جالب و ارزشمند است اگه ميشه يك نمونه از توابع را يا نمونه اي از چيزهايي كه گفتيد بذاريد تا با عنوان آن آشنا بشيم
راستش من قصدم آموزش و يادگيري هست سي دي اون برنامه را هم خريدم قيمتش هم خيلي نيست كه بخواي سواستفاده بكني فقط مي خوام ياد بگيرم همين
باز هم خيلي ممنونم
خوب برای شروع بهتره روی این CrackME کار کنید.
این برنامه با VB6 نوشته شده ، پک نشده و در صورتی که سریال درست رو وارد کنید، پیغامی با عنوان "موفق شدید" خواهد داد و در غیر این صورت با پیغام "خطا" رو به رو می شوید.
[
attachment=7098]
در اینجا باید بعد از لود کردن برنامه داخل OllyDbg ، بر روی فرم اصلی راست کلیک کرده و گزینه Search For و سپس گزینه All InterModuler Call رو انتخاب کنید.
[
attachment=7099]
حالا در صفحه ای که باز شده ابتدا توابع رو بر حسب نام مرتب کنید و سپس بر روی توابع مربوط به نمایش پیغام بریک پوینت بگذارید .
چون این برنامه رو با VB6 نوشتم نام این تابع در اینجا rtcMsgBox هست که ممکنه در کامپایلرهای مختلف این نام کمی فرق داشته باشه .
[
attachment=7100]
همچنین می تونید از توابع VbaStrCmp هم استفاده کنید، این تابعی است که وظیفه مقایسه دو تا متن با همدیگر رو بر عهده داره.
هر دوی این توابع شما رو به محلی که احتمالا سریال در حال چک شدن هست هدایت خواهند کرد. بعد از اون کافیه با قرار دادن بریک پوینت های دیگه در ابتدای روتین چک کردن قفل ( در اینجا آدرس 401DB0 هست ) برنامه رو خط به خط تریس کرده و دستورات شرطی که باعث هدایت برنامه به سمت پیغام خطا می شن رو معکوس کنید تا پیغام موفقیت نمایش داده شود.
[
attachment=7097]
سلام
ممنون از زحمتي كه كشيديد ما خيلي ابتدايي هستيم داريم تاتي تاتي مي ريم اگه ميشه بعد از بريك پوينت يك توضيح بدين
خيلي ممنون
سلام
اعتراف می کنم کار بسیار سختی هست اما شیرین
من خیلی باهاش کلنجار رفتم ظاهرا از بین این سه پیغام خطا یکی مال موفق شدید هست حالا باید اون را پیدا کرد
خوب خیلی خوبه دارید درست پیش می رید اما بهتره یه کمی اسمبل کار کنید چون اینطوری که
شما می گید ظاهرا زیاد به کدهای دیسمبلر شده مسلط نیستید.
برای کرک این برنامه کافیه دستورات Jump کلیدی رو پیدا کنید و هر بار اونها رو طوری تغییر بدید که روند
برنامه به سمت نمایش یکی از اونها پیش بره در نهایت بعد از 3 بار تلاش حتما پیغام صحیح نمایش داده
خواهد شد.
ممنونم
اگه میشه یک منبع (کتابی چیزی)معرفی کنید من آماده ی یادگیری اسمبلی هستم
راستی یک بار یکی از jump ها را تغییر دادم پس از ذخیره دیگه نمیشد توی دیباگر خط به خط اجرا کرد مجبور شدم ویندوز را عوض کنم
نقل قول: راستی یک بار یکی از jump ها را تغییر دادم پس از ذخیره دیگه نمیشد توی دیباگر خط به خط اجرا کرد مجبور شدم ویندوز را عوض کنم
نیازی نبود
یه Analiyze This! می زدی درست می شد یه فایل داخل UDD پاک می کردی
نقل قول: اگه میشه یک منبع (کتابی چیزی)معرفی کنید من آماده ی یادگیری اسمبلی هستم
اینم لینک یک کتاب برای آموزش اسمبلی
آموزش اسمبلی
نقل قول: راستی یک بار یکی از jump ها را تغییر دادم پس از ذخیره دیگه نمیشد توی دیباگر خط به خط اجرا کرد مجبور شدم ویندوز را عوض کنم
سلام من یک نرم افزار دارم که هیچ پیغام نمیده اگر کد فعال سازی را اشتباه بزنم باید چکار کنم
سلام . دلیل این خطا چیه ؟
Entry Point Alert
---------------------------
Module 'CrackMe' has entry point outside the code (as specified in the PE header). Maybe this file is self-extracting or self-modifying. Please keep it in mind when setting breakpoints!
صفحهها: 1 2 3 4 5 6 7 8 9 10 11 12