سلام
خوب هستيد
نقل قول: سعید جان سلام ( خوب هستی ؟ )
سلام امير جان مرسي
نقل قول: یا ابلفضل ! بیا ! قفل سخت افزاری هم کرک شد ...
اره شدنيه به اون لينكي دادم يك سري بزني اطلاعات كامل تري رو ميتوني بگيري
http://www.woodmann.com/crackz/Dongles.htm
نميدونم اين قسمت چرا رفته توي نقل قول دوباره ميزارمش
منظورم اينكه شما ميتوني به فايل اگزه اي كه هر تابعي و يا هر اطلاعان و ... رو اضافه كني ( كار سختيه ) و ميتونه اين اطلاعات چيز هاي باشه كه برنامه اصلي هنگام ارتباط با قفل از قفل ميگيره و .....
شبيه سازي كردن نه اينكه شما بياد و برنامه اي كه توي قفله ( و همون طوري كه گفتيد حدس زدنش سخته و بسار مشكل و تقريبا محاله ) رو دوباره بنويسيد بلكه برنامه اي بسازيد كه در صورت گرفتن ورودي a ورودي را كه در ديتا بيس داره و جواب قفل به برنامه است رو بديد
نميدونم تونستم منظورم رو برسانم يا نه
هادي جان شما هم خوب هستيد
نقل قول: روش ديتابيس با همن 4 تا متغيري كه من استفاده كردم 15 گيگ حجم مي گيره اگه فكر مي كنيد كمه تا زيادترش كنم
نه حجمش خوبه اما منظورتون رو نفهميدم يعني اين اطلاعات روي قفله ؟
نقل قول: ولي روش تغيير ورودي هم مي شه ولي چند تا مشكل داره اولا شما بايد محل توليد اعداد تصادفي رو پيدا كنيد كه به صورت كاملا مخلوط با كد ....
ولي شدنه اين طور نيست ؟
نقل قول: به جاي اون اعداد رندم اعداد ثابت رو جاي گزين كنه هم براي تابع قفل و هم تابع برنامه نبايد تعداد بايتهاي اين عمل بيشتر از بايتهاي اصلي برنامه باشه وگرنه تمام jmp ها بهم مي ريزه و همين سختي توي تمامي يه مراحل هم هست و يادتون باشه با زبان اسمبلي هم سروكار داريم مثلا جواب اون هش رو بايد بدونيد يه درايور بنويسيد شبيه به درايورمن كه اون جواب رو برگردونه و ...
جايگزين كردن كه كار سختي نيست . براي اضافه كردن يك كد به برنامه كامپايل شده روش هاي زيادي است مثل اضافه كردن يك سكشن جديد و بعد ارجا به كد هاي اين سكشن يعني چند خط كد رو از توي برنامه ياداشت ميكنيم و بعد از پرش به محل مقصد و تغيير و يا اضافه كردن كد مربوطه كد هاي كه برداشتيم جايگزين ميكنيم و دوباره پرش به جاي اصلي با اين روش بايتي توي بدنه كد اصلي اضافه نميشه تا جامپها تغيير كنن براي اينكه زياد با اسمبلي سر و كار نداشته باشيم ميتونيم در حالت ان لاين dll به برنامه اضافه كنيم كه اين كار رو بكنه و ديگه احتياج نيست با زبانهاي سطح پايين ( ماشين ) كار كنيم و ميتوني از سي و.... استفاده كنيم .
اگه خواستيد مقاله اي بنويسم كه اين كار رو توش انجام داده باشم
نقل قول: البته روشهاي ديگه اي هم هست مثلا برنامه نويس مي تونه يه عدد تو قفل بنويسه و بخونه يا از امكانات ديگه استفاده كنه كه فهميدنش براي شما راحت نباشه يا مي تونه از ChekSum استفاده كنه و ...
اگر اين كار رو بكنه بازم ميشه فهميد اين عدد چي بايد باشه چون قفل اصلي رو همانطور كه گفتم داره پس ميتونه با تريس اين عدد رو بدست بياره اين روش در واقعه همون ديتا هايي كه توي قفله
و در مورد چك سام هم به راحتي ميشه تغيير داد
در كل نميگم كه هر كسي ميتونه اين كار رو بكنه دارم ميگم كركر ها ميتونن نه نو آموري مثل من . براي من اين كارها سخته و احتمال شكست خيلي زياده .
بحث اصلي اينكه ايا ميشه اين قفل رو كرك كرد . بر اساس اطلاعاتي كه من دارم بله ميشه .اما كي ميتونه اين خودش برميگره به تجربه و سواد شخص
marvel_vcpp خوب هستيد ؟
نقل قول: یه روش ساده که می تونه خیلی مفید باشه اینه که در قسمت های مختلف برنامه مثلا هنگام باز شدن فرم ها،کلیک دکمه هاو...یک عدد تصادفی تولید کرده و با عدد مشخصی مقایسه کنید. اگر نتیجه True بود قفل رو چک کنید. با این روش کرکر نمی تونه نتیجه رو با یه عدد ثابت مساوی قرار بده و سرعت برنامه هم کم نمیشه چون قفل به صورت تصادفی چک میشه .
والا اينجا رو نفهميدم ميشه توضيح بديد ؟
اگر عدد تصادفي باشه ديگه برابر عدد مشخصي نيست ؟ چون تصادفيه
منظورتون اينكه اگر اين عدد تصادفي مثلا باقي مانده اش بر ايكس برابر 0 بود قفل چك بشه ؟
اگر اينطوره خوب كركر با تريس ميفهمه و اصلا كاري ميكنه كه هيچ وقت اين اتفاق نيفته در نتيجه اصلا قفل چك نميشه !
نقل قول: نکته های ریز دیگه ای هم هست مثلا هیچ وقت روتین های چک قفل را در تابع قرار ندید و هر جا لازم بود کل روتین ها رو بنویسید. همین طور عملیات چک قفل رو تو Timer قرار ندید چون پیدا کردن و حذف کردن تابع و Timer برای کرکر ها خیلی آسونه.
اگر از ابجكت تايمر استفاده بشه :
بله كاملا درسته اما اگر تايمر ها بصورت ران تايم ساخته بشن چي بار كركر ها ميتونن پيداشون كنن ؟
در ضمن چرا اسونه ؟ ميشه يك ذره بيشتر توضيح بديد
در مورد اينكه چك كردن توي يك تابع نباشه :
خوب اين كاري كه شما ميگيد اگر انجام بشه باعث ميشه حجم برنامه زياد بشه و در بعضي از مواقع سرعت برنامه بياد پايين در ضمن اگر كركر يكي از اين چك كا رو پيدا كنه و بعد دوياره چك ديگري رو ببينه واين چك مثل قبليش باشه به يك سرچ ميتونه تمام چك كننده رو به راحتي پيدا كنه
نقل قول: در پایان هم میتونید با exe encryption هایی که تو بازار هست exe رو protect کنید
اين يكي فكر نمكنم زياد جالب باشه - چون تمام اين برنامه ها يك انتي دارن
اما براي به تاخيير انداختن كار كركر بله كاملا درسته
اميدوارم كمك كنه