برگزیده های پرشین تولز

كركر هاي حرفه اي و برنامه نويسان بيان تو !!

darklord

Registered User
تاریخ عضویت
23 آپریل 2005
نوشته‌ها
1,085
لایک‌ها
1
محل سکونت
System32
عالی بود دوستان گل کاشتین. همونطور که حدس زدم درآوردن پسورد سخت بوده نه؟
با اجازه اساتید گرامی سورس برنامه رو میذارم اون جمله ها و فرم هایی که همه گی متوجه شون شدید و سعیدمکس عزیز هم بهشون اشاره کرده اکثرا گمراه کننده بودن .پسورد اصلی برنامه با تغییر همون جمله ای که saeedsmk جان پیدا کرده بدست میاد .
این هم سورس لطفا نظرتون رو بگید.
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran
آفرين ايول ! اما باز دوياره مگه قرار نبود پسورد رو متوجه بشيم ؟! :cool: همون اول كار لرد عزيز اشاره كردن كه پچ كردن اين برنامه كار اصلا سختي نيست ! اصلا اصل قضيه اين بود كه ما سريال رو كشف كنيم ! :happy:
طرز كار برنامه رو هم كمي تا قسمتي ابري درست گفتي ...
در مورد الگوريتم هم ، اسم اين الگوريتم ، الگوريتم آلبرتي هستش كه تو جنگ ها ازش استفاده ميشده و در واقع ساده ترين الگوريتم موجود ، خيلي سادست ، راستي كدش رو اشتباه نوشتي يه Asc جا انداختي ...
يكي اينكه يه فايل رو باز ميكرد هركسي با يه برنامه مونيتورينگ فايل ميفمه فايلي داره باز ميشه كه اسم اونSerial.txt
مگه قرار بود نفهمه ؟! من كه خودم تو توضيحات برنامه گفتم كه بايد سريال داخل اين فايل نوشته بشه ! :eek:

هنوز اصل كار باقيست ! بايد سريال كشف بشه !
البته اگه دوست داريد سورس رو زود تر ببينيد ، بگيد كه بزارم :rolleyes:
 

shankimout

Registered User
تاریخ عضویت
17 می 2004
نوشته‌ها
1,524
لایک‌ها
3
محل سکونت
ساری . . . . . . . . . . . . . . Permanently Bann
من يه ايده دارم . اگه غلت بود نزنين تو سرم :D

هر وقت به كركر يه فايلو path ميكنه date modified فايل عوض ميشه . ميشه برنامه اي نوشت كه زمان مديفاي رو بخونه و اگه با اوني كه تنظيم شده مقايسه كنه و بعد... ؟
 

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
خوب كركر هم مياد ديتا موديفيكيشن رو دوباره تغيير ميده
39.gif
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
اين نظر شخصيه منه:
ما اومديم تا ببينيم قفل ها چجوري شكسته ميشن نه كساني رو كه كمي تا قسمتي از كرك سر در مياريم تست كنيم . اصل اينه كه نشه فايل رو يه راحتي كرك كرد يعني پسوردشو دراورد و يا پچش كرد .به اين ميگن كرك نه اينكي شما ميگين كه بايد فلان كار رو بكنه . برنامه هاي كرك مي زيادي براي آموزش كرك كردن وجود دارن خواستين بگين تا بزارم . اما مااينجا جمع شديم تا ببينيم با چه راه هاي ميشه قفل برنامه ها رو قوي تر كرد.

چرا گرفتن فايل ايراده ؟

اگه يادتون باشه تو اين مبحث يا يه تاپيك ديگه گفته بودم سخترين قسمت براي كركر فهميدن اينكه كه از كجا منابع گرفته ميشن با فهميدن شروع تابع گرفتن رمز شما حتما تابع قسمت و يا هر چيزي ديگه كه كد رو چك ميكنه بعد ارزاونه نه و حدود 30 درصد كار جلو رفته .

شانكيموت جان ( اگه درست نوشته باشم ) روشت درسته اين هم يه نوع روش براي چكينگ CRC . روشهاي ديگه اي هم هست اما همشون قابل كشف هستن . چرا ؟ چون مي يان فايل اصلي يا فايل ضميمه رو شروع به خوندن ميكنن !!!!

يه سئوال ؟ ايا كسي فايلي رو كه من گذاشته بودم چك كرد اگه چك كرد به جز پكش نظرش رو اگه خواست بگه و اگر هم خواستين بگين كدشو رو بزارم

فعلا :)
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran
:rolleyes: باشه هر چي شما بگيد ! ما خيال كرديم قرار سريال كشف بشه ، اما عيبي نداره !
اينم سورس كار من ! از دوستان كركر و برنامه نويس تقاضا مي شود ، يه نگاهي بهش بندازند !
ايراداتش ، اشكالاتش ، محاسنش :D رو مورد تجزيه و تحليل قرار بدن !
من سريال اصلا داخل فايل نذاشتم ، نه خودشو ، نه كد شدشو ّ!
من با گرفتن كد اسكي هاي رمز نوشته شده در فايل متني و در واقع چك كردن روابط موجود بين
كد اسكي هاي كاراكتر ها اين كار رو انجام دادم ، 12 مرحله است كه به هر مرحله 1 امتياز تعلق
ميگيره ، حالا سورس رو گذاشتم ، بريد ببينيد ....
راستي لرد عزيز چرا سورس رو نذاشتي پس ، آخه نوشتي اينم سورس ، اما من سورسي
نديدم :(
من هنوز سريال رو لو نمي دم ! ببينم مي تونيد از رو سورس بفهميد :wacko:
 

فایل های ضمیمه

  • Lock_Method_source(what is serial).zip
    2.1 KB · نمایش ها: 42

darklord

Registered User
تاریخ عضویت
23 آپریل 2005
نوشته‌ها
1,085
لایک‌ها
1
محل سکونت
System32
نمی دونم PT چش شده این فایل من و خورد دوباره بارگذاریش کردم

ظاهرا کارم مفید بوده وکسی نتونست پسورد رو دربیاره.

در مورد برنامه : اگه برنامه رو با یکی از این VB reformer ها یه نگاه بندازین به راحتی متوجه میشن که 4 تا فرم داره 7-8 تا پیغام متنی و 4 تا رشته مشکوک به پسورد.
خب تا اینجا که بد نبود حداقل از روی پیامها میشه فهمید که برنامه در چند جا قصد گمراه کردن شما رو داره.
حالا این گمراه کردن ها چی هستن؟
1- اگه طول پسورد وارد شده در فیلد ورودی کمتر یا بیشتر از 11 حرف باشه برنامه شروع به چک کردن پسورد شما با پسورد پیش فرض میکنه ولی این پسورد با پسورد اصلی تفاوت داره و اصلا در تابع دیگری قرار گرفته . خب در این صورت اگه کسی شروع به دیباگ برنامه با وارد کردن پسورد امتحانی بکنه در لوپ اشتباهی قرار میگیره و میبینه که برنامه سعی میکنه پسورد رو با رشته ای مقایسه کنه و خب فکر میکنه درست رفته و به کارش ادامه میده و پسورد قلابی رو در میاره ولی با وارد کردن پسورد قلابی برنامه پیامی مبنی بر اینکه شما در تله افتادید رو نشون خواهد داد.

2- برای جابجایی میان خطوط از وقفه های صریح VB استفاده نشده پس چی شده؟
هر وقت برنامه لازم شد به جای دیگری یا تابع دیگری پرش کنه برنامه با یک ERROR عمدی مواجه میشه و پرش با این شیوه انجام میشه.

3- در داخل توابع چند Error عمدی ایجاد میشه و سعی میکنه وقفه های بی موردی رو ایجاد کنه که البته اثر این Error ها با دستور On error resume next که در بالای این توابع اومده برای برنامه خنثا میشه و وقتی برنامه در دیباگر اجرا میشه برنامه رو پیچیده تر میکنه.

4- پسورد اصلی در آرایه قرار میگیره .

5- پسورد ها کد میشن.

6- پسوردها وارونه مقایسه میشن.

7- حلقه های بی مورد در برنامه وجود داره که کاری شبیه پیدا کردن پسورد رو انجام میدن ولی در واقع کاری نمیکنن.

8- توسط یک الگوریتم checksum بسیار ابتدایی برنامه در برابر پچ شدن مقاومت میکنه ولی همونطور که عرض کردم الگوریتم خیلی ابتداییه و به راحتی هم پچ میشه. و برنامه رو فقط در مقابل تغییرات خیلی زیاد محافظت میکنه مثلا مقدار این تابع برای برنامه اصلی 26755020281 و برای برنامه پچ شده 26768923048 است همونطور که میبینید برنامه با کمترین مقدار دستکاری پچ شده البته من اگه شرط این Checksum رو دقیقا دقیقا برابر با مقدار اصلی 26755020281 قرار میدادم Saeedsmk عزیز مجبور میشد این قسمت رو هم دستکاری کنه چون برنامه اگرحتی یک کاراکترش هم تغییر کنه متوجه پچ شدن خودش میشه و با یک پیغام از روال اصلی خارج میشه. و کار قبل از هر عملی انجام میشه حتی زودتر از وارد کردن پسورد.(مهدی ویروس جان اگه یک حرف هم تغییر کنه برنامه متوجه میشه فکر کنم یه همچین چیزی میخواستی البته خود این شرط نباید مثل این برنامه در داخل برنامه اصلی باشه نیاز به یک لودر یا یه همچین چیزی داره)

و چند نکته ی کوچیک دیگه که خودتون از روی کامنت ها خواهید دید.

ایرادهای عمدی برنامه : چون قصد من این بود که پسورد پیدا بشه نه این که برنامه پچ بشه به عنوان راهنمایی هیچ کدوم از پیغام ها و رمزها رو کد شده در برنامه قرار ندادم تا در نگاه اول قابل رویت باشن و کرکر بدونه که براش دامهایی تعبیه شده.
به طور مثال پسورد اصلی رو ابتدا در یک رشته قرار دادم و سپس قطعه قطعه کردم. نه اینکه از ابتدا کد شده باشه و یا پیغام ها رو اون قدر واضح قرار دادم که هر کسی متوجه بشه در برنامه چند دام قرار داره.

هدف از دامها:
یک راه بسیار پیش پا افتاده ولی کارا اینه که اگر این یک برنامه تجاری بود با افتادن کرکر در هر یک از دامها بجای اینکه یک پیام کرکر رو از این موضوع مطلع کنه برنامه اطلاعاتی رو در رجیستری ذخیره میکرد و سپس خودش رو نابود میکرد تا دیگه نشه ازش استفاده کرد.

لطفا نظرتون رو در موردکارهایی که انجام شده بگید و کرکی و سعید عزیز هم بگن که کدوم راه حل من براشون بیشتر ایجاد مزاحمت کرده .من فکر کنم On error goto و On error resume next بزرگترین مشکل سر راه پچ شدن برنامه و استفاده ار پسورد قلابی و چک کردن طول پسورد بزرگترین مشکل برای پیدا کردن پسورد برنامه بوده.

راستی این هم سورس که دیروز نمیدونم چرا Attach نشده؟!؟
 

فایل های ضمیمه

  • DarkLord-Source.zip
    5.1 KB · نمایش ها: 42

darklord

Registered User
تاریخ عضویت
23 آپریل 2005
نوشته‌ها
1,085
لایک‌ها
1
محل سکونت
System32
کرکی عزیز ما منتظر فیلم بعدی از کارهای شما هستیم.
سفر خوش بگذره.
 

shankimout

Registered User
تاریخ عضویت
17 می 2004
نوشته‌ها
1,524
لایک‌ها
3
محل سکونت
ساری . . . . . . . . . . . . . . Permanently Bann
ما بايد يه كاري كنيم كه كركر حوصلش سر بره . چون در اخر همه نوع از غلف ها كرك ميشن . يه كاري كنيم كه كرك اگه يك هفته از وقطشو گزاشته باشه تنها 50% از كار پيش رفته باشه . يارو اينقد بيكار نيست كه . راستي . كراكينگو كجا ميشه ياد گرفت . اگه لينكي فايلي چيزي داريد ما منظزريم . eng هم بود اكشال نداره
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
پسورد يه برنامه بايد چيزي باشه كه برنامه بهش وابسطه است نه اينكه چك كنندش پيدا كردن پسورد زمان و وقت و ابزار ميخواد و با حوصله پيدا ميشه ( بستگي به روش كد شدن ممكنه راحت پيدا بشه )
اول يه توضيح در مورد پي كد و ان كد بدم
همينطور كه همه ميدونن برنامه ها بد از كامپايل شدن و ساخت فايل اجرايي بصورت اسمبلي در روي هارد ذخيره مي شن ( منظورم قسمت پروگرام شده است نه ديتا ها )
دستورات اسمبلي مثل mov يا call و .... هستن كه نحوه استفاده از اونها كاملا معلومه
به اين نوع از فايلها كد محلي يا طبيعي گفته ميشه ( ان كد) يعني دستورات برنامه به راحتي قابل فهم هست.
اما در حالت پي كد برنامه در واقعه يه نوع دستورات كامپايل نصف و نيمه هستش كه براي اجرا نياز به فايل كمكي داره بزارين بيشتر توضيح بدم
دستوارتي كه در پي كد استفاده ميشه كاملا اسمبلي نيست و يه درجه بالاتر از اونه نتيجه اينكه يه زره كندتره يعني بايد براي اجرا توسط فايل كمكي دوباره به دستورات اسمبلي تبديل بشه و اين كار زمان بره
مثلا براي اينكه مقدار اي كه از تابع برگشت داده شده رو تو حافظه ذخيره كنيم توي وي بي مي نويسيم
A=function(xxx1,xxx2,xxx3)
اما توي اسمبلي معمولي مي نويسيم
Push dword ptr xxx3
push dword ptr xxx2
push dword ptr xxx1
call dword ptr function address
mov dword ptr addresss_of_a , eax
در صورتي كه مقادير توابع بصورت دابل ورد و ادرس تابع هم قبلا در حافظه جا گذاري شده باشه و مقدار خروجي توي ادرس a ذخيره ميشه
اما توي حالت پي كد مي نويسيم
FLdRfVar xxx1
FLdRfVar xxx2
FLdRfVar xxx3
VCallHresult func address
ILdRf address of a
خوب همنطور كه ميبينيد فهميدن پي كد سختره اما قابل فهمه ولي وقتي ياد گرفتيش از اسمبلي راحتره چون به زبان انسانها نزديك تره
اما در مورد مشكل برنامه اقاي تچ ميكس
1- اسم فايل رو بهتر بود توي چندتا كد ميگذاشتي كه كركر به راحتي نفهمه كه برنامه يه كدر داره بلكه چندتا كد كه با هم جمع وتفريق و ... هرچي بشن بشه اسم فايل تا كدرت به راحتي بدست نياد
2- روش استفاده از بزرگتر و كوچكتر روش جالبيه اما بهتر نبود براي گرفتن كد يه ارايه درست مي كردي و بعد هر عدد رو توي يه ارايه مي زاشتي اينطور از كد اسكي استفاده نمي كردي تا اين تابع rtcasc… رو صدا نزنه و كركر سختر بفهمه چي با چي داره مقايسه ميشه
3- استفاده از rtcmsg كه جاي خوبي براي بريك پوينت براي كركر
4- مشكلات يا مشكلي كه قبلا گفتم
اما مزايا به نظرمن
1-عدم جنريت كد
2- عدم استفاده از تابع پرش براي عدم وجود فايل ( اگه نگاه كني مي بيني فايل رو باز ميكنه اگه خطاي ايجاد بشه ميپره به كد اخر يعني خروج . نميدونم از روي عمد اينطوري برنامه رو نوشتي يا نه ايدت اين نبوده )
3- عدم چك كردن مستقيم وجود چيزي در فايل ( با همون on error goto و استفاده از تابع mid كه اگه چيزي نباشه در ادرس مورد نظر مثلا كاركتر 10 باعث ايجاد خطا ميشه و از تابع خارج ميشه . اين هم از روي عمد بوده با نه ؟)

حالا يه سئوال دارم خوب با مقايسه كد و الگورتمي كه گفتم و شرحي كه بالا دادم فكر كنم الگوريتم رو درست حدس زدم نه ؟ :D ممكنه از عمد بعضي از جاها رو برنامه نويسي نكرده باشي اما خوب برنامت اين كار رو ميكنه جالب نه؟
نكته با اناليز معكوس برنامه خيلي وقتها ميشه فهميد كه كركر به راحتي ميتونه فايل رو كرك كنه يا نه چون امكان داره برنامه كاري رو كنه كه برنامه نويس اصلا به فكرش هم نرسيده باشه و برنامه اتوماتيك وار اين كار رو انجام بده . نتيجتا چون كركر از پايين پايين داره نگاه ميكنه اين نقاط ضعف رو بهتر ميبينه و برنامه رو راحتر كرك كنه ( بعضي از باگها و سوراخ هاي امنيتي همينطوري پيدا ميشن)

حالا ميرسيم به سئوال لرد جان ( ببخشيد كامل نميگم ياد هري پاتر ميفتم :lol: )
اولا اگه كد برنامتو با يه برنامه دي كد فايل كد پي باز كنم اولين چيزي كه توجه من رو جلب كرد اين خطوط بودن:
OnErrorGoto loc_403A71
OnErrorGoto loc_403AE7
OnErrorGoto loc_40344B
OnErrorGoto loc_40330B
OnErrorGoto loc_403769
كه همشون توي فرمي بودن كه كد رو ميگرفت نتيجتا توجه ادم جلب ميشه كه اينها يه كاري ميكنن
بعد هم هنگام تريس اونجاي كه برنامه خط به خط ميخوند رو يادته يعني crc يا همچين چيزي توي اين حالات ادم مي ياد و بعد از جاي كه جامپ به سر خط اول لوپ ميشه , بعدش بريك پوينت ميزاره و برنامه رو ول ميكنه كه اجرا بشه .اما چي شد اصلا ديباگر بالا نيومد يعني يه چك كنده اي بوده اما جك كنده هم ما رو به ادرس مورد نظر نفرستاد يعني يه چيز ديگه .خوب 2 در 2 ميشه 4 پس كار ، كار onerror خوب با اين وصف اولين مشكل برنامه اينكه به دست يه كركر محل هاي براي ست كردن بريك پوينت دادي. و هم جالبه چون كركر هاي نيتيو كد رو گمراه ميكنه.
اما وجود يه تبريك ادم رو واردار ميكنه فكر كنه كه برنامه نويس براي نشون دادن اون احتياج به فرم داره و يا به يك مسيج باكس. توي رفرنس برنامت مسيج باكس نبود و همچنين فرمي با عنوان تبريك بود حالا تو جاي كركر، كركر چيكار ميكنه خوب از اطلاعاتش براي نمايش فرم استفاده ميكنه يعني دنبال همچين خطي ميگرده
FLdRfVar ::lea var_D4
ThisVCallHresult ???
كه معمولا در اخر فرم يا تابع قرار داره ( دومين اشتباه ) با نگاه كردن به كد چيزاي جالبي به نظرش ميرسه مثل اين

403769 loc_403769: ; 40359E

4037A7 FF1B CBoolVarNull
4037A9 1C 1B02 BranchF ::jnz loc_4037B7
4037AC 04 2CFF FLdRfVar ::lea var_D4
4037AF 10 00070500 ThisVCallHresult ???
4037B4 35 2CFF FFree1Var ???

4037B7 loc_4037B7: ; 4037A9
4037B7 FF2F 0C001000 ExitProcCbHresult ???
4037BD FF2F 0C001000 ExitProcCbHresult ???
4037C3 00 84 LargeBos ???


403044 Form2.Command1_Event:​
اگه خط اول رو ببيني مي بيني كه خطي كه بهش پرش شده رو نوشته و با رفتن به بالا و جستجو به عبارت movax,ax:: ميرسي كه نتيجتا كد بايد يه چيزي توي اين مايه ها باشه با دادن اين كد ميبيني كه به جاي هميشگي يعني جاي كه كد با ;16…. چك ميشد نميري يعني داري درست ميري

حقيقتش اولش برام سخت بود بفهمم كه برنامه چيكار ميكنه اما بعد با كمي بالا و پايين و جابه جا كردن بعضي از پرشها پيغام هاي رو ديدم كه كمكم كرد ( توي برنامه تجاري اين مشكل داره اما توي برنامه آموزشي نه ) تا بفهمم برنامه چيكار ميكنه نتيجتا سخترين قسمت فهميدن چگونگي نمايش بود نه تعداد كاركتر پسورد و نه چگونگي پرش به قسمت هاي گوناگون برنامت
در كل جالب بود ايده خوبي بود و من تا حالا همچين ايده اي رو نديده بودم
البته بگم كه كسي نيستم . و مثل همه شما در حال آموزشم.

منتظر ادمه توسط دوستان مخصوصا اقاي كركي اصف جان ,لرد سياه, تيچ مكس, و بقيه كساني كه توي اين بحث شركت ميكنن هستم :lol:
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
به نقل از shankimout :
ما بايد يه كاري كنيم كه كركر حوصلش سر بره . چون در اخر همه نوع از غلف ها كرك ميشن . يه كاري كنيم كه كرك اگه يك هفته از وقطشو گزاشته باشه تنها 50% از كار پيش رفته باشه . يارو اينقد بيكار نيست كه . راستي . كراكينگو كجا ميشه ياد گرفت . اگه لينكي فايلي چيزي داريد ما منظزريم . eng هم بود اكشال نداره

اگه توي اين بحث بري ميبيني كه يه توضيحي در مورد مدت زمان كرك برنامه دادم

اما روش اموزش توي گوگل سرچ كني راحت پيدا ميشه :lol:
 

Asef

Registered User
تاریخ عضویت
9 اکتبر 2004
نوشته‌ها
1,228
لایک‌ها
21
اوه ماي گاد. ممنون سعيد جان.
:rolleyes: باشه هر چي شما بگيد ! ما خيال كرديم قرار سريال كشف بشه ، اما عيبي نداره !
جالب بود امير جان. در اولين فرصت واست مو شكافيش ميكنم
118.gif
90.gif
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
لرد جان در ضمن اين خط هم باگ داره
thisfilepath = App.Path & "\" & App.EXEName & ".exe"
چون اگه برنامه از روي روت c يا روت d و.... اجرا بشه نتيجه اون ميشه
c:\\project.exe نتيجه اينكه برنامه اين پيغام رو نشون ميده You tried to Patch it و ...
اين همون اناليز معكوسه كه گفتم
بهتر با اين خط عوض بشه
pathfile=app.path
if right(pathfile)<>"\" then pathfile=pathfile+"\" 'or u can change it
pathfile=pathfile+app.exename & "exe" ' or u can use other code
البته با عرض پوزش

راستي يادم رفت هر كركي ايتدا بعد از نصب هر برنامه اي مياد و از فايل هاي كه داره باهشون يازي ميكنه ( تموم ساب دايركتوري ) اون نسخه پشتيبان مي سازه نتيجتا روش پاك كردن فايل براي اوناي كه اين متد رو نديدن روش خوبي !!!!!!!

:lol:
 

DigitalCracking

کاربر تازه وارد
تاریخ عضویت
17 سپتامبر 2005
نوشته‌ها
5
لایک‌ها
0
سن
35
محل سکونت
I live here.
سلام.
این اولین پست من تو PT هست. راستش من بخاطر این ثبت نام کردم که توی این بحث شرکت کنم، چون بنظرم جالب اومد. اما اینطور که من میبینم هدف اصلی آقایون طراحی قفل نیست و هی یه برنامه رو می سازم و می دن یه نفر کرکش کنه. بابا دست از این کارها بردارید حتی بدون برنامه و کرک کردن هم میشه فکر کرد که چطور قفل هایی ساخت که حداقل غیر قابل کرک باشه. من الان نمی خوام مثل بقیه برنامه بدم تا ببینم واقعا کرکی تو اینجا هست یا نه من الآن می خوام یه روش بگم.
ببینید همونطور که دوستمون Dark lord گفت اگه ما سریال نامبر و یا چیزی تو این مایه ها بزاریم حتما باید با If سر و کله بزنیم. اما فکر کنید اگه If تو کار نباشه اون موقع چی. اگه چیزی چک نشه چی. حالا یه مثال برای شما میزنم:
این متن رو ببینید:XNNAA
شما فکر کنید این رمز من هست. خوب شاید من این رمز رو برای خودم به یه روش کد کرده باشم. حالا شما هم روش من رو نمی دونید. آیا امکان داره که شما رمز اصلی رو بدونید؟!!!!
حالا می ریم سر اصل مطلب. سعیدجان یه روش رو گفت که اصلا نیازی به شرط نیست و هر چی داده بشه تو اسمبلی به اون مقدار پرش می شه. اما بدون اسمبلی و این هم هست. فکر کنید ما یه قفل می خوایم برای یه برنامه بسازیم. خوب پس لطفا بشینید این روش من رو چک کنید. ما یه برنامه جدا می سازیم و از کاربر یه الگوریتم درخواست می کنیم. مثل این رشته: 25. مثلا میگیم که این رشته یعنی این که هر بایت از اطلاعات برنامه رو بگیر. اون رو 2 برابر کن و 5 فا بهش اضافه کن. برنامه پس از این کار برنامه رو طبق الگوریتم کد می کنه و به اون رو به صورت دیتا یه برنامه دیگه در میاره. خوب برنامه ای که ایجاد شده هنگام اجرا از کاربر الگوریتم رو تقاضا میکنه کاربر هم الگوریتم رو بهش می ده. برنامه اون الگوریتم رو روی دیتا پیاده میکنه و برنامه اصلی رو اجرا می کنه. در ضمن برنامه کار نداره که الگوریتم درست هست یا نه چون اصلا اون هم از الگوریتم خبر نداره. در ضمن خدمت اون دسته از دوستان هم ارز کنم که میگن می تونن الگوریتم رو در بیارن. خدمت شما عرض کنم که برنامه اصلی که به دیتا تبدیل می شه دیگه سیگنیچر اولش به دیتا تبدیل نمی شه که بشه راحت از طریق اون الگوریتم دیکریپ رو بدست آورد. حالا بگید ببینم کی میاد این رو کرک می کنه؟!!! و البته یه مشکل هم میمونه این که الگوریتم لو بره. خوب برنامه نویس باید برا هر نفر یه الگوریتم خاص بزنه تا هروقت لو رفت راحت بتونه اون شخص رو شناسایی کنه.
البته یه روش دیگه هم تو نظر من هست. اون روش از طریق اینترنت هست.
درضمن خدمت دوستان عرض کنم که شما که CrackMe می سازید. تاحا برنامه های اصلی رو دیدید که کرکشون چطور کار می کنن. البته نه همشون بعضی هاشون مسخره هست اما بعضی هاشون واقعا آدم گیچ میشه که کجا هست و کارهاشون رو با خود سیستم عامل انجام میدن.
در ضمن هنوز هم روش هاي ديگه اي وجود داره. كافيه كه شما يخورده مختون رو به كار بندازيد.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
بلابلا وارد میشود!
سلام بچه ها، این تاپیک چقدر رشد کرده! از صفحه 2 به بعدش رو باید بشینم بخونم.

خوب. این هم Magic Password ورژن 0.4 :
هیچ چیزی رو توضیح نمیدم. فقط سعی کنید کرکش کنید تا بگم... فقط بگم از همون جنرتور اولی میتونید استفاده کنید تا از روی پین کد، پسورد رو پیدا کنید....خوب بکرکید، بپچید بینم.
:cool:
 

فایل های ضمیمه

  • Mgcpss_v0.4.zip
    9.6 KB · نمایش ها: 38

darklord

Registered User
تاریخ عضویت
23 آپریل 2005
نوشته‌ها
1,085
لایک‌ها
1
محل سکونت
System32
سعید جان از راهنماییت ممنونم نباید یه همچین ایرادی رو فراموش میکردم. ولی اینقدر حواسم به قفل بود که ازش غافل شدم . دستت درد نکنه که بهم تذکر دادی.

در مورد برنامه ی What is serial باید بگم بخاطر پیچوندن الگوریتم و کد کردن رمز و پیامها در نگاه اول نمیشه همه ی برنامه رو تحلیل کرد ولی همونطور که سعید اس ام کا ی عزیز گفت از روی کد اسمبلی میشه فهمید که شما رمز کد شده استفاده میکنید. و برای پیدا کردن رمز کرکر دچار مشکل میشه ولی:

If Points < 13 Then
If Points > 11 Then
Kill Coder("Tgumfr5|~", 1)
MsgBox Coder("HPVPY+--at‚zs4~‰7{ˆŒ€€’?A", 1, 5), vbInformation, ""
GoTo hell
End If
End If
پچ کردن کد بالا خیلی راحته! شرطها به شکل عجیبی تو چشم هستن و در ضمن شما پس از تایید به سرعت و بدون وقفه ی اضافه میرید سر اصل مطلب و پیام رو به کاربر میدین.

البته وجود on error goto hell کمی کار رو سخت میکنه ولی چون روند کار ثابته بعد از دو بار تریس برنامه معلوم میشه که این Jump الکی داره انجام میشه.

با این وجود نحوه ی چک کردن رمز خیلی جالبه و کاملا گیج کننده.آفرین.
از روی سورس که دیگه رمز درآوردن کار دو سوت عزیزم.
این پسورد فایل What is serial :
 

فایل های ضمیمه

  • This is serial-DL.zip
    3.4 KB · نمایش ها: 30

darklord

Registered User
تاریخ عضویت
23 آپریل 2005
نوشته‌ها
1,085
لایک‌ها
1
محل سکونت
System32
DigitalCrackingعزیز ورودت رو به پی تی خوش آمد میگم.

روشی که شما راجع بهش صحبت کردی برای یک پروژه ی بزرگ قابل اجرا نیست میدونی برای هر نفر یک الگوریتم یعنی چی؟

در ضمن ما داریم سعی میکنیم با حداقل کد نویسی و بهتر کردن الگوریتم هامون به قفلی قوی برسیم وگرنه فکر میکنی کرک کردن یه قفل 10000 خطی چند روز طول میکشه؟
همونطور که گفتم هدف ما کل کل نیست و این بحث رو هم نمیشه تئوری ادامه داد. مثلا من با همین برنامه ی ساده که کرک شد به خیلی از ایرادهایی که با کلی مطالعه متوجه شون نشده بودم رسیدم. و هدف هم همینه. امیدوارم در بحثهای ما شرکت کنی و ایده های جالبت رو در اختیار ما هم قرار بدی.

یه سری هم به اینجا بزناینجا

سعید جان شما نمیتونی از مراحل کرک برامون فیلم بذاری؟

راستی بلا بلا جان برنامه ات با عرض پوزش یه ایراد کوچولو داره. که کرکر رو میبره به سر منزل مقصود.
 

فایل های ضمیمه

  • MgcPss4-Error.JPG
    MgcPss4-Error.JPG
    17.3 KB · نمایش ها: 28

DigitalCracking

کاربر تازه وارد
تاریخ عضویت
17 سپتامبر 2005
نوشته‌ها
5
لایک‌ها
0
سن
35
محل سکونت
I live here.
با سلام دوباره به Dark Lord عزيز و بقيه دوستان.
ببينيد دوست عزيز، اگر شما مي گوييد كه براي هر نفر يك الگوريتم خاص، بنابراين حرف شما درسته. ولي مگه خودتون هم نمي خوايد يه برنامه بسازيد كه كسي اون رو كرك نكنه. اصلا شما فكر كنيد تو اين دنيا كركري وجود نداره. خوب شما برنامه تون رو مي سازيد و منتشر مي كنيد. اومديم چند نفر از شما اين برنامه رو خريدن. اگه يه نفر از اينها بياد شماره سريالي كه از شما گرفته رو به كس ديگه اي بده و اين شماره سريال بين هزاران نفر پخش بشه. پس بدون كركر مي بينيد كه برنامه شما كرك شده!!!!
اما حالا فرض مي گيريم كه شما بياييد و برنامه شما با توجه به سيستم طرف و يا راندوم يك شماره را ايجاد كرده و كساني كه قصد خريد برنامه را دارند بايد شماره راندوم را به شما داده و شما كد اصلي را در ازاي دريافت وجه به وي بدهيد. خوب دوست عزيز اين هم كه شد همون كاري كه من مي كنن. فرقش اينه كه شما شماره ميديد و من الگوريتم(البته الگوريتم ميتونه يه شماره باشه).
در ضمن ما تو قرن 21 هستيم. فكر نمي كنيد حرفتون كمي اشتباه باشه. شما كه نمي خواهيد دستي برنامه را با الگوريتم كد كنيد. شما به راحتي مي توانيد سيستم فروش آنلاين ايجاد كرده و هركس كه تقاضا داشت در همان لحظه اطلاعات وي در يك بانك اطلاعات ذخيره شده و به صورت اتوماتيك براي وي يك الگوريتم ايجاد شده و برنامه به وي ارسال شود. و الگوريتم (كه مي تونه مشابه سريال نامبر باشه)رو هم به طرف ارسال مي كنيد. آيا اين مشكلي براي پروجه عظيم شما به وجود مي ياره؟!!!!
درضمن من گفتم اين يه راه حل هست. راه حل ها زياده. اگه كسي طالب باشه، حتما به يكي از اونها دست پيدا مي كنه. اگه خواستين بگين تا باز راه حل هاي مختلفي رو به شما بگم.
در مورد اينكه گفتيد:
در ضمن ما داریم سعی میکنیم با حداقل کد نویسی و بهتر کردن الگوریتم هامون به قفلی قوی برسیم وگرنه فکر میکنی کرک کردن یه قفل 10000 خطی چند روز طول میکشه؟
شما كاملا در اشتباهيد. برنامه شما اگه يك مليون خط هم داشته باشه باز ميشه زود اون رو كرك كرد. شايد شما هوش مصنوعي رو فراموش كرديد. ديگه نيازي نيست يه انسان بشينه و كد شما رو كرك كنه. يه پروگرام كه خودش ديباگر باشه و هوشمند باشه به راحتي ميتونه برنامه شما رو كرك كنه. ديگه تعداد خط براي اون مهم نيست و اون رو هم ميشه طوري طراحي كرد كه از تمامي اطلاعات كاربران خبر داشته باشه. يه مثال ساده مي زنم:
اگه شما از دستور If به صورت ساده استفاده كرده ميكنيد و فرض رو بر اين بزاريم كه تو اين دستور دو تا رشته گرفته شده از كاربر و رشته اصلي رو با هم مقايسه كرديد. به راحتي با داشتن ديباگر OLLYDBG و يه پروگرام نويسي ساده ميشه رشته اصلي رو پيدا كرد. فرق نمي كنه كه اين برنامه رو با چه زبوني نوشته باشيد.
برنامه هوش مصنوعي مياد و برنامه شما رو توي OLLYDBG ديباگ ميكنه و همين طور كه خط ها رو چك مي كنه منتظر پيدا كردن متغير ورودي هست كه به برنامه شما داده و چك مي كنه كه اين متغير داره با چي مقايسه مي شه.
مي بينيد كه ديگه نيازي نيست يه كركر حداقل 1 دقيقه خودش رو صرف پيدا كردن اينها بكنه. اين ها در طي كمتر از 1 ثانيه يا حدود آن به وسيله اين برنامه به ظاهر هوشمند(كه البته اين نوع بسيار سادش هست) انجام ميشه. حتي خودتون هم اگه برنامه نويسي تحت ويندوز و API بلد باشيد مي دونيد كه اين برنامه رو خيلي راحت ميشه نوشت. حالا فكر كنيد نميشه يه برنامه براي كرك برنامه هاي از اين بهتر رو انجام داد؟!!!! شما چه 1 خط بنويسيد چه 1000 و چه 100000000 فرقي براي اين برنامه نمي كنه. پس بشينيد به فكر راه هايي باشيد كه اصلا كرك نشه كرد.
درضمن به فكر قفل نرم افزاري تنها نباشيد، با سخت افزار هم كارهاي شگرفي ميشه انجام داد.
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
به نقل از DigitalCracking :
حالا فكر كنيد نميشه يه برنامه براي كرك برنامه هاي از اين بهتر رو انجام داد؟!!!! شما چه 1 خط بنويسيد چه 1000 و چه 100000000 فرقي براي اين برنامه نمي كنه. پس بشينيد به فكر راه هايي باشيد كه اصلا كرك نشه كرد.
درضمن به فكر قفل نرم افزاري تنها نباشيد، با سخت افزار هم كارهاي شگرفي ميشه انجام داد.

سلام خوش امدي اوميدوارم به همكاريت ادامه بدي
البته اين نظر منه :
اينكه اصلا كرك نشه !!!!1 به نظرم يه ذره داري تند ميري. هيچ برنامه اي نيست كه كرك نشه چه فرقي ميكنه كه كد الگريتم باشه و يا سريال نامبري كه ان لاين چك ميكنه خوب كركر كي جنريتور ميسازه !؟ :blink:

نه عزيز يه بار توي همون پستي كه لرد جان گفت گفته بودم . هر برنامه اي كه مينويسن يه مدت زماني داره كه بايد هم پول برنامه هم سودش در بياد و تا اين زمان اگر كركر بخواد كركش كنه نتونه و بعدش با وقت گذاشتن بتونه . اوكي
و اما در مورد هوش مصنوعي "برنامه در برابر برنامه " در مورد خواصي كه گفتي درسته اما در مورد بقيه برنامه نه عزيز به چيز يادت باشه ابزار كمك كننده است نه كامل كننده .اين برنمه ها مثل اين جوجه هكر ها يا لمرهاي كه چند تا بوت كننده و... دارن و اسم خودشون رو هكر گذاشتن ميمونه. ;)
ما هدفمون مهندسي معكوسه، گرفتن اشتباهات برنامه و ياد گيري نكات جديد از دوستان و قوي تر كردن قفله هستش . ولي هوش مصنوعي همچين كاري رو نميكنه فقط يه نيروي احمقه همين ؟ ( Brute force) تازه با هر ديباگري جواب نميده با اوليديباگر شايد اما با شاه ديباگر ها سافت ايس چي جواب ميده نه عزيز جواب نمي ده اوليديباگر قويه اما نقطه ضعف داره . :blink: :D
ولي در كل نظر جالبي بود روش كار ميكنم ببينم چي مي تونم از توش دربيارم يعني يه چيز مثل ويروسهاي خود جابجا كننده ( ُSelf changer) اره ديگه نظرت يه همچون چيزي نه . :D :lol: :lol:

لرد عزيز شرمنده من چون با ديباگر هاي هسته ( سافت ايس) كار ميكنم نمي تونم فيلم برداري كنم چون برام مقدور نيست در حالت ريل مود فقط يه برنامه ميتونه در حال كار باشه كه اون هم سافت ايسه . مگه اينكه از هندي كم استفاده كنم و بعدش كپچرش كنم و....
:blush:
اقاي مهد ويروس اين برنامه با كرك مي تو گذاشتي يه باگ داره نگاه كن وقتي يوزر 8 تاي وارد ميكني ارور ميده جز برنامت يا اشتباهي؟ اگه اشتباهي نيست توي برنامه تجاري همچين كاري براي دور زدن كسي كه پسورد اشتباه گذاشته جالب نيست. پچش كردم اما حقيقتش همش چنتا ارور توي گرفتن api داره كه نتونستم بفهمم چي با چي مقايسه ميشه پچ شدش رو خواستي بگو تا بزارم
 

techmix

Registered User
تاریخ عضویت
12 آگوست 2004
نوشته‌ها
75
لایک‌ها
0
سن
35
محل سکونت
Tehran
سلام به دوستان عزيزم ،
اول از همه از سعيد عزيز تشكر مي كنم ، اينكه وقت گذاشته و ايرادات و محاسن كار من رو در آورده ، تشكر ، اما متوجه مورد دوم نميشم :( يعني ايراد كارم رو. نمي فهمم چيه ، اگه ميشه يه بار ديگه توضيح بديد :blush:
در مورد محاسنش هم به غير از مورد "عدم جنريت كد" بقيه به صورت كاملا اتفاقي بودن ، ومن اصلا خبر نداشتم كه اين كار من ، كار كركر رو سخت ميكنه ... :happy:
جالب بود امير جان. در اولين فرصت واست مو شكافيش ميكنم
اگه اين كار بكني كه عاليه ، يه خورده از اين حالت گيجي در ميام ... :blink:
پچ کردن کد بالا خیلی راحته! شرطها به شکل عجیبی تو چشم هستن و در ضمن شما پس از تایید به سرعت و بدون وقفه ی اضافه میرید سر اصل مطلب و پیام رو به کاربر میدین
بله لرد عزيز ، :blush: ميدونم ، خيلي واضح هستن ، حقيقتش رو هم بخوايي در همون لحظه اي كه داشتم اين كد رو مي نوشتم ، يه لحظه به خودم گفتم "خسته نباشي ! هنر كردي ..." ولي بعد به خودم گفتم ما كه قرار نيست اينو پچش كنيم ، قرار سريال رو در بياريم ، از اينكه يه خورده بيشتر روش كار كنم منصرف شدم ... :)
از روی سورس که دیگه رمز درآوردن کار دو سوت عزیزم
سريالي كه شما در آورديد اشتباه ! من چندين بار امتحانش كردم ، اما جواب نداد !
( اديت : رفتم گذاشتم تو خود كد هاي برنامه ، كار كرد ! :lol: اما يه چيزي بهتون بگم من اين كد رو نذاشته بودم به خدا ! كد من اين بود :
"P1e2r3s4i5a6n7t8o9o1l2Z" & vbCrlf​
ولي چقدر بد ! با دوتا كد ( شايدم بيشتر ) كار مي كنه :( )
در ضمن تيكه ات هم خيلي قشنگ بود ، I had problem to ... :happy: :D

راستي بچه ها ، يه سوال ! ببينم حالا اگه ما نياييم از if استفاده كنيم ، و از دستور هاي مشابه مثل Select case استفاده كنيم ، باز هم توي اسمبليش به صورت جامپ نوشته ميشه ؟! ( ببخشيد سوال هاي بيخود مي كنم ، چون واقعا اسمبلي بيل ميرم :blush: :lol: )
 
بالا