ايران ويج

نسخه‌ی کامل: كار گروهي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11
بابا من آخرش نفهميدم درست کار کردم يا غلط؟
اگه غلطه مشکل از کجاشه؟ يا اصلا کلا غلطه؟
ajlajlajl نوشته است:
Di Di نوشته است:...به همدگه احترام بزاریم...یه زمانی هم خود ما ضعیف بودیم...
چی شد آقا مهدی؟Whistle وجدان درد گرفتی؟ Whistle

اين قسمت رو من اديت نكردم.
ajlajlajl نوشته است:بابا من آخرش نفهميدم درست کار کردم يا غلط؟
اگه غلطه مشکل از کجاشه؟ يا اصلا کلا غلطه؟

كار شما تو اين مورد خاص درسته ولي كلا اين روشه كثيفيه.

بهترين كركر كسيه كه با كمترين تغيير برنامه رو كرك كنه .
بهتر از كرك ساخت كيجن هست. در واقع ايجاد تغيير در فايل همراه با ريسك هست. هرچه اين تغييرات بيشتر باشه ريسك كار نكردن برنامه هم بيشتر مي شه.
اكيدا توصيه مي شه چيزي رو حذف نكنيد يا حداقل چيزي رو حذف كنيد كه واقعا لازمه و چاره ديگه اي نيست.
سلام
خوب هستيد
فكر كنم اين كمك كنه
کد:
File: all_SCORM.rar
DownloadLink: http://rapidshare.com/files/110553687/all_SCORM.rar
File-Size: 4.11 MB
Uploaded: 2008/04/26, 06:18:06
---------------------------------------------------------------------------------------------
به اميد ديدار
سعید جان دستت درد نکنه ولی چیزی که من خودم شخصا باش مشکل دارم اینه که فلسفه کرک کردن
رو نمی دونم . مثلا این Inc Eax رو من اصلا نمی دونم شما با چه فلسفه ای اضافه کردید و این دقیقآ چیزی هست
که من دقیقآ تا صد سال دیگه هم اگه به این برنامه ور برم نمی دونستم باید اضافش کنم و یا پیدا کردن تابع
اصلی برای کرک . من اسمبلیم برای برنامه نوشتن بد نیست ولی اینطوری نمی تونم ازش استفاده کنم
اميدوارم دوستان به اين مسئله توجه بيشتري نشون بدن. فيلم برداري از صفحه نمايش شايد چندان ضروري نباشه ، شخص دوست داره بدونه اين كاري كه انجام مي شه علتش چيه؟ طبق چه فلسفه اي و با دنبال كردن چه راهي عاقبت به اين نتيجه رسيديد كه بايد فلان دستور تغيير كنه.
اگه اين آموزش ها اينطور باشه مطمئنا در كركهاي بعدي به جاي آموزش قدم به قدم تمام مراحل كرك ، مي شه تنها با چند راهنمائي ساده به دوستان كمك كرد. اما واقعا اعتراف مي كنم فيلم هاي آموزشي آقا سعيد داراي نكته هاي خيلي ظريفي هستند كه فقط داخل فيلم مي شه اونها رو ديد و يادگرفت.
سلام خوب هستيد
خوب بپرسد تا بگم چرا
هممون تا حدودي به برنامه نويسي آشنايي داريم درسته
يك تابع چك كننده توي وي بي ميشه چي ؟
function test( el as object ,....) as boolean
درسته
خوب ما وقتي اين تابع رو صدا ميزنيم مي بينيم كه يا 0 يا 1 بر ميگردونه 1 يعني درست و 0 يعني غلط
تابع چك كننده هم دقيقا اين كار رو ميكنه !
يعني وقتي تابع مقدار بر ميگردونه ( چون سريال ما غلطه ) پس بايد مقدار 0 رو برگردونه معمولا اين مقدار يا توي پشته ريخته ميشه و يا توي يك ثبات توي اين حالت خاص مقدار برگشت داده شده در eax برگردونده ميشه
هنگامي كه تابع ميخواد كنترل رو بر گدونه به تابع صدا زتتده از retn استفاده ميكنه اگر دقت كرده باشيد مقدار eax برابر 0 است ( هميشه چون كد ما غلطه و مقدار 0 بايد برگدونده شه ) پس ما با دستور inc يعني يكي اضافه كن ميتونيم مقدار Eax رو برابر 1 كنيم يعني سريال درسته :d
البته ميتونيتسم از mov al,1 هم استفاده كنيم و يا mov eax, 1 اما اين ها احتياج به چندين بايت خالي يعني در اولي 00 و يا 90 كه ما اين مقدار جا رو نداريم
اميدوارم كمك كنه
فرمایش درست
مسله مهمتر چطور باید تابع اصلی برنامه رو پیدا کنیم
مشکل اصلی این هست
تو همین برنامه دومیه بین و قبل و بعد پیغام ریجستر شدن و پیغام غلط بودن کد حدود هفت ، هشت ، ده تا
دستور کال وجود داشت چجوری می شه تشخیص داد که کدامیک از این ها اون تابع اصلی هست
Iron_Fist نوشته است:...مسله مهمتر چطور باید تابع اصلی برنامه رو پیدا کنیم ...

