PDA

View Full Version : قفل نرم افزاری



said ali
یک شنبه 10 اسفند 1382, 08:57 صبح
با سلام
اینم قفل مدیفای شده.
"امیدوارم نشکنه.
برای اطلاعات بیشتر به من ایمیل بزنید.
از تمامی هکرها دعوت میکنم این قفل رو بشکنند!!!! ولی دو تا شرط داره:
1- اگه خدای نکرده شکست چگونگی شکستن اون رو واسم PM کنن ممنون میشم چون بالاخره در بهبود قفل موثره.
2- اگه ان شا الله نشکست به بقیه دوستاشون بگن اون رو بشکونن!!!!"
برای اپلودش بارها تلاش کردم تا الان تونستم: یه بار کامپیوتر خراب شد یه بار سایت خراب شد یه بار شبکه خراب شد یه بار هم که اصلا سایت میگفت بیشتر از حد داری جا اشغال میکنی :?: :?: :?: :?: .اقای کرامتی این خطا رو میشه یه جوری درست کنید که دیگه نیازی به این کار یکه من کردم نباشه(فایل اولیه حذف شد).

Fh_prg
یک شنبه 10 اسفند 1382, 14:03 عصر
Cracked

said ali
یک شنبه 10 اسفند 1382, 14:35 عصر
با سلام
عزیزان توجه کنن اون قفلی که من نوشتم تو dll نه تو برنامه. کرک کردن برنامه که هنر نیست اگه اون Ali.key رو با یه Notepad باز کنید کاملا جا میفته . برای ثبت قفل از ساده ترین روش استفاده کردم که زیاد وقتمو نگیره وگرنه ثبت قفل تو رجیستری که خیلی راحته.
لطفا دیگه از این اشتباهات نکنید یه دفعه پس میفتم میمیرم!!!!!.
روش پیدا کردن اون کد رو بدین نه روش ثبت برنامه.
ان شا الله جا افتاده باشه.

Fh_prg
یک شنبه 10 اسفند 1382, 14:40 عصر
یک کراکر خوب همیشه ساده ترین راهو انتخاب میکنه حالا تو اگه قویترین الگوریتم کد کردنو نوشته باشی براش فرقی نمیکنه مهم اینه که برنامه رجیستر بشه ?ok
:wink:

said ali
یک شنبه 10 اسفند 1382, 16:09 عصر
با سلام
کارت عالی بود.
اصلاحش میکنم.

Mashatan
یک شنبه 10 اسفند 1382, 18:51 عصر
اول از همه میخوام از said ali عزیز تشکر کنم به خاطر این حرکت بسیار مثبت که انجام دادن امیدوارم شروع خوبی باشه برای کارهای بعدی و یادمون باشه این حرکات شهامت زیادی میخواد که از هر آدمی ساخته نیست.
به اینجور برنامه های Crack me گفته میشه که برای تست کرکرها و نشان دادن الگوریتمهای Anti Carck هست که خیلی در خارج از این جور برنامه درست میشه برای تست Protection و به خاطر این برنامه ها هست که الان قفل های بسیار پر قدرتی تولید میکنند .

از DLL شروع میکنم .
در DLL دو تا Function وجود دارد یکی Code و دیگری TestOK که اولی برای ساختن Key هست و دومی برای چک کردن قفل است که یک Boolean رو برگشت میده.
اشکالی که همینجا باید بگم اینکه متغییر های پارامتر TestOK از نوع String هستند و باید از نوع Pchar باشند و یا اینکه باید از StdCall استفاده نکنید ! برای همین مورد هست که خطای Invalid pointer operation میده ! و اگر چند با روی Register کلیک کنید این پیغام دیده میشه !
برای کرک کردن DLL احتیاج به کار خاصی نیست کلا در Function های که Boolean برگشت میدن در کد اسمبلی فقط mov al,1 و یا 0 میشه ، کافیه در اول function یک mov eax,1 رو جایگزین کنید و کد بعدی Retn کنید به صورت زیر
البته قبلا من از Export آدرس تابع رو درآوردم که در چه آدرسی هست 0044D0DC !

قبل از تغییر

:0044D0DC 55 push ebp
:0044D0DD 8BEC mov ebp, esp
:0044D0DF 83C4D8 add esp, FFFFFFD8
:0044D0E2 53 push ebx
:0044D0E3 33DB xor ebx, ebx

بعد از تغییر

:0044D0DC B801000000 mov eax, 00000001
:0044D0E1 C3 ret
:0044D0E2 53 push ebx
:0044D0E3 33DB xor ebx, ebx

با این روش همیشه True میشه Function بدون اینکه مراحله که در الگوریتم وجود دارد طی شود.

به این طریق به طور کامل کرک میشود . و دیگه احتیاج به کار دیگه وجود ندارد ولی در مورد کرک EXE هم یکم توضیح بدم

Exe شما یک Procedure به اسم CheckLock دارید که به صورت Public هم درست کردید که وظیفه آن بررسی Ali.key است و اگر وجود نداشته باشد یک Try Except قرار دادید و یک متغییر Boolean رو True میکند و در اینجا کافیه این متغییر Flase شود به صورت زیر :

قبل از تغییر

:00456F09 EB11 jmp 00456F1C
:00456F0B E964CBFAFF jmp 00403A74
:00456F10 C605DC8D450001 mov byte ptr [00458DDC], 01
:00456F17 E8C0CEFAFF call 00403DDC

بعد از تغییر

:00456F09 EB11 jmp 00456F1C
:00456F0B E964CBFAFF jmp 00403A74
:00456F10 C605DC8D450001 mov byte ptr [00458DDC], 00
:00456F17 E8C0CEFAFF call 00403DDC

Flase کردن آن برنامه فکر میکند که فایل مزبور وجود دارد و با تغییر یک بایت EXE هم کرک میشود. و نکته اینکه با این روش فایل ali.key هم ساخته نمیشود.

برای کرک کردن بهترین راه ؛ ساده ترین راه نیست ، منطقی ترین راه است که کوتاه تر هم است
درمورد کرک دوست عزیزمون Fh_prg که ایشون اومدن Call به TestOk رو Nop کردن که این اشکال داره چون در این وضعیت هیچ تضمینی برای محتوای متغییر al وجود ندارد( Test al,al) . با این وجود خوب بود .

پ.ن : در یک Topic (http://www.barnamenevis.org/forum/viewtopic.php?t=3733&start=30)نکاتی رو بیان کردم برای کرک حتما بهش نگاه بنداز .

ارادتمند
مشاطان

Fh_prg
یک شنبه 10 اسفند 1382, 19:36 عصر
آقای مشاطان ممنون
ولی فکر میکنم شما زیادی واسه کرک کردن این برنامه فقط تلف کردین در صورتی که من فقط 3 دقیقه کار کردم و من هنوزم سر حرفم هستم یک کراکر خوب و باهوش هیچ وقت وقتشو بیخودی تلف نمیکنه البته ما که هیچی نیستیم :wink:
درسته که منطقی ترین راه بهترینه ولی همیشه سریع ترین نیست به هر حال موفق باشید منتظر نسخه جدید و غیر قابل کرک رباط یاهو شما هستیم :wink:

Mashatan
یک شنبه 10 اسفند 1382, 20:07 عصر
ولی فکر میکنم شما زیادی واسه کرک کردن این برنامه فقط تلف کردین در صورتی که من فقط 3 دقیقه کار کردم و من هنوزم سر حرفم هستم یک کراکر خوب و باهوش هیچ وقت وقتشو بیخودی تلف نمیکنه البته ما که هیچی نیستیم :wink:


من صرفا هدفم آموزش بود ، چون از نظر من کسی که این کار رو انجام میده هدفش رفع نقاط ضعفش هست و باید دقیق بررسی بشه :) و گرنه اگر بحث زمان باشه ....

منتظر یک crack me باشید از طرفم :)

ارادتمند
مشاطان

JavanSoft
دوشنبه 11 اسفند 1382, 00:42 صبح
واقعا از بحث شما لذت بردم

ramin_rp
دوشنبه 11 اسفند 1382, 08:42 صبح
:flower:

یاسر احسانی
شنبه 16 اسفند 1382, 16:52 عصر
:gift:

amir_king2_2
یک شنبه 17 اسفند 1382, 07:37 صبح
آقای مشاطان واقعا عالی بود. :تشویق:
ولی بالا گفته بودین که :

البته قبلا من از Export آدرس تابع رو درآوردم که در چه آدرسی هست 0044D0DC !
خواستم بپرسم چطوری این آدرس رو بدست آوردین ؟
ممنون.

Mashatan
یک شنبه 17 اسفند 1382, 12:09 عصر
آقای مشاطان واقعا عالی بود. :تشویق:
ولی بالا گفته بودین که :

البته قبلا من از Export آدرس تابع رو درآوردم که در چه آدرسی هست 0044D0DC !
خواستم بپرسم چطوری این آدرس رو بدست آوردین ؟
ممنون.

توسط برنامه های که Resource رو نشون میدن یک قسمتی برای Export دارند.
من از Hiew استفاده میکنم

ارادتمند
مشاطان

said ali
یک شنبه 17 اسفند 1382, 17:18 عصر
با سلام
اقا من چند روزی دسترسی به اینترنت نداشتم عقب افتادم.
قبل از همه از جناب مشاطان کمال تشکر رو دارم :flower: :flower: :flower: :flower: :flower: :flower:
و بعد از اون از بقیه عزیزان.
الان اصلاح شده اون در دستم نیست اگه شد فردا صبح اپلود میکنم دیگه از بولین استفاده نکردم ولی هنوز هم بر استفاده از DLL مصمم.
یه سوال هم دارم چرا باید string نباشه و چرا اون ارور رو میده!!!!!
قربون همه.

Mashatan
یک شنبه 17 اسفند 1382, 17:39 عصر
خواهش میکنم !

بهتره از Pchar استفاده کنید چون Pointer رو به جای خود کارکتر انتقال میدهد !
بعد اینکه برای انتقال به زبانهای دیگر مشکلی نخواهد داشت چون میدونید که String بر حسب طول رشته کار میکنه ولی در زبانهاهای دیگر بر حسب Null آخر رشته !

ارادتمند
مشاطان

said ali
یک شنبه 30 فروردین 1383, 14:56 عصر
با سلام
اقا من این قفل رو اپدیت کردم یکی اون رو یشکنه ممنون میشم!!!!!
مجبور شدم همون اولی رو ویرایش کنم چون 2 مگا بایتم پر شده بود.
با تشکر از همه کرکرها.

Fh_prg
دوشنبه 31 فروردین 1383, 22:47 عصر
متاسفانه بازم کرک شد البته من سریع ترین راه و انتخاب کردم شاید بقیه دوستان بخوان راه های دیگه ارایه بدن ولی من در عرض 10 دقیقه کرک کردم. و زیاد روش کار نکردم سریع رفتم سراغ ساده ترین راه.

دوست عزیز شما اگه بخوای یک قفل نرم افزاری خوب درست کنی باید خودت هم کرکر باشی...

از اینجا دانلود کنین:
http://www.barnamenevis.org/forum/download.php?id=1492

said ali
چهارشنبه 02 اردیبهشت 1383, 11:59 صبح
با سلام
میشه توضیح هم بدین چه جوری!؟؟؟
چون 10 دقیقه دیگه خیلی ضایع است. :? :?
ممنون میشم. :)

jirjirakk
چهارشنبه 02 اردیبهشت 1383, 21:30 عصر
من که حدود یک ربعی وقت برد. اما فکر کنم درست کرک شد .
فقط سه جای برنامه باید عوض میشد

delphiman00
جمعه 18 اردیبهشت 1383, 10:17 صبح
آدم میمیره واسه چنین بحث های قشنگی که کلی چیز یاد آدم میده
دست همگی درد نکنه :تشویق:

راستی چطوری می توانم برنامه Hiew را گیر بیاورم

hyrbod
سه شنبه 22 اردیبهشت 1383, 14:57 عصر
جای یک بحث مهندسی معکوس تو سایت برنامه نویس واقعا خالیه اگه این اتاق باز بشه خیلی مفید خواهد بود.
در ضمن ما و دوستان نیز (‌Zest) در بحث ها شرکت موثر خواهیم داشت. 8)

SalarSoft
یک شنبه 01 شهریور 1383, 09:43 صبح
بابا مثل اینکه اینجا همه Cracker هستند و ما خبر نداریم!! :lol:

MM_Mofidi
یک شنبه 01 شهریور 1383, 13:32 عصر
استاد مشاطان بنده می خواستم بدانم لیست توابع این Dll به همراه پارامترهای ورودی و خروجی (مقائیر پیش فرض ، ثوابت و...) را چگونه استخراج می فرمایید.
و ضمنا در مورد یک OCX هم (به جای DLL) موارد فوق کار آمد است؟