سال نو مبارک
سلام
اول از همه سال نوی همه مبارک
دوم اينکه از همه عزيزان به خاطر اين غيبت طولانی عذر ميخوام
سوم هم اينکه اميدوارم حال همه خوب باشه و سال خوبی پيش رو داشته باشن
بنده از دی ماه درگير مسائل خدمت سربازی بودم و ديگه تقريبا با اينترنت کار نميکردم و به همين دليل اين چند ماه رو ننوشتم. الان هم اومدم تا از همه عذرخواهی کنم.
من فعلا بحث کرک رو گذاشتم کنار پس در نتيجه تا اطلاع ثانوی احتمالا مطلب جديدی نمينويسم. ولی به همه عزيزانی که درخواست لينک داده بودن حتما لينک ميدم و اميدوارم منو ببخشن که تا الان نتونستم لينک بدم.
خلاصه شرمنده همه عزيزان شدم.
تا بعد
سلام
سلام
اميدوارم که حال همه دوستان خوب باشه.
در مورد ديباگر بجز SoftICE بايد بگم که ديباگر OllyDBG هم يکی از ديباگرهای خوب هست که ميتونيد از اون هم استفاده کنيد.
مطلب بعدی اينکه من حداقل تا پنجم - ششم دی نميتونم وبلاگ رو بروز کنم که ميخواستم از اين بابت از همه عذر خواهی کنم.
از همه شما که به من لطف داريد ممنونم.
خداحافظ
Need For Speed Under Ground
سلام
ببخشيد که فعلا نميتونم مطلب بنويسم.
فقط جديدا بازی Need For Speed Under Ground رو کرک کردم تا بدون سی دی اجرا بشه که اگر کسی خواست بگه تا کرک رو براش بفرستم.
تا بعد
يه خبر !
سلام
خبر اينه که متاسفانه من با کسی که صاحب نرم افزار مترجم پارس بود و ديسک قفل اونرو در اختيار من گذاشته بود مشکل پيدا کردم و متاسفانه ديگه نميتونم قفل اين نرم افزار رو برای کسی بفرستم.
اميدوارم که مشکل در آينده حل بشه !
تا بعد
TACracker
!!!!!!!!
سلام
اميدوارم که حال همه خوب باشه.
من متاسفانه چند روزيه که کار دارم و نميتونم زياد با کامپيوتر کار کنم.
الان هم فقط اومدم بگم که بخش آرشيو فايلهایPDF رو يه سری بزنيد !
انشاالله فرصت که بشه باز هم در خدمت هستم.
با تشکر از همه عزيزان
TACracker
new lonks for lessons
_||_|5+ +|)\v_ +|-|3_\-3 :
|_3_\-_\-()/\/ 1 4/\/_\-\/\/3|)\5
then notice me if correct.
Sybarite : }{4/\/\11)
درس اول + حل تمرينهای درس اول + درس دوم
سلام
اميدوارم حال همه شما خوب باشه . با اينکه ده روز فرصت داده بودم تا درس اول رو بخونين و تمرينهاشو حل کنين اما ظاهرا اين فرصت کمی طولانی شد . خب بهتره بگم کميش هم به نفع شما . چون تو اين مدت , هم يکسری به جمع ما اضافه شدن و هم انصافا درس اول سنگين تر از اونی بود که فکر ميکرديم . واسه همين هم از اين پس درسها رو سبکترش ميکنيم. از اينکه حتی يک نفر هم پيدا نشد که راجع به درسها از ما سوالی بپرسه کمی متعجب هستم . اما ميذارم به حساب باهوش بودن شما . 
ديگه اينکه ميخوام يه چيزی رودر گوشی بهتون بگم. بين خودمون باشه.چند وقت يش من به اقا طاهر گير داده بودم و راجع به کرک ازش سوالاتی پرسيدم.اونم انصافا خيلی باحال و حوصله جوابمو ميداد . اما از اونجا که سوالات من متصل به مسايل ابتدايی شده بود من ازش خواستم که همه چيزو خوب بهم توضيح بده . اون هم برای اينکه منو بيشتر راهنمايی کرده باشه به من يشنهاد داد که برم سراغ بازيها و به کرک کردن اونهابپردازم تا ديگه ازم cd نخواد . بعدش ديدم که فرداش خودش يک پست توضيح کامل اونو گذاشته . ضمن اينکه ازش تشکر ميکنم بهتون بگم که اين پست رو خوب بخونين چون حقيقتا کامله و دقيقا به مسايل ابتدايی برای اغاز کرک پرداخته . گرفتين يا نه؟ درواقع اونهايی که ميخوان تواما با يادگيری اسمبلی به کار های عملی نشاط اور بپردازن از همين جا شروع کنن . اونی که ميخواستم در گوشی بهتون بگم اينه که بيايين به طاهر بگين که همينطوری عملی و موضوعی برامون بنويسه . مثلا همين کرک cd . بياين بهش بگين يه سه چهار تا مثال مختلف ديگه برامون بزنه تا خوب ياد بگيريم. اينطوری هم با کرک بطور عملی در گير ميشيم و هم انواع و اقسام مختلف يک کاری رو ياد ميگيريم و به تجربمون اضافه ميشه . 
اما راجه به درسها ...
درس يک رو از اينجا بگيرين . در درس دوم تمرين نداريم اما تيوری های لازم و ضروری رو ياد ميگيرين . باز هم ميگم روی اين چند درس اول خيلی دقت کنين . درس دوم رو هم از اينجا بگيرين .
حل تمام تمرينهای درس اول رو هم ميتونين از اينجا بگيرين .
يه سری سايت توپ و باحال رو هم پيدا کردم که بعدا بهتون معرفی ميکنم.
اگه نظری يا سوالی دارين اين زير کامنت بذارين .ممنون . راستی تا يادم نرفته بگم اين DownloadAll هم مارو بد جوری معتاد خودش کرده . َandroid جان ممنون .
( Sybarite : }{ 4 /\/\ 1 1
کرک نرم افزار نستعليق
سلام
ميخوام درباره کرک نرم افزار خوشنويس ( نستعليق ) که محصول شرکت نوين هست توضيح بدم.
قبل از شروع کار فايلهای موجود در دايرکتوری برنامه در سی دی رو به روی هارد منتقل کنيد.
برای شروع نرم افزار رو اجرا کنيد و به قسمت نصب انتخابی بريد و تمام گزينه ها رو از حالت انتخاب خارج کنيد و دکمه نصب رو بزنيد. يک پنجره باز ميشه که از شما ديسکت قفل رو درخواست ميکنه. روی OK کليک کنيد. همونطور که ميبينيد پيغامی نشون داده ميشه که ديسک وجود نداره.
برنامه رو ببنديد و W32Dasm رو اجرا کنيد. از فايل Khosh.exe يک کپی به نام Khosh.exx تهيه کنيد و اونرو با W32Dasm باز کنيد.
به قسمت String Data References مراجعه کنيد. بدنبال پيغام خطا بگرديد. همونطور که ميبينيد پيغام خطا در اينجا پيدا نميشه. پس بايد کار ديگه ای انجام بديم. در SDR جستجو می کنيم و پيغامهای مشکوک رو بررسی ميکنيم. يکی از اين پيغامهای مشکوک Now checking , please wait هست. روی اون دابل کليک کنيد تا به قسمتی شبيه زير برسيد :
:0045F7E7 807DFB00 cmp byte ptr [ebp-05], 00
:0045F7EB 0F8484000000 je 0045F875
* Possible StringData Ref from Code Obj ->"Now checking, please wait . . "
->"."
|
:0045F7F1 BA50F94500 mov edx, 0045F950
:0045F7F6 8B45FC mov eax, dword ptr [ebp-04]
:0045F7F9 8B80D8020000 mov eax, dword ptr [eax+000002D8]
:0045F7FF E870A4FCFF call 00429C74
* Possible StringData Ref from Code Obj ->"This may take a few minutes!"
|
:0045F804 BA78F94500 mov edx, 0045F978
همونطور که مشاهده ميکنيد اين احتمالا همون پيغامی که موقع چک کردن ديسک قفل نشون داده ميشه. پس تست ميکنيم ببينيم که حدس ما درسته يا نه !
بالای پيغام يک دستور je وجود داره. کار رو با اون شروع ميکنيم. افست خطی رو که شامل اين دستور هست رو يادداشت کنيد. HIEW رو اجرا کنيد و فايل Khosh.exe رو باز کنيد و به افست مورد نظر بريد و اين دستور رو به nop تبديل کنيد. حالا فايل رو ذخيره کنيد و از HIEW خارج بشيد. برنامه خوشنويس رو اجرا کنيد و به قسمت نصب انتخابی بريد و باز هم تمام گزينه ها رو از حالت انتخاب خارج کنيد و دکمه نصب رو بزنيد. پيغامی که ديسک قفل رو درخواست ميکنه ظاهر ميشه. روی OK کليک کنيد!
همونطور که ميبینيد ديگه پيغام خطا نشون داده نشد و پنجره درخواست قفل بسته شد. يکبار ديگه دکمه نصب رو بزنيد ! اينبار ديگه پنجره قفل نشون داده نميشه و برنامه ادامه پيدا ميکنه و پنجره ای که بعد از نصب فايلهای انتخابی بايد نشون داده بشه ، ديده ميشه. حالا اگه ميخوايد تست کنيد که برنامه واقعا کار ميکنه يا نه ، در ليست انتخاب اجزای برنامه گزينه فونتهای جديد اضافی رو انتخاب کنيد و دکمه نصب رو بزنيد. همونطور که ميبينيد فونتها نصب ميشن پس برنامه کار خودش رو بدرستی انجام ميده !
در اين حالت اگه بجای قسمت نصب انتخابی به قسمت نصب هم مراجعه کنيد برنامه کار خودش رو انجام ميده و فايلهای مورد نياز رو نصب ميکنه. در حال حاضر گزينه برداشتن همه هم کار ميکنه و در آخر که ديسک قفل رو ميخواد ميتونيد روی Close کليک کنيد.
خوب ، من ديگه بيشتر از اين توضيح نميدم ولی آدرسهايی رو که در زير ميدم چک کنيد تا خودتون بفهميد چه خبره. در ضمن جلوی هر آدرس تغييری رو که من ايجاد کردم نوشتم ولی شما خودتون بررسی کنيد و دليل اين تغيير رو پيدا کنيد :
4632BD ----> JMP
4634B1 ----> JMP
463500 ----> JMP
46354E ----> JMP
4636D3 ----> JMP
همچنين بعد از تمام اين تغييرات ميتونيد با دستکاری بخشهای مختلف برنامه و تغيير بعضی پيغامهای موجود ميتونيد برنامه رو بهينه کنيد.
من اين تغغيراتی رو که گفتم انجام دادم و يک فايل patch درست کردم. اگر کسی از دوستان اين patch رو ميخواد پيام بذاره تا براش بفرستم.
موفق باشيد
TACracker
تمرين با SoftICE - کرک DeadlyDozen 2
سلام
امروز ميخوايم که کمی با SoftICE کار کنيم و با اون کمی بيشتر آشنا بشيم.
ميخوام توضيح بدم که چطور با اين برنامه بازی Deadly Dozen 2 رو کرک ميکنيم تا بدون احتياج به CD اجرا بشه.
خوب ، برای شروع کار بايد بازی رو نصب کرده باشيد و SoftICE رو هم نصب و اجرا کرده باشيد.
بازی رو بدون گذاشتن سی دی توی درايو اجرا کنيد. همونطور که ميبينيد يه پيغام خطا ظاهر ميشه که ميگه سی دی رو تو درايو بذاريد و بازی رو دوباره اجرا کنيد.
برخلاف دفعه های قبل اينبار متن اين پيام اصلا برای ما مهم نيست و با اون کاری نداريم.
اينبار ما ميخوايم با استفاده از توابع API که قبلا راجع بهشون صحبت کرده بوديم اين بازی رو کرک کنيم. با استفاده از تابع GetDriveTypeA که قبلا معرفی کرده بودم.
اين تابع برای تست وجود يک درايو خاص استفاده ميشه و از اون برای تست وجود سی دی هم استفاده ميکنند.
اين تابع در جواب يک عدد برميگردونه که از اين عدد در تشخيص وجود سی دی در درايو استفاده ميشه که در اين مورد در صورت وجود سی دی در درايو عدد ۵ برگشت داده ميشه .
در Win32.hlp در مورد اين تابع بصورت زير توضيح داده شده :
The GetDriveType function determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.
UINT GetDriveType(
LPCTSTR lpRootPathName // address of root path
);
Parameters
lpRootPathName
Points to a null-terminated string that specifies the root directory of the disk to return information about. If lpRootPathName is NULL, the function uses the root of the current directory.
Return Value
The return value specifies the type of drive. It can be one of the following values:
Value Meaning
0 The drive type cannot be determined.
1 The root directory does not exist.
DRIVE_REMOVABLE The drive can be removed from the drive.
DRIVE_FIXED The disk cannot be removed from the drive.
DRIVE_REMOTE The drive is a remote (network) drive.
DRIVE_CDROM The drive is a CD-ROM drive.
DRIVE_RAMDISK The drive is a RAM disk.
عدد ۵ هميشه نشاندهنده سی دی هست.
خوب ، برای شروع کار به محل نصب بازی بريد و يک کپی از فايل Ddozen2.exe تهيه کنيد تا در صورت نياز از اون استفاده کنيد.
حالا با زدن Ctrl + D به SoftICE وارد بشيد. خوب ، همونطور که ميبينيد خط فرمان آماده دريافت فرمانهای شماست. همونطور که قبلا گفتم با استفاده از دستور BPX ميتونيد روی API های مختلف BreakPoint بذاريد. برای ادامه کار با دستور زير يک BP روی تابع GetDriveTypeA ميذاريم :
BPX Getdrivetypea
بعد از نوشتن دستور اينتر بزنيد. اگر کار بدرستی انجام شده باشه و BP قرار گرفته باشه هيچ پيغامی درياف نميکنيد. با دستور BL ميتونيد ليست BP های موجود رو ببينيد.
خوب ، حالا بعد از قرار دادن BP برای ادامه کار با زدن Ctrl + D از SoftICE خارج بشيد و بازی رو از همونجايی که قرار داريد بدون وجود سی دی اجرا کنيد. همونطور که ميبينيد به SoftICE برگشتيد !
چی شده ؟ با اجرا شدن بازی تابع GetDriveTypeA فراخوانی شده و چون ما در SoftICE روی اين تابع BP گذاشته بوديم با فراخوانی اين تابع SoftICE بالا اومده.
خوب ، ما الان در ابتدای تابع قرار داريم. با يکبار زدن کليد F11 به محل فراخوانی تابع برميگرديم. شما بايد الان در جايی مثل اين باشيد :
017F:004534CA CALL ESI
017F:004534CC CMP EAX,05 ما الان روی اين خط هستيم
017F:004534CF JNZ 00453514
همينطور که ميبينید ما الان روی قسمتی هستيم که مقدار برگشتی تابع با عدد ۵ مقايسه ميشه تا معلوم بشه که سی دی در درايو وجود داشته يا نه. چون ما بازی رو بدن سی دی اجرا کرده بوديم پس ميدونيم که نتيجه اين مقايسه منفی خواهد بود. با يکبار زدن F10 خط مقايسه اجرا ميشه. با اين کار روی خط JNZ قرار ميگيريم. همونطور که ميبينيد برنامه نشون ميده که در صورت زدن F10 اين پرش به سمت پايين انجام خواهد شد. ما نميخوايم اين پرش انجام بشه چون ميدونيم که در اون صورت به سمت پيغام خطا خواهيم رفت. پس بايد کاری کنيم که اين پرش انجام نشه و اينکار رو با برعکس کردن وضعيت فلگ صفر انجام ميديم با دستور زير :
R FL Z
اين دستور وضعيت فلگ صفر رو برعکس ميکنه. با زدن اين دستور همونطور که ميبينيد اون قسمتی که جلوی خط JNZ وجود داشت و نشون ميداد که پرش انجام ميشه حالا ميگه که پرش انجام نخواهد شد. پس آدرس اون خط که شامل دستور JNZ ميشه رو بايد يادداشت کنيم تا بعدا در متن برنامه اونرو به nop تبديل کنيم تا اين پرش هيچوقت انجام نشه. آدرس بصورت زير هست :
004534CA
البته توجه کنيد که اين آدرس مجازی هست و در حقيقت در رم قرار داره و همچين آدرسی در فايل وجود نداره. در حقيقت اين يک RVA هست که بعدا ميگم چطور بايد اونرو به آدرس فايل تبديل کنيد. خوب ، تا اينجای کار که خوب جلو رفتيم. حالا که پرش انجام نميشه با زدن F10 در کد پايين ميريم تا به خط زير برسيم :
017F:004534FA CALL EDI
روی اين خط توقف کنيد و ازش رد نشيد. اگه با زدن F10 از روی اين خط رد بشيد مشاهده ميکنيد که يک مراجعه به فلاپی درايو انجام خواهد شد. البته چون من قبلا از روی اين خط رد شدم و اين اتفاق افتاد دارم اينرو ميگم پس شما هم با زدن F10 از روی اين خط رد بشيد و آدرس اين خط رو يادداشت کنيد تا بعدا اين خط رو هم nop کنيم.
با زدن F10 بکار ادامه بديد تا برسيد به خطوط زير :
017F:00453510 TEST EAX,EAX <---- ما اينجا هستيم
017F:00453512 JZ 0045351A
017F:00453514 INC EBX
017F:00453515 CMP EBX,1A
017F:00453528 JL 004534A4
وقتی روی خط TEST قرار گرفتيد يکبار F10 بزنيد تا روی خط JZ قرار بگيريد. همونطور که ميبينيد اين خط پرش نخواهد کرد چون عبارت No Jump در انتهای خط نوشته شده. حالا به خطوط زيری دقت کنيد. پرش بعدی به آدرسی هست که بالای جايی که ما قرار داريم ، قرار داره. پرشی که ما الان روش قرار داريم به پايين هست و به خطی پايينتر از خط پرش بعدی اشاره داره. پس بايد کاری کنيم که اين پرش انجام بشه. پس از دستور R FL Z استفاده ميکنيم و با تغيير دادن وضعيت فلگ صفر JZ رو مجبور به پرش ميکنيم. بعد از زدن دستور عبارت No Jump به Jump و يک فلش به سمت پايين تغيير پيدا ميکنه که نشوندهنده اينه که پرش به سمت پايين انجام خواهد شد. پس آدرس اين خط JZ رو هم يادداشت ميکنيم تا بعدا اونرو به JMP تبديل کنيم. حالا با زدن F10 به کا ادامه ميديم و به خطوط زير ميرسيم :
017F:0045351A CMP EBX,1A <-- ما اينجا قرار داريم
017F:0045351D PUSH 00
017F:0045351F JNZ 0045355B
با زدن F10 به سمت پايين حرکت کنيد تا بروی JNZ برسيد. از عبارت Jump و فلش پايين ميفهميم که اين پرش انجام خواهد شد. به خطوط زير اين خط توجه کنيد ! تابعی رو که پيغام خطا رو توليد ميکنه مشاهده ميکنيد. با نگه داشتن کليد Ctrl و با استفاده از کليد جهت پايين صفحه رو کمی پايين بياريد تا ببينيد که پرش به کدوم خط انجام خواهد شد. خوب ، اين پرش بايد انجام بشه تا به پيغام خطا برخورد نکنيم پس آدرس اين خط رو هم يادداشت کنيد تا اونرو هم بعدا به JMP تبديل کنيم. با زدن F10 پرش رو انجام بديد و به حرکت خودتون به سمت پايين با F10 ادامه بديد تا به خطوط زير برسيد :
017F:00453573 TEST EAX,EAX
017F:00453575 JZ 00453580 <-- ما اينجا قرار داريم
همونطور که ميبينيد اين پرش هم انجام خواهد شد. به مقصد پرش دقت کنيد :
017F:00453580 MOV ESI,[USER32!GetSystemMetrics]
از اين خط به بعد ديگه بازی ميره برای اجرا !
پس آدرس اين JZ آخر رو هم يادداشت کنيد تا اونرو هم به JMP تبديل کنيم تا فايل بازی کاملا کرک بشه و بدون احتياج به سی دی اجرا بشه !
حالا بايد BP ای رو که گذاشته بوديد پاک کنيد. برای اينکار ميتونيد از يکی از دستورات زير استفاده کنيد :
BC *
BC 0
که دستور اول همه BP ها و دستور دوم BP شماره صفر رو که چون ما فقط يک BP داشتيم همون BP ما هست پاک ميکنه.
ليست زير تغييراتی رو که بايد اعمال بشه نشون ميده :
***Address*** ***From*** ***To***
004534CF JNZ Nop
004534FA CALL Nop
00453512 JZ JMP
0045351F JNZ JMP
00453575 JZ JMP
حالا تنها مشکل باقيمونده اينه که اين آدرسهای RVA رو به آدرس افست فايل تبديل کنيم تا بتونيم تغييرات رو اعمال کنيم. برای اينکار به يک برنامه احتياج داريم به اسم RVA Converter که ميتونه اين کار رو برای ما انجام بده.
اين برنامه رو از آدرس زير بگيريد ( روی آدرس راست کليک کنيد و Save target as رو بزنيد !!! ) :
http://persiacrack.freewebpage.org/files/rva.zip
برنامه رو اجرا کنيد و فايل Ddozen2.exe رو لود کنيد و گزينه RVA to File رو بزنيد و تک تک آدرسها رو در قسمت RVA وارد کنيد و آدرس قسمت File رو يادداشت کنيد. آدرسها بصورت زير خواهند بود :
***RVA*** ***File*** ***Changed To***
004534CF 534CF NOP
004534FA 534FA NOP
00453512 53512 JMP
004535AF 5351F JMP
00453575 53575 JMP
خوب ، تغييرات رو با يک Hex Editor مثل HIEW روی فايل Ddozen2.exe اعمال کنيد و بازی رو بدون سی دی اجرا کنيد !
اگر مشکلی پيش اومد مراحل رو چک کنيد. در ضمن اين رو هم يادتون باشه شايد آدرسها در سيستم شما فرق کنه !!! ولی روش همينه.
در ضمن نسخه PDF درس امروز هم از آدرس زير بگيريد :
http://persiacrack.freewebpage.org/files/deadlydozen2.pdf
اميدوارم که بيشتر از هميشه مفيد بوده باشه.
تا بعد
TACracker
خبر جديد
سلام
دوستان عزيز ميخواستم به اطلاع برسونم که نرم افزارهای Novin XP و Nastaliq که هر دو محصول شرکت نوين هستند کرک شدند!
سعی ميکنم بزودی روش کار رو بنويسم.
تا بعد
TACraker
پاسخ به بعضی از سوالات
سلام
دوستا عزيز من تمام فايلهای PDF رو تست کردم . هيچ کدوم مشکلی نداره و همشون کار ميکنه !
در مورد SoftICE Driver Suite هم بايد بگم من فعلا با اون کاری ندارم و با همين SoftICE معمولی که نسخه ۵/۴ هست کار ميکنم.
در ضمن اين نسخه ای که برای NT هست با يک Patch تو XP هم کار ميکنه ولی بهترين حالت همونه که با SoftICE توی ويندوز ۹۸ کار کنيد.
تا بعد
TACracker
ادامه لينک آرشيو PDF
سلام
بقيه لينکهای PDF رو براتون ميذارم.
اميدوارم که بدردتون بخوره !
فقط لطف کنيد و اگر خواستيد مطلبی از توی اين متنها نقل کنيد منبعش رو هم ذکر کنيد.
برای دانلود روی لينک مورد نظر راست کليک کنيد و Save target as رو بزنيد.
http://persiacrackers.tripod.com/pdf/w32dasm.pdf
http://persiacrackers.tripod.com/pdf/api.pdf
http://persiacrackers.tripod.com/pdf/asm.pdf
http://persiacrackers.tripod.com/pdf/bmp.pdf
http://persiacrackers.tripod.com/pdf/farsinegar.pdf
http://persiacrackers.tripod.com/pdf/fmail.pdf
http://persiacrackers.tripod.com/pdf/gameshacking.pdf
http://persiacrackers.tripod.com/pdf/nag-myipsuite.pdf
http://persiacrackers.tripod.com/pdf/nags-2.pdf
http://persiacrackers.tripod.com/pdf/parwinxp.pdf
http://persiacrackers.tripod.com/pdf/parwinxp-new.pdf
http://persiacrackers.tripod.com/pdf/softice01.pdf
ممنون و بای
TACracker
سريع دانلود کنيد SoftICE 4.5 NT
سلام
دوست خوبم Cyberseizor لطف کردند و لينک زير رو برای دانلود SoftICE 4.5 NT به بنده دادن تا بذارم تو وبلاگ که بقيه دوستان هم استفاده کنن :
http://www.qoqo.org/Softicexp.part1.rar
http://www.qoqo.org/Softicexp.part2.rar
http://www.qoqo.org/Softicexp.part3.rar
http://www.qoqo.org/Softicexp.part4.rar
فقط لطف کنيد و اگر برنامه رو ميخوايد سريع دانلود کنيد چون چند روز ديگه از اونجا برداشته ميشه !!!
ممنون
TACracker
آرشيو درسها بصورت PDF
سلام
ميخواستم به اطلاع عزيزان برسونم که يک سری از درسهای گذشته وبلاگ رو بصورت PDF درست کردم و دارم اين سری رو تا ايجايی که درس دادم کامل ميکنم.
يک نمونه از اين PDF ها رو ميتونيد از آدرس زير دانلود کنيد. فقط توجه کنيد برای دريافت اين فايل روی لينک زير راست کليک کنيد و Save target as رو بزنيد :
http://persiacrack.freewebpage.org/files/w32dasm.pdf
اگر خوشتون اومد بگين تا بقيه لينکها رو هم بذارم.
ذکر مطلب از داخل اين درسها با ذکر منبع ايرادی نداره !
ممنون
TACracker
آشنايی با SoftICE
سلام
امروز ميخوام يه کمی درباره SoftICE توضيح بدم.
همونطور که احتمالا همه ميدونيد SoftICE يکی از ديباگرهای بسيار قوی هست که اکثر برنامه های درست و حسابی رو با اون کرک ميکنند.
من از نسخه ۵/۴ اين برنامه استفاده ميکنم که بطور طبيعی در ويندوز ۹۸ استفاده ميشه و بطور معمولی نميشه از اون در ويندوز ميلنيوم يا اکس پی استفاده کرد.
خوب ، بعد از نصب برنامه برای اينکه برنامه بدرستی کار کنه بايد چند تنظيم جزئی در فايل Winice.dat ايجاد کنيد تا چند تا از فايلهای DLL مهم ويندوز تحت کنترل SoftICE قرار بگيرن.
برای اينکار به محل نصب برنامه مراجعه کنيد و فايل Winice.dat رو با Notpad يا يه چيزی مثل اون باز کنيد و تغييرات زير رو انجام بديد :
در فايل فوق يک خط بصورت زير وجود داره :
PHYSMB=32
اين خط نشوندهنده مقدار رم سيستم شماست ، پس مقدار اون رو به اندازه رم سيستم خودتون تنظيم کنيد.
چند خط مهم ديگه هم بصورت زير هستن :
; ***** Examples of export symbols that can be included for Windows 95 *****
; Change the path to the appropriate drive and directory
;EXP=c:\windows\system\kernel32.dll
;EXP=c:\windows\system\user32.dll
;EXP=c:\windows\system\gdi32.dll
;EXP=c:\windows\system\comdlg32.dll
;EXP=c:\windows\system\shell32.dll
همونطور که ميبينيد اين خطوط شامل آدرس فايلهای DLL ويندوز شما هستن. اولا اين علامتهای ; رو از اولشون برداريد و ثانيا اگه مسير نصب ويندوز شما چيزی به غير از اون مسيريه که نشون داده شده ، مسير ها رو تصحيح کنيد.
همين مقدار تنظيمات برای شروع کار کفايت ميکنه. پس فايل رو ذخيره کنيد و سيستم رو ريست کنيد تا تغييرات اعمال بشه.
برای شروع کار با SoftICE و نشون داده شدن پنجره اصلی اون بايد کليدهای Ctrl+Dرو بزنيد. توجه کنيد که وقتی به SoftICE وارد ميشيد کل سيستم تحت اختيار اين برنامه قرار ميگيره يعنی شما هيچ کاری نميتونين تا وقتی که توی SoftICE هستين با ويندوز انجام بديد و اين به اين معنی هست که اگه دارين موزيک گوش ميکنيد قبل از ورود به SoftICE بايد تعطيلش کنيد و گرنه خود SoftICE اين کار به نحو ناجوری انجام ميده يعنی موزيکی که دارين گوش ميکنين روی يه قسمت گير ميکنه وهی تکرار ميشه !
کلا در هنگام کار با SoftICE و کار بر روی يک برنامه برای کرک کردن اون با SoftICE سعی کنيد تا حد امکان برنامه های در حال اجرای ديگه رو ببنديد تا تداخلی در کار بوجود نياد.
در پنجره SoftICE بصورت عادی از بالا به ترتيب پنجره ای برای نمايش رجيسترها و فلگها ، پنجره ای برای نمايش DATA ، پنجره ای برای نمايش کد برنامه ای که روی اون کار ميشه و در آخر هم يک خط فرمان وجود داره.
توجه کنيد که من نميخوام SoftICE رو از سير تا پياز توضيح بدم و فقط قصد آشنا کردن شما با اين برنامه رو دارم تا بتونم بعضی از کارهايی رو که با اين برنامه ميشه انجام داد رو برای شما بگم. بعضی از کارهايی که خودم با اين برنامه انجام دادم.
پس اگه ميخواهيد که اين برنامه رو کامل ياد بگيرين بايد به مراجع ديگه ای مراجعه کنيد.
بعضی از دستورها هستن که در SoftICE زياد استفاده ميشن که به مرور با اونها بيشتر آشنا ميشيد ولی الان چندتايی از اونها رو ميگم :
BPX
من به شکل کلی اين دستور کار ندارم و اونطوری که اکثرا ازش استفاده ميشه رو ميگم. با اين دستور ما ميتونيم روی اجرا شدن يک API خاص در برنامه کنترل داشته باشيم يعنی يک BreakPoint قرار بديم. بعدا در مثالهای بعدی با طرز استفاده از اين دستور آشنا ميشيد.
BC
با استفاده از اين دستور ميشه BreakPoint ها رو پاک کرد هم بطور کلی و هم بطور تک تک.
BD
با استفاده از اين دستور ميتونيد يک BreakPoint يا همون BP رو غيرفعال کنيد.
BE
با اين دستور ميشه BP غيرفعال شده رو باز فعال کرد.
BL
اين دستور ليستی از BP های قرار داده شده به شما نشون ميده.
D
با اين دستور ميتونيد يک آدرس از حافظه رو و يا مقدار داخل يکی از رجيسترهای مختلف مثل EAX رو ببينيد.
R FL Z
دستور فوق صرفا وضعيت فلگ صفر رو برعکس ميکنه يعنی اگر فعال باشه ، غيرفعال و اگر غير فعال باشه ، فعال ميکنه. Z در اين دستور نشوندهنده فلگ صفر هست که ميشه اونرو به نام هر فلگ ديگه ای تغيير داد تا وضعيت فلگ مورد نظر برعکس بشه.
X
اين دستور از SoftICE خارج ميشه.
همچنين کليدهايی که در SoftICE استفاده ميشه به ترتيب زير هست :
F8
از اين کليد برای وارد شدن به يک زيربرنامه در هنگام کار بر روی کد برنامه استفاده ميشه يعنی مثلا اگر HighLight رو يک دستور Call قرار داشته باشه با زدن اين کليد به داخل Call نفوذ ميکنيد.
F10
اين کليد برای جلو رفتن در کد بدون وارد شدن به زيربرنامه ها استفاده ميشه. يعنی اگر بر روی Call باشيد با زدن اين کليد برنامه Call رو اجرا ميکنه و به خط بعدی ميره.
F11
اين کليد برای اينه که شما از داخل يک تابع به محل فراخوانی اون تابع برگرديد.
F12
اين کليد هم مثل F11 هست با اين تفاوت که از هرجای کد که باشين به بک مرحله قبلتر بر ميگردين.
توجه داشته باشين که در مثالهايی که بعدا ميگم نحوه کار با اين کليدها و دستورها براتون رو شنتر ميشه. پس زياد نگران نباشيد!
در مطلب بعدی با SoftICE کار ميکنيم.
تا بعد
TACracker
يک پيغام جالب !
سلام
اميدوارم که حال همه خوب باشه.
يکی از دوستان محترم يک پيغام جالب فرستادن که گفتم اگر همه ببينن خيلی خوب ميشه.
فکر ميکنم که کاملا حق با ايشونه و البته اين فقط نظر منه !
متن پيغام اينه :
پارس ! نارسيس ! چت !
سلام
در مورد مترجم پارس : دوستانی که ديسکت قفل مترجم پارس رو ميخوان لطف کنن و يک پيغام بذارن و نوع مترجم پارسی رو که دارن يعنی اينکه عمومی يا ۲۱ رشته تخصصی هست رو مشخص کنن و همچنين آدرس ايميلشون رو هم بنويسن تا فايلهای لازم رو براشون ارسال کنم.
در مورد نارسيس : اين برنامه بايد روش کار بشه و فعلا چيزی نميتونم بگم.
درمورد چت با من : من معمولا اکثر شبها از ساعت ۱۰ شب به بعد تا وقتی که مقدور باشه آنلاين هستم و دوستان ميتونن اگر کاری دارن بگن.
فعلا خداحافظ
مترجم پارس !!!
سلام
دوستانی که در مورد مترجم پارس سوال کردن لطف کنند و يه نگاهی به مطالب قبلی وبلاگ بندازند !
من قبلا در اين مورد توضيح دادم.
ممنون
نسخه جديد پروين ۲۰۰۳
سلام
چند وقت پيش يک نسخه از پروين ۲۰۰۳ بدستم رسيد که کمی از نظر قفل با اونی که قبلا توضيح دادم فرق داره.
اينبار ميخوام درباره اين نسخه از پروين ۲۰۰۳ توضيح بدم چون بظاهر جديدتر از نسخه قبليه و احتمال داره که دوستان بيشتر به اين نسخه بر بخورند.
اين نسخه جديد کمی از نظر تعداد جاهايی که بايد تغيير داده بشن تا برنامه کارکنه فرق داره و تعداد اين محلها بيشتر شده.
اول از همه اينکه تو اين نسخه هم اگه فرم خالی رو تاييد کنيد باز به پيغام Please compelete you form برخورد ميکنيد.
پس اول از همينجا شروع ميکنيم. از فايل اجرايی برنامه که ParwinXP.exe هست يک کپی تهيه کنيد و اونرو بنام ParwinXP.exx ذخيره کنيد. اين فايل رو در W32Dasm باز کنيد و در SDR يا String Data References بدنبال پيغام مورد نظر بگرديد و بعد از پيدا کردن اون روش دابل کليک کنيد تا به محل توليد خطا برسيد. محل توليد خطا بصورت زير هست :
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00406A28(C), :00406A2E(C)
|
:00406AA1 6A00 push 00000000
:00406AA3 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"Please complete your form"
|
:00406AA5 6864C84400 push 0044C864
:00406AAA E8F4110300 call 00437CA3
همونطور که ميبينيد چند خط بالاتر از پيغام خطا به دو آدرس اشاره شده که بوسيله پرش شرطی يا همون Conditional Jump به اين پيغام پرش ميکنند. با استفاده از Goto Code Location به اولين محل بريد :
:00406A28 7577 jne 00406AA1
:00406A2A 837D5C05 cmp dword ptr [ebp+5C], 00000005
:00406A2E 7571 jne 00406AA1
همونطور که ميبينيد يک دستور jne داريم و دو خط بعد هم که همون محل دوم هست باز يک پرش ديگه داريم. خوب ، بعد از يادداشت کردن افست اين دو محل که به ترتيب 6A28 و 6A2E هستند به برنامه HIEW بريد و فايل ParwinXP.exe رو باز کنيد و به حالت Decode بريد و با F5 به افستهای مورد نظر پرش کنيد و اين دو دستور jne رو که هر کدوم ۲ بايت هستن با ۲ بار کد 90 يا همون nop برای هر کدوم اونها رو غير فعال کنيد.
حالا از اديتور خارج بشيد و پروين رو اجرا کنيد و بدون وارد کردن هيچ کدی در محلهای در نظر گرفته شده تاييد رو بزنيد. همونطور که ميبينيد پيغام خطای جديدی نمايش داده ميشه بصورت If you want to run ParWin 2003 . خوب ، حالا به W32Dasm برگرديد و در SDR بدنبال اين پيغام خطای جديد بگرديد. بعد از پيدا کردن اين پيغام خطا باز هم روی اون دابل کليک کنيد تا به محل خطا پرش کنيد :
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040BB26(C)
|
:0040BCE5 6A40 push 00000040
* Possible StringData Ref from Data Obj ->"ParWin 2003"
|
:0040BCE7 68E8CB4400 push 0044CBE8
* Possible StringData Ref from Data Obj ->"If you want to run ParWin 2003 "
->"please register your"
|
:0040BCEC 684CD04400 push 0044D04C
همونطور که ميبينيد باز هم چند خط بالاتر نشون داده شده که يک پرش شرطی در خط 40BB26 باعث پرش برنامه به اين محل شده پس به اون خط بريد :
:0040BB26 0F85B9010000 jne 0040BCE5
باز هم ميبينيد که يک دستور jne داريم. باز هم افست رو يادداشت کنيد و با HIEW اين دستور رو هم به nop تبديل کنيد. فقط دقت داشته باشين که اين دستور ۶ بايتی هست پس به ۶ بار ۹۰ احتياج داريد.
بعد از ذخيره تغييرات و بستن اديتور باز هم پروين رو اجرا کنيد و تاييد رو بزنيد. باز هم يک پيغام خطای جديد. اينبار پيغام you can not use from this serial هست. باز هم در SDR اين پيغام رو پيدا کنيد و به محل توليد خطا بريد :
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040CE30(C), :0040CE3C(C)
|
* Possible StringData Ref from Data Obj ->"SaveConfig.dat"
|
:0040CEF8 682CD34400 push 0044D32C
* Reference To: KERNEL32.DeleteFileA, Ord:0057h
|
:0040CEFD FF15A4024400 Call dword ptr [004402A4]
:0040CF03 6A40 push 00000040
* Possible StringData Ref from Data Obj ->"ParWin 2003"
|
:0040CF05 68E8CB4400 push 0044CBE8
* Possible StringData Ref from Data Obj ->" You can not use from this serial "
->"number,"
|
:0040CF0A 6898D24400 push 0044D298
باز هم در بالای اين پيغام به دو پرش شرطی اشاره شده که به اين محل پرش ميکنند پس به اون دو محل بريد :
:0040CE30 0F85C2000000 jne 0040CEF8
:0040CE36 3805DDF44400 cmp byte ptr [0044F4DD], al
:0040CE3C 0F85B6000000 jne 0040CEF8
باز هم دو پرش پشت سر هم داريم که هر کدوم ۶ بايت طول دارند. افست ها رو يادداشت کنيد و با HIEW اين دستور ها به nop تغيير بديد. فايل رو ذخيره کنيد و پروين رو اجرا کنيد و تاييد رو بزنيد. در اينجا باز هم احتمال پيش اومدن دو حالت وجود داره : يکی اينکه برنامه اجرا بشه و ديگری اينکه با Error 1923 برخورد کنيد.
ما برای پيشگيری از بروز اين خطا در SDR بدنبال اين خطا هم ميگرديم و اون رو هم غير فعال ميکنيم که اين يک مورد رو خودتون براحتی ميتونيد انجام بديد.
در آخر هم فقط باز قضيه اين پنجره ای که در اول اجرای برنامه نشون داده ميشه پيش مياد که روش از بين بردن اون هم مثل دفعه قبل هست ولی اگر حال و حوصله گشتن دنبال اونرو نداريد کافيه با HIEW در حالت HEX يه سری به آدرس 6B886 بزنند و اون 82 اونجا رو با 7E عوض کنند !
اينم از اين نسخه جديد پروين ۲۰۰۳ !
اميدوارم که اين مطلب هم مفيد بوده باشه.
تا بعد
TACracker
مشکل PDF
سلام
خدمت دوستانی که با فايل PDF آقا حميد مشکل دارند و نميتونند اونرو دريافت کنند بايد عرض کنم که لطف کنند و روی اين کلمه درس اول که در خط زير گذاشتم رايت کليک کنند و گزينه Save targer as رو انتخاب کنند و فايل رو ذخيره کنند :