سلام
من هم همین سوال رو دارم.
چطور تشخیص بدیم که تابع چک کننده کدوم تابع است؟
ممنون
ببينيد اصولا داخل ديباگر نوشته نشده كه من تابع اصلي هستم بيا منو پچم كن! بلكه اغلب اين تابع توسط برنامه نويس بين توابع ديگه مخفي شده، اين شمائيد كه بايد جاي اين تابع رو تشخيص بديد. دقيقا چيزي كه باعث مي شه يه كركر يا هكر احساس غرور كنه ، توانايي تشخيص مسائل ريزي است كه اغلب ديگران از تشخيص آن عاجز هستند.


من چندتا توصيه براي كسائي كه مثل خودم مبتدي هستند دارم:

1- قبل از هر كاري بهتره روند اجراي قفل رو به صورت يه الگريتم مشخص كنيد. اين خيلي مهمه كه بدونيد برنامه داره چكار مي كنه و چطور و در كجا تشخيص مي ده كه كد نادرست هست. اين دقيقا شبيه به رسم الگريتم قبل از طراحي يك برنامه هست. شما با داشتن اين اطلاعات به خوبي مي تونيد نقاط ضعف طرح حفاظتي (يعني همان جائي كه بايد مورد حمله قرار دهيد ) را تشخيص داده و سپس به آن نفوذ كنيد.

2- شما يك نفوذگر هستيد و ديباگرتان مهمترين اسلحه اي است كه حمل مي كنيد. پس كاملا به آن مسلط شويد و تمام امكاناتي كه در اختيارتان قرار مي دهد را بشناسيد. مثلا براي اينكه بفهميد كدام دستور كال ، تابع اصلي است مي توانيد داخل آن وارد شده و كاري كه انجام مي دهد را مشاهده كنيد. اين كار را با تركيبي از كليدهاي F7 و F8 و F9 مي توانيد انجام دهيد.

كليد F9‌ باعث اجراي برنامه به صورت معمولي خواهد شد. با زدن اين كليد برنامه تا زماني كه به يك بريك پوينت برسد بدون وقفه اجرا خواهد شد.
كليد F8 برنامه را يك خط به جلو مي برد اما زماني كه به توابع مي رسد، آنها را به سرعت اجرا مي كند و نتيجه آن رابه دست مي آورد. يعني شما ديگر وارد خود تابع نخواهيد شد و فقط مقدار نهائي و نتيجه اي كه آن تابع دارد را خواهيد ديد.
كليد F7 اين كليد برنامه را دقيقا گام به گام به جلو مي برد. انگار با ذره بين داريد برنامه را نگام مي كنيد، هيچ كدي اجرا نخواهد شد مگر اينكه شما آن را ببينيد.

خوب در اينجا ابتدا محل متن خطا را پيدا مي كنيم، سپس به ابتداي تابع مي ريم و يك BP ميزاريم. با زدن كليد F9 برنامه اجرا مي شه تا به محلي كه ما BP گذاشتيم مي رسه و برنامه متوقف مي شه. از اينجا به بعد برنامه رو با زدن F8 پيش مي بريم تا به تابعي كه با اون مشكوكيم برسيم. روي تابع كه رسيديم كليد F7‌ رو مي زينيم تا به داخل تابع پرش كنيم ، اونجا هم طبق نياز از كليد F8 يا F7‌ساتفاده مي كنيم تا به زير تابع هاي اون هم نگاه كنيم.
در نهايت با تركيب اين سه حالت مي تونيم با سرعت و دقت بالا برنامه رو ديباگ كنيم.

3- همون تابعي كه آقا سعيد مثال زدن رو در نظر بگيريد، يك خط تابع بيشتر نيست ولي همون يك خط و يك تابع در ديباگر ممكنه چندين تابع مجزا با ده ها بلكه صدها خط كد باشه كه الزاما همه اونها رو لازم نداريم بلكه اونها توابع جانبي هستند كه زمينه رو براي اجراي تابع اصلي فراهم مي كنن.
4- تا مي تونيد قبل از ورود به ديباگر از برنامه اطلاعات كسب كنيد. اين كمك زيادي مي كنه اگه بتونيد قبل از ديسمبلر كردن برنامه ، اون رو دكامپايلش كنيد. دكامپايلرها اين امكان رو به شما مي دن كه فقط كدهايي كه نياز داريد رو ببينيد، يعني دكامپايلر به سادگي هرچه تمام تر تابعي كه قفل رو چك مي كنه به شما نشان خواهد داد و به معناي واقعي كلمه داد مي زنه كه من تابع اصليم بيا پچم كن!! من خيلي وقتها با استفاده از دكامپايلر قبل از ورود به ديباگر قفل رو تشخيص دادم و از ديباگر فقط براي پچ كردن استفاده كردم.
يه دوستي مي گفت قبل از اينكه برنامه رو جراحي كنيد ، خوب بررسيش كنيد، مشكلش رو پيدا كنيد و سپس ابزار مناسب براي جراحي رو انتخاب كرده و اون قده كثيف مزاحم رو دربياريد.
مهدی جان به نکات جالبی اشاره کردی
مخصوصا این تیکه دکامپایلرش رو می گم
اگه اون دکامپایلر که خودت استفاده می کنی و روش ابتدایی کار باش طوری که تو زحمت نیوفتی و در حد چند خط بهمون
توضیح بدی یه دنیا ممنونت می شم
سعید جان شما هم اگه نکته ای در زمینه شناسایی بهتر تابع اصلی برای کرک داری لطف کنید و از ما دریغ نکنید
ممنون از جفتتون که زحمت می کشید
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11