View Full Version : Simple KGM 2 by V3SA
VESA_01
شنبه 08 آبان 1389, 15:44 عصر
درود
یک KeygenMe خیلی ساده...
راه حل های قابل قبول:
1. Keygen
2. SelfKeygen
3. Serial
خواهشا Patch نکنید، هدف بررسی الگوریتم تولید سریال است...
VESA_01
چهارشنبه 12 آبان 1389, 19:15 عصر
کسی نتونست اینو کرک کنه؟
باور کنید خیلی ساده است...!
یه راهنمایی:
encrypt(decrypt(string))=string
اینم یه نمونه سریال:
barnamenevis
3309584244
2A2D1058EF04E150
mansour01
دوشنبه 24 آبان 1389, 13:39 عصر
سلام دوست عزیز
راستش من همون روز اول که شما این تاپیک رو ایجاد کردید یه نگاهی به این فایل انداختم . امشب هم کمی اون رو بررسی کردم .
اول از همه اینکه پیشنهاد می کنم هیچوقت ننویسید ، Keygen Meیا Crack Me ساده ، چون هیچکس دوست نداره یک چیز ساده رو آنالیز کنه و چیز جدیدی از اون یاد نگیره و حتی بصورت حرفه ای تر ، با چیز غیر حرفه ای تر از اطلاعات خودش مجادله) Challenging ) کنه .
خب از اونجا که من تو ضمینه Keygening اطلاعات کامل و تخصص کافی ندارم ، مجموعه مشاهدات خودم رو می نویسم و تا اونجا که بتونم پیش میرم ، و امیدوارم دوستان حرفه ای تر در این زمینه کمک کنن و اشکالات من رو تصحیح کنن ( چه بسا تمام تحلیل های من از پایه اشتباه باشه ) .
خب برنامه رو با PEID آنالیز می کنیم . نتیجه اینکه برنامه به زبان Assembly نوشته شده . با Kanal آنالیز می کنیم که چنین جوابی به ما میده :
BASE64 table :: 00001D8E :: 0040418E
BigLib BigMod :: 000014D6 :: 004020D6
BigLib BigPowMod :: 000016D4 :: 004022D4
برنامه رو تو OLLY باز می کنیم و کمی رفتار برنامه رو آنالیز می کنیم . برنامه به همون سادگی ای هست که می گید .
ابتدا رشته های برنامه رو جستجو می کنیم :
{تصویر شماره 1 }
خب وقتی 10001 رو می بینیم اولین نکته ای که به ذهن ما میخوره چی هست !؟ بله ، RSA ! و خط اول که من روش Bp گذاشتم هم مدل یا همون N ما هست بر پایه ( Base 16 ) ، که بعد از Factorize کردن کلید P ما F752E26B و کلید Q ما هم FA46BBFB بدست میاد ( دو عدد اولی که با حاصل ضرب اونها مدل ما بدست میاد F1CB 4762 70EA 27E9 ) .
خب با کمی مطالعه رفتار برنامه متوجه میشیم در هنگام بررسی صحت سریال از تابع مذکور برای RSA استفاده نمیکنه ، بلکه این تابع رو در ابتدای برنامه استفاده میکنه ( حدس من در اینجا و با بررسی اولیه کل برنامه اینه که برنامه با RSA یک کلید برای رمزنگاری ایجاد میکنه ، اما سوال اینجاست ، به چه صورت ؟!!!! ) .
روی Badboy دوبار کلیک می کنیم تا به پیغام خطای برنامه میرسیم . کمی برنامه رو آنالیز می کنیم .
با بررسی اولیه متوجه میشیم که :
برنامه بعد از گرفتن ID اون رو به مبنای 16 میبره (Hex ) و مقدار D4 ( دسیمال 212 ( رو از اون کم میکنه :
{تصویر شماره 2 }
و با مقداری که در تابع زیر بررسی میکنه مقایسه میکنه ( در VA:004011A2 ) .
----
{تصویر شماره 3 }
در اینجا برای فرار از این تابع شرطی و به جای Nop کردن می تونیم این قسمت از کد رو پچ کنیم :
Mov DWORD PTR DS: [404674],EAX
----
{تصویر شماره 4 }
در اینجا مبنای 16 ( id – 212 ) به عنوان یکی از مقادیر شرطی برای صحت سریال قرار میگیره ( با فرمت %8x که اگر اشتباه نکنم در صورتی که مقدار ورودی ما کمتر از 8 کاراکتر باشه باقی با 0 پر میشه ) .
----
{تصویر شماره 5 }
و در اینجا هم بعد از کد شدن مقدار ورودی ما ( پسورد ما ) نتیجه باید برابر با مبنای 16 ( id – 212 ) باشه تا صحت سریال مورد تائید قرار بگیره .
====
خب می دونم تا اینجا چیز جدیدی نگفتم ، اما در پست بعدی سعی می کنم به دنبال این باشم که آیا راهی برای Reverse کردن عملیات اهراز هویت هست یا خیر و باید از Brute Force استفاده کرد .
پ.ن : باز هم این نکته رو عرض می کنم که اطلاعات بنده کامل نیست و با توجه به اطلاعات کم خودم دارم برنامه رو آنالیز می کنم .
VESA_01
سه شنبه 25 آبان 1389, 02:44 صبح
درود
اول از همه اینکه پیشنهاد می کنم هیچوقت ننویسید ، Keygen Meیا Crack Me ساده ، چون هیچکس دوست نداره یک چیز ساده رو آنالیز کنه و چیز جدیدی از اون یاد نگیره و حتی بصورت حرفه ای تر ، با چیز غیر حرفه ای تر از اطلاعات خودش مجادله) Challenging ) کنه .
دوست گرامی این نظر شخصی شماست. من فقط سطح KeygenMe خودم رو مشخص کردم. شاید این کیجن می برای برخی بینهایت سخت باشه و برای برخی دیگه مثل آب خوردن. من از نگاه یک کراکر Medium نمره 2 رو به این KeygenMe میدم. حالا اگه کسی با نگاه به عنوان یه Crackme حدس هایی چون شما میزنه همون بهتر که وقت خودش رو بیهوده تلف نکنه !
در اینجا برای فرار از این تابع شرطی و به جای Nop کردن می تونیم این قسمت از کد رو پچ کنیم :
شما علاقه زیادی به تایپ کردن دارید ولی مثل اینکه اصلا از خوندن خوشتون نمیاد!
عرض کردم پچ نکنید!
چرا؟
چون Patch کردن بار علمی خاصی در این مورد نداره...
مایه تاسفه بعد از این همه مدت که این Keygenme کرک نشد حتی هیچ برنامه نویسی نیومد بپرسه که این کد چطوری کار میکنه!
mansour01
سه شنبه 25 آبان 1389, 12:38 عصر
درود
دوست گرامی این نظر شخصی شماست. من فقط سطح KeygenMe خودم رو مشخص کردم. شاید این کیجن می برای برخی بینهایت سخت باشه و برای برخی دیگه مثل آب خوردن. من از نگاه یک کراکر Medium نمره 2 رو به این KeygenMe میدم.
با سلام
بله شما درست می فرمایید و این نظر شخصی بنده هست و شاید این keygen Me برای من فوق العاده سخت باشه و برای دیگران بینهایت آسان ، و شما هم حتما مد نظرتون دوستان حرفه ای بود ، فرمایش شما کاملا متین است .
حالا اگه کسی با نگاه به عنوان یه Crackme حدس هایی چون شما میزنه همون بهتر که وقت خودش رو بیهوده تلف نکنه !
شما علاقه زیادی به تایپ کردن دارید ولی مثل اینکه اصلا از خوندن خوشتون نمیاد!
عرض کردم پچ نکنید!
چرا؟
چون Patch کردن بار علمی خاصی در این مورد نداره...
در ابتدا اجازه بدید کمی علاقه خودم رو به تایپ کردن برای شما شرح بدم . بله من علاقه به تایپ کردن دارم ، چون ادعا نمی کنم که همه چیز رو می دونم ، اما ادعا می کنم که می تونم به دیگران در حد توان علمیم کمک کنم و از دوستان متخصص در این فروم کمک بگیرم و ادعا می کنم با گفتگو بسیاری از مشکلات قابل حل و رفع هست . پس حرفهام رو پشت ماسک نام کاربریم قورت نمیدم ، بیان می کنم .
اما در مورد Patch کردن باید عرض کنم اگر شما دقت میکردید ، پستی که من ارسال کردم مربوط به بررسی اولیه برنامه شما بود ، و اون قسمتی که Patch شده می تونه خروجی بده و شما هم خودت میدونی که وقتی جایی برنامه اجازه Phishing بده ، ارسال اون به کاربر کار چندان سختی نیست و از اونجایی که شما در پستتون SelfKeygening رو هم مورد قبول می دونید پس مشکلی پیش نمیاد . اما هدف من در اون قسمت این بود که برنامه شرایط رو برای اجرا تا تابع شرطی اصلی ما طی کنه ، تا در مراحل بعدی مکانیزم کلی اهراز هویت مورد بررسی قرار بگیره .
ضمن اینکه مبحث Keygening هست ، وگرنه Patch کردن برنامه شما کمتر از 20 ثانیه زمان میبره ( برای یک مبتدی ) .
به هر صورت در صورتی که هر نوع اشکال فنی و علمی در پست ارسالی من می بینید ، خوشحال میشم اونرو بیان بفرمایید تا من اشکالات خودم رو تصحیح کنم و مطمئنا از شما متشکر و ممنون خواهم شد .
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.