ورود

View Full Version : crack me : پيدا كردن رشته



max2004
شنبه 06 مهر 1387, 17:02 عصر
سلام به همه اساتيد
اين فايل با هيچ نرم افزاري پروتكت نشده
وقتي اجرا ميشه از شما يك رشته ميخواد كه اگر رشته رو درست وارد كنيد يك پيغام تهي به شما نشون خواهد داد
من ميخوام اون رشته رو پيدا كنيد

پ.ن : از مديران عزير خواهش ميكنم اين تاپيك رو پاك نكنن چون تمامي قوانين رو رعايت كردم. ممنون

Securebit
دوشنبه 08 مهر 1387, 23:37 عصر
رشته : uacovd
امنیت رشته : متوسط

max2004
شنبه 13 مهر 1387, 09:29 صبح
ممنون از اين كه وقت گذاشتيد.
ديگه يواش يواش دارم نااميد ميشم
راستش ما يه برنامه نوشتيم كه حدودا يك سال و نيم وقت برده؛ هدف من هم اين نيست كه براي هميشه از كرك شدن اون جلوگيري كنم بلكه فقط ميخوام يه كم كرك كردنش سخت بشه تا حداقل يه كم به تاخير بيفته.
شيوه فعال سازي برنامه هم عين اكثر برنامه هايي هست كه شما استفاده ميكنيد يعني كاربر نسخه آزمايشي رو دريافت ميكنه بعد اگر خواست بخره ما سريال نامبر رو بهش ارائه ميديم و با وارد كردن اون، برنامه به نسخه كامل تبديل ميشه
اين طور كه من تحقيق كردم كلا دو راه براي محافظت برنامه وجود داره؛ يك راه استفاده از نرم افزارهاي protector هست كه كارايي خوبي نداره چون براي همه اونها unpackerهاي آماده وجود داره؛ يك راه هم پيچيده كردن قسمت فعال سازي برنامه هست كه در اين مورد هم به نتيجه مطلوبي نرسيدم چون هر روشي رو ميخوام استفاده كنم، به راحتي قابل كشف شدن هست.
اگر دوستان پيشنهاد يا نظري دارن ممنون ميشم بيان كنن چون شما سررشته بيشتري در اين مبحث داريد
با تشكر

دنیای دلفی
شنبه 13 مهر 1387, 14:00 عصر
ببين اگر مشكل شما پيدا نكردن رشته است اين مشكل زيادي نداره ميشه كاري كرد كه الگوريتم بسيار پيچيده بشه . بجاي مقايسه مستقيم رشته به اين صورت عمل كن . يك رشته كد شده را مثلا book كه كد شده به elwfjwelknwhelihwe به اين عبارت را به صورت كد مقايسه كن يعني شما بيا وقتي كاربر رشته را مي نويسه كدش كن و كد شده اونو با كد شده book مقايسه كن . اينجوري اگر از الگوريتمهاي تركيبي مانند Base64 , AES استفاده كني كار بسيار مشكلي را براي كركها فراهم اورده اي. البته اگر برنامه شما رو كرك نكنند .

max2004
شنبه 13 مهر 1387, 15:33 عصر
نه مشكل من با الگوريتم مقايسه رشته نيست
مشكل من با كاري هست كه بعد از مقايسه رشته بايد انجام بدم، به اين صورت كه وقتي كاربر رشته (سريال نامبر) رو وارد كرد، حالا اگه رشته درست وارد شده بود بايد يه چيزي رو يه جايي ثبت كنم (مثلا يه كليد تو رجيستري) تا دفعه بعد كه برنامه اجرا شد با چك كردن اون مقدار، تشخيص بدم كه كاربر قبلا رشته رو درست وارد كرده:


if (serial number is true)
{
showmesssge(...) //decoded message
registery.key.add(some_value)
}
حالا استدلال خودم اين هست كه كركر ميتونه از الگوريتم مقايسه رشته پرش كنه و مستقيم بياد سراغ دستور ذخيره مقدار در رجيستري:


jmp l1
if (serial number is true)
{
l1:
showmesssge(...) //decoded message
registery.key.add(some_value)
}
پس الگوريتم مقايسه رشته هر چقدر هم پيچيده باشه به راحتي قابل دور زدن هست. درسته؟!

دنیای دلفی
شنبه 13 مهر 1387, 17:17 عصر
تو نكات و توضيحات خودم گفتم اگر كركر نتونه برنامه رو رو كرك كنه . بله با اين روش كركر به راحتي مي تونه برنامه شما را دور بزنه

دنیای دلفی
شنبه 13 مهر 1387, 17:23 عصر
خوب براي جلوگيري و مشكلتر شدن روند شناسايي كدهاي اصلي و امنيتي شما راههاي مختلفي وجود داره .
1- استفاده از ماشين مجازي
2-تخريب بخش Full Registerو بعد از دريافت كد فعال سازي بازسازي آن بخش .
3-از بين بردن كدهاي اسمبلي بخش Full Register سپس بعد از دريافت نسخه رجيستر شده نوشتن كدهاي صحيح در حافظه به صورت Run Time
و . . .

Nima NT
شنبه 13 مهر 1387, 22:53 عصر
2-تخريب بخش Full Registerو بعد از دريافت كد فعال سازي بازسازي آن بخش .این کاری هست که آرمادیلو انجام میده و فقط میتونه فروش یک نسخه از برنامه رو برای شما تضمین کنه چون هر کراکر با تجربه ای که برنامه شما رو بخره و کلید اصلی رو داشته باشه میتونه اون نقاط رو به صورت دستی بازسازی کنه ، مگر اینکه شما بیای تعداد این نقاط رو زیاد کنی ، چطوری ؟
یعنی بیای و به اندازه 400 تکه کد یک بایتی به قول خودمون مارکر بذاری ، این نقاط رو تخریب کنی و تو برنامه هر وقت که لازم شد اون تکه اجرا بشه ،
این طوری برای کرک کردنش حتما" باید اسکریپت نوشته بشه که این هم کار هرکسی نیست.

دنیای دلفی
شنبه 13 مهر 1387, 23:21 عصر
اين هم ميشه ولي راههايي ديگري هم هست

max2004
یک شنبه 14 مهر 1387, 09:27 صبح
2-تخريب بخش Full Registerو بعد از دريافت كد فعال سازي بازسازي آن بخش .
3-از بين بردن كدهاي اسمبلي بخش Full Register سپس بعد از دريافت نسخه رجيستر شده نوشتن كدهاي صحيح در حافظه به صورت Run Time
و . . .

ميشه يه كم بيشتر در مورد اين دو روش توضيح بديد يا منبعي رو معرفي كنيد؟
من جست و جو كردم اما نتونستم چيزي پيدا كنم

دنیای دلفی
دوشنبه 15 مهر 1387, 00:24 صبح
توي تاپيك مربوطه به http://barnamenevis.org/forum/showthread.php?t=104440 شما مي توني يك نمونه كد را پيدا كني كه با اين روش كرك مي را من ساختم . كاملا دستي .