PDA

View Full Version : کرک می و راهنمایی برای کرک



Armin060
جمعه 20 آذر 1388, 01:23 صبح
خیلی ممنون میشم که فایل های زیر رو کرک کنید و بعد از اینکه کرک کردید من رو هم یه راهنمایی واسه کرک کردنشون بکنید. مرسی :قلب::خجالت:
یه خواهش دیگه هم داشتم که گسترده امنیت رو بیشتر کنید مثلا امنیت رو به جای "از 10" "از 1000" بگید. ممنون. چون خیلی نزدیک به هم هستن، ولی برام مهمه که بدونم چقدر تفاوت دارند.

هدف در
CrackMe1 : پیدا کردن مقدار معتبر
CrackMe2 : پیدا کردن مقدار نامعتبر
CrackMe3 : پیدا کردن مقدار معتبر
CrackMe4 : پیدا کردن مقدار معتبر
CrackMe5 : پیدا کردن مقدار معتبر

Armin060
جمعه 20 آذر 1388, 02:12 صبح
CrackMe6 : پیدا کردن مقدار معتبر
CrackMe7 : پیدا کردن هر دو مقدار معتبر

Nima NT
جمعه 20 آذر 1388, 02:39 صبح
چه خــــــــــــــــــــــــ ـــــــــــــــــــــبره ؟!؟!!؟!
خوب یکی یکی میذاشتی ! اینطوری بهتر نبود ؟

Armin060
جمعه 20 آذر 1388, 12:27 عصر
شاید کرک کردنش واسه شماها هر کدوم 1 دقیقه هم وقت نگیره.
واقعا ممنون میشم که کمک کنید.

BackTrace
جمعه 20 آذر 1388, 14:25 عصر
من واقعا از برنامه های تحت داس بدم میاد. :گریه:


CrackMe1,3=1 و CrackMe2=0

والا این CrackMe1-3 که گذاشتین اصلا ارزش CrackMe بودن رو ندارن چون فکر نکنم کسی بخواد همچین پسوردی رو بذاره! :متفکر: این رو هم بگم که trace کردن چنین برنامه هایی که تک کاراکتری هستن یه جورایی سخت و سرکاریه.
شاید سراغ بقیه CrackMe ها نرم! :عصبانی:

Armin060
جمعه 20 آذر 1388, 14:50 عصر
این CrackMe هایی که گزاشتم فقط برای برسی حالت هایی هست. مثلا آیا مقادیر منطقی، کرک کردنشون سخت تر هست یا مقادیر عددی یا مقادیر متنی و ...
آیا طول متن و استفاده از کاراکتر های مختلف بیشتر تاثیر در سخت تر شدن کرک داره؟
و ....
هدف من این بود.
ممنون میشم امنیت رو هم بگید.

BackTrace
جمعه 20 آذر 1388, 15:23 عصر
آرمین جان، تمام مواردی رو که ذکر کردی همه در سخت شدن یک کرک نقش دارن. هرچه طول یک رمز بیشتر باشه، complex باشه، از فرمول ها و الگوریتم های پیچیده استفاده بشه و ... همه در پیدا شدن رشته اصلی نقش دارن اما میشه با یه patch ساده تمام این موارد رو دور زد. به نظرم برای پیچیده کردن یک عمل کرک علاوه بر این موارد از packerها هم کمک بگیر تا کمی کرک کردن دشوار بشه.(منظورم طرز کار پکرهاست نه اینکه از خودشون استفاده کنی)
امتیاز دادن به چنین مواردی واقعا سخته:ناراحت: چون وقتی یک Disassemble ،PE میشه زیاد نمیشه این دیدهایی که گفتین رو از هم تفکیک کرد. مگر از روی عملگرها.
در هر صورت بنده از هدف شما آگاه نبودم. اگه این هدف شما بوده، قابل ستایش هست.:تشویق:
اگه واقعا اصرار دارید که امتباز بدم، بگم...

Armin060
جمعه 20 آذر 1388, 15:41 عصر
نه مرسی، جوابم رو گرفتم. به جز یک مورد
اگر میشه یه نگاهی به CrackMe7 بندازید و امتیاز بدید. خیلی هم ممنون میشم که بگید چطور کرک کردید.

BackTrace
جمعه 20 آذر 1388, 19:26 عصر
Eventually:عصبانی++: I found them :لبخند:. They're dedicated to you, Armin.


aqbcasqryhjmk!%%!?mb45?
32464529.56410000I'm expecting your new CrackMes. I'll write that how I did it.(Be patient...)
Your CrackMes are in G:\ , but what about the other drives? (like C:(OS), D:, E:, F:)
Security: 500

Armin060
جمعه 20 آذر 1388, 20:00 عصر
تشکر


Your CrackMes are in G:\ , but what about the other drives? (like C:(OS), D:, E:, F:)
این یه تیکه رو درست متوجه نشدم.

و دیگه اینکه : CrackMe شماره 7 دارای دو مقدار صحیح هست! و هدف هم پیدا کردن هر دو مقدار صحیح بود.

BackTrace
جمعه 20 آذر 1388, 20:13 عصر
خواهش میکنم.


نقل قول:
Your CrackMes are in G:\ , but what about the other drives? (like C:(OS), D:, E:, F:)
این یه تیکه رو درست متوجه نشدم.
منطورم اینه که شما CrackMeها رو تویه g:\Programing\Projects\CrackMe ایجاد کردین.(مسیر VC++6). بعدش هم گفتم احتمالا درایو C شما سیستم عامله و بقیه درایوها رو هم نمیدونم.


شماره 7 دارای دو مقدار صحیح هست! و هدف هم پیدا کردن هر دو مقدار صحیح بود.
میشه کمی توضیح بدی؟

Armin060
جمعه 20 آذر 1388, 20:33 عصر
میشه کمی توضیح بدی؟
چه توضیحی؟ توضیح لازم نداره که!!!
CrackMe7 دو مقدار معتبر داره که شما یکیش رو پیدا کردید، اما هدف پیدا کردن هر دو مقدار معتبر هست.

BackTrace
جمعه 20 آذر 1388, 20:43 عصر
من مقادیری که پیدا کرده بودم ?aqbcasqryhjmk!%%!?mb45 و 32464529.56410000 بودن. غیر از اینها بازم مواردی وجود داره؟
شاید این باشه ?asqryhjmk!%%!?mb45 ، عددش هم مثل قبلی پیدا میشه...

Armin060
جمعه 20 آذر 1388, 20:53 عصر
مهم نیست.

ممنون میشم بگید که چطوری به این مقادیر رسیدید.

و CrackMe8 .... ممنون میشم نگاهی کنید :قلب:

BackTrace
شنبه 21 آذر 1388, 18:32 عصر
سلام، تازه رسیدم خونه.
در مورد CrackMe7 بگم که متوجه شدم 0040105C و 00401067 جاهایی هستن که ورودی ها گرفته میشن. تو آدرس 00401080 یه تست روی AL انجام میشه که چک میکنه مقدار صحیح وارد شده یا نه. اما AL به وسیله تابعی که در آدرس 00401077 وجود داره، مقدار دهی شده. یعنی این تابع کار Compare رو انجام میده. اما رشته ورودی رو با چی مقایسه میکنه؟ این مقدار تو آدرس 00401071، Push میشه.
سه تا دستور که از آدرس 00401084 شروع میشن هم، مقدار عددی رو چک میکنن.
میدونم که با مشتی کلمات، آدم زیاد متوجه نمیشه. اگه جایی ابهام داشتی لطفا بگو تا توضیح بدم.:لبخندساده:
میشه SourceCode فایل هایی که کرک میشه رو بذاری؟:قلب: مثل CrackMe7.
دارم روی CrackMe8 کار میکنم...

Armin060
شنبه 21 آذر 1388, 19:21 عصر
این آدرس هایی که شما دادید من تو ollydbg زدم پیدا نمیکنه. البته شاید جای درستی رو جست و جو نکردم. چون اولین باری هست که با olly کار می کنم!

BackTrace
شنبه 21 آذر 1388, 20:06 عصر
بله من با Olly کار کردم. وقتی بازش کردی، بعد از Open کردن CrackMe، کلیدهای Ctrl+G رو بزن بعدش آدرس رو وارد کن.(شما که حرفه ای هستی، اولین بار؟ گرفتی مارو؟ قبلا با چی کار میکردی؟)
اما یه کمی گیج شدم:متفکر:. شاید به خاطر این باشه که اطلاعاتی راجع به CrackMe8 ندارم. من باید مقدار صحیح رو پیدا کنم؟
چرا تویه About عنوان CrackMe2 نمایش داده میشه؟
اگه امکان داره یا یه فایل همراه CrackMe و یا تو About هدف رو ذکر کن.
ممنونم.

Armin060
شنبه 21 آذر 1388, 21:02 عصر
بله من با Olly کار کردم. وقتی بازش کردی، بعد از Open کردن CrackMe، کلیدهای Ctrl+G رو بزن بعدش آدرس رو وارد کن
من هم دقیقا همین کار رو کردم، ولی جواب نمیده!!


اگه امکان داره یا یه فایل همراه CrackMe و یا تو About هدف رو ذکر کن.
یعنی چی؟؟ چه فرقی میکنه که تو About چی نوشته؟
من وقتی داشتم کرک می های 1 تا 7 رو می نوشتم یه پروژه با نام CrackMe ایجاد کردم و کد رو نوشتم و کامپایل کردم و اسمش رو مثلا گزاشتم CrackMe1 ( البته فایل exe رو Rename کردم نه اسم پروژه رو ) بعد مثلا نوع رو تغییر دادم و اسمش رو گزاشتم CrackMe2 تو همون پروژه و الی آخر. بعد شما گفتی که از پروژه های کنسول خوشتون نمیاد، پس واسه CrackMe بعدی یه پروژه جدید ساختم، اما چون اسم پروژه قبلی CrackMe بود و نمی خواستم اون رو پاک کنم و پروژه ی جدید رو هم تو همون محل ایجاد کنم، به خاطر این اسم پروژه رو گزاشتم CrackMe2 و کد رو نوشتم، بعد کامپایل کردم و Rename به CrackMe8، اون About هم واسه خود ++C هست و من بهش دست نزدم، واسه همین نوشته CrackMe2.

هدف هم در CrackMe8 : پیدا کردن مقدار معتبر

Armin060
یک شنبه 22 آذر 1388, 17:04 عصر
فکر می کردم به دقیقه نمیکشه که کرک میشه!!! ( الآن دور روز شد ) :متفکر:

BackTrace
یک شنبه 22 آذر 1388, 20:53 عصر
سلام آرمین جان، ببخشید که دیر شد. باید واسه میان ترم میخوندم.
فکر کنم بخش اصلی کد (تو آدرس 004014D3 ) برای CrackMe8 به صورت زیر باشه:



cin >> x


if 1234219853 % x = 4855717 then MessageBox OK


که توی اون x دارای مقدار 1229364136 هست.
که مقدار x باید Copy&paste بشه. Trick جالبی بود!

Armin060
یک شنبه 22 آذر 1388, 22:11 عصر
تشکر ... و ... امنیت؟
_________________________________________

نمی دونم این تغییری که ایجاد کردم تاثیر مثبت داره یا نه. ( امیدوارم که داشته باشه )
هدف : پیدا کردن مقدار معتبر

BackTrace
یک شنبه 22 آذر 1388, 23:32 عصر
آرمین جان، شما تنها اومدید از عدد اعشاری استفاده کردین و یک سری محاسبات روی اون انجام میدید. همین. نیازه که کرک کنم؟ :متفکر:
منتظر سورس CrackMe کرک شده هستم... :لبخندساده:

Armin060
دوشنبه 23 آذر 1388, 06:26 صبح
نه فقط اون نیست. من سعی کردم هر دفعه آدرس یک متغییر که یه مقدار عددی توش ذخیره میشه رو تغییر بدم؟ البته امیدوارم که درست عمل کرده باشم!!

BackTrace
دوشنبه 23 آذر 1388, 16:55 عصر
درسته، انگار کمی بیشتر پیچیده شده و نیاز به trace های داخلی تر داره. از اونجایی هم که از اعداد اعشاری استفاده کردین و یک سری محاسبات ریاضی روی اونها انجام میدین، باید کدها رو به صورت پیوسته آنالیز کرد تاینکه بعد از trace چند خط تازه به مفهوم یک عمل ریاضی رسید.
این برنامه به سادگی crack میشه اما برای Reverse کردنش باید وقت کافی گذاشت!
شاید این اعداد برای شما آشنا باشن:

654541198498.5416
1/input

در ضمن، من تویه یه پست گفتم که:
"مقدار x باید Copy&paste بشه."
درحالیکه این چنین نیست! و شما هم چیزی نگفتی! شاید هدف شما فقط فهمیدن اینه که برنامه هاتون قابل کرک شدن هستن یا نه و نه چیز دیگه! :متفکر::عصبانی:

Armin060
دوشنبه 23 آذر 1388, 18:39 عصر
درحالیکه این چنین نیست! و شما هم چیزی نگفتی! شاید هدف شما فقط فهمیدن اینه که برنامه هاتون قابل کرک شدن هستن یا نه و نه چیز دیگه!
انسان ها هیچ وقت کامل نبودند، نیستند و نخواهند بود، پس هر کاری بکنند حداقل یک نقص داره، پس غیر قابل کرکی در کار نیست و مطلب دیگه اینکه من حرف شما را به صورت زیر برداشت کردم :
x دارای مقدار 1229364136 هست که باید این مقدار باید Copy&Paste بشه تو TextBox کرک می.
:لبخند:

BackTrace
سه شنبه 24 آذر 1388, 00:57 صبح
اینم تقدیم به آقا آرمین که اولین و فعلا تنها دوست ما تو این فروم هست.





4523452.45310



فکر کنم بخوابم، خواب FPU و XMM ببینم!
امنیت: 600

Armin060
سه شنبه 24 آذر 1388, 06:31 صبح
میتونید یه راهنمایی بکنید که چطور می تونم امنیت رو بالاتر ببرم؟

BackTrace
سه شنبه 24 آذر 1388, 15:06 عصر
توی اینترنت بگردی مطالب خوبی پیدا میکنی.
از روش های بکار رفته در Packerها استفاده کن. مقادیر مهم رو با انتساب نسبت نده. مثلا ننویش "pass="hello چون این متن Embed میشه و به راحتی قابل پیدا کردنه، از روش هایی مثل همونهایی که تو آخرین CrackMe به کاربردی، استفاده کن.(لابلای کدهای اصلی، کارهای الکلی با مقادیر اصلی انجام بده) و ...

موفق باشی :چشمک: