amirjan نوشته است:آهان همین قسمت .
این قسمت هم مثل همون قسمتی هست که تو کرک های برنامه های آقا امین انجام دادین ؟ یعنی میپره آخر فایل و ... ؟؟
خیلی ممنون از توضیحات
سلام خوب هستيد
بله همانطور با يك فرق اينجا اگر برنامه با وي بي نبود هندل اديت باكس رو بدست مياوردم و بعد با تابع getwindowtexta مقدار اون بدست ميامد . اما اينجا با وي بي سر و كار داريم . اوضاع فرق داره . براي اين كار هنگامي كه از تابع getobject و يا همچنين چيزي وي بي استفاده ميكنه درست بايد بعد از اون اين كار رو كرد .
نحوه مقايسه ام بايت به بايته و چون توي وي بي اطلاعات بصورت يوني كد ذخيره ميشن پس بايد بصورت يوني كد اين كار رو كرد
نقل قول: 1-ایا thread ها تاثیری در امنیت دارند.
2- ایا در متغیرهای محلی شما به مقدار داخل متغیرهای string هم دسترسی دارید (حتی در توابع محلی)
3-شما به جز xor کردن یا منها کردن چه روشی برای مقایسه پیشنهاد میکنید .( به غیر از jz,jne,je,...)
4-آیا کلا باید دور string ها را خط بکشیم یا لزوم داره باشند.
5-آیا شما به stack هم دسترسی دارید چون استاد اسمبلی ما میگفت هیچ برنامه ای هنوز نیومده که بتونه محتویات stack نشون بده.(البته این برای چند وقت پیشه )
6- اگر برنامه ما به مانند یک زنجیر تمام بخشهایش به هم چسبیده باشد باز هم کرک میشود.
7- آیا الگوریتم های پیچیده رمزنگاری وhash تاثیری در امنیت دارد .چون در برنامه قبلی من همونی که شکسته شد یه الگوریتم encrypt نسبتا خوب براش نوشته بودم.
8- چرا در برنامه ها ی معروف هنوز از generate code ها استفاده میشه در حالی که همیشه شکسته میشه .(تواین برنامه آخری خودمم از همین استفاده کردم)
9-آیا میتوان برنامه رادر محدوده غیر مجاز load کنیم آیا تاثیری دارد.
10-استفاده از کدهای محافظتی آیا به درد میخوره یا نه.
1- خوب تريد يعني چي من نميدونم خوب .تازه كارم ديگه !!!!!!!!!
فكر نكنم داشته باشه چون مثل يك پروسس معمولي هر تريد هم براي خودش يك هندل و كال بك داره و فرق انچنانيي نداره
2- بله متغيير توي اسمبلي لوكال و غير لوكال نداره يك تيكه از حافظه است و ميشه بهش دسترسي پيدا كرد
3- نه نميشناسم
4- نه لزوما ولي نحوه گرفتن خيلي مهمه
5-استادتون كاملا در اشتباه بودند از موقعي كه شروع كردم به ياد گيري كرك اينگ يعني سال 76 تا الان هميشه مقادير توي استيك رو ميبينم و تغيير ميدم
نميدونم استادتون به چه دليلي گفتن كه نميشه
6- بله . قوي ترين برنامه ها در اين زمينه هم كرك ميشوند . اما مسئله مهم زماني كه مي بره تا يك كركر بتونه يك برنامه رو كرك كنه مثلا اگر 10 ماه طول بكشه برنامه انقدر فروش داشته تا هم پول اوليه رو برگردانه هم سود را !!!
7- تقريبا بله نميشه كد رو توليد كرد و يا بدست اورد اما ميشه برنامه رو جوري تغيير داد كه انطوري كه شما دوست داريد كار بنمايد
8-چون انها قانون كپي رايت دارن !!!!!!!!!!!!!!!!!!!!
9-تفريبا نه و در بعضي از جاها مشكل سازه . يادم يك برنامه اينجا بود كه برنامه رو توي قسمت غير مجاز لود ميكرد . يك پكر بود كه يكي از دوستان نوشته بود .
امير جان يادم دامپرشو نوشته بود . امير جان اسم برنامه چي بود ؟
فكر كنم جواب سئوال ديگه معلومه
10- كا رو كمي سختر ميكنه
اميدوارم كمك كنه
حرف های آقا سعید همش درسته مثلا اگر je های من به jne تغییر کند تمام کارهای قبلی من بیهوده بوده .فقط مشکل آقا سعید پیدا کردن je شرط اصلی است که اونم با روش آزمون و خطا و یا بقیه روشها میشه به دست آورد.
فقط ما زمان رو میتونیم از کرکر بگیریم.
تنها راهی که الان به ذهن متخصصان امنیت میرسه حذف واسطه ها میباشد .
که اونم نیاز به دانش بسیار بالا ، سرمایه و وقت کافی میخواد. در این روش
دیگر برنامه بدون رفتن به ram به طور مستقیم به cpu میره .
الان برای موبایلش اینو درست کردند .
آقا سعید نظرتون درباره استفاده از int 13h برای ریختن اطلاعات چیه.
تو برنامه های ویژوال تا جایی که من میدونم متغیرهای محلی را با stack شبیه سازی میکنند . و بعد سریع از بین میبرنش.
----------------------------------------------------------------------------------------------------------------------
زندگی شوق رسیدن به فردایی است که هرگز نمی آید
سلام
امين جان سلام
اقا برنامه كرك مي 3 خوب بود . تقريبا ميشه گفت اشكالي نداشت ولي بازم كرك شد .
با اينكه نه استرينگس پيدا ميشد و نه صفحه اي يا سرنخي بازم ميبيني كه كرك شد
راستي كركش مثل دفعات قبله به اميد ديدار
esmaeily-hosein نوشته است:حرف های آقا سعید همش درسته مثلا اگر je های من به jne تغییر کند تمام کارهای قبلی من بیهوده بوده .فقط مشکل آقا سعید پیدا کردن je شرط اصلی است که اونم با روش آزمون و خطا و یا بقیه روشها میشه به دست آورد.
فقط ما زمان رو میتونیم از کرکر بگیریم.
تنها راهی که الان به ذهن متخصصان امنیت میرسه حذف واسطه ها میباشد .
که اونم نیاز به دانش بسیار بالا ، سرمایه و وقت کافی میخواد. در این روش
دیگر برنامه بدون رفتن به ram به طور مستقیم به cpu میره .
الان برای موبایلش اینو درست کردند .
آقا سعید نظرتون درباره استفاده از int 13h برای ریختن اطلاعات چیه.
تو برنامه های ویژوال تا جایی که من میدونم متغیرهای محلی را با stack شبیه سازی میکنند . و بعد سریع از بین میبرنش.
سلام خوب هستيد
روش صحيح خطا نيست روش اناليز كده توي مغزه
دقيقا فقط زمان رو !!!!!!!!!!!!!
خوب اين شدني نيست منظورم توي ويندوزه چون ساختار pe استاندارده و بر اساس اين ساختار ويندوز فضا ها را مشخص ميكنه و بعد برنامه را لود ميكنه . منظورم همون ماشين مجازي است كه برا يهر برنامه ساخته ميشه و در ضمن ويندوز جلوي دسترسي مستقيم با اينتراپت هاي سخت افزاري رو نميده مخصوصا خانواده ان تي يا new technology
توي موبايل شايد بشه ( نميدونم شده يا نه ) ولي چون اونجا ساختار فرق ميكنه مسئله هم فرق ميكنه
والا چيزي در مورد اين انتراپت نميدونم بگذاريد يك مطالعه اي بكنم . خوب منم نو اموزم ديگه!!
والا از بين نميبرتشون بهتر بگيم ادرسشو نو براي استفاده بعدي از حالت قفل خارج ميكنه دقيقا مثل دليت كردن يك فايل از روي هارد . سرفصل يا header از توي file aplication table پاك ميشه ولي اطلاعات اساسي روي هارد هنوز هست و ميشه با برنامه هاي اين فايل ها را برگرداند
اميدوارم كمك كنه
سلام بچه ها.
من چند روزی پست نزدم ولی هر روز روند تاپیک رو دنبال میکردم چون تا الان چیزی به ذهنم نمیرسید که بگم. حالا پس از چند روز این پست رو دارم میزنم. من طی این چند روز خیلی متعجب شدم چون طی یک روز دو صفحه به تاپیک اضافه شده بود. که فکر کنم توی تاریخ فروم بی سابقه یا حداقل کم سابقه باشه. البته خوشحال و بسیار سپاسگزارم که اینقدر پیگیر برخورد کردید و استقبال نمودید اما به نتایجی رسیدم که توجه شما رو به آنها جلب میکنم:
---------------------------------------
آقا کم کم پس از بررسی این تاپیک دارم به این نتیجه میرسم که این روش(گذاشتن فایل و کرک کردن) کار ساز نیست، و این تاپیک به مرور در حال تبدیل به کرک خونه است. هی یه نفر میاد یه فایل میگذاره میگه کرک کنید یکی دیگه هم(که معمولا کسی جز امیر جان یا سعید نیست) کرکش میکنه. خب با توجه به اینکه حتی برنامه هایی چون Windows XP یعنی مادر تمام برنامه هایی که ما کار میکنیم کرک میشه، کرک کردن برنامه های ما کاری نداره؛ حالا ممکنه چند ساعت هم گیرش باشن ولی به هر حال کرک میشه. ما میخوایم جلوی کرک شدن برنامه هامون رو بگیریم نه اینکه کرک یاد بگیریم و برنامه بقیه رو کرک کنیم. شاید بهتر باشه اینجوری خدمتتون عرض کنم که ما باید در روشهامون، یه کم تجدید نظر کنیم تا تاپیک به نتیجه و جمع بندی برسه و گرنه به اندازه تعداد موهای تن خر ملا نصرالدین!!! میشه قفل نوشت و کرک کرد(میگی نه، متر کن!!).
1- بهتره وقتی یه نفر یه برنامه رو مینویسه نفر دیگه نیاد دوباره یه برنامه در همون سطح ارائه بده بلکه ایرادهای همون رو برطرف کنه و بهترش کنه که باید پس از کرک شدن، برنامه نویس به ارائه سورس برنامه و توضیح درباره روشهای مورد استفاده در قفل، و کرکر به عیوبی که در برنامه وجود داشت و از آن بهره گرفته بود بپردازد.
2- باید لیستی تهیه کنیم از خصوصیاتی که برنامه نباید داشته باشه تا کرک بشه. مثلا یه نفر میاد با استفاده از شرط مساوی قفل میذاره و کرک میشه. توی لیست(که این لیست باید توی پستهای مختلف هی اضافه بشه و یکی مسئولش باشه) نوشته میشه:
شرایط قفل خوب:
الف- نداشتن مساوی در شرط: دلایل جلوی آن ذکر میشود که چرا؟
پس از این دیگه در برنامه هایی که نوشته میشه استفاده از مساوی ممنوع است و سپس مثلا یکی میاد یه برنامه با استفاده از الگوریتم رمز گذاری MD6 میگذاره و کرک میشه. خوب پس از بررسی مطابق بند 1، مسئول لیست مینویسه:
شرایط قفل خوب:
الف- نداشتن مساوی در شرط: دلایل
ب- عدم استفاده از الگوریتم MD6: دلایل
و به همین ترتیب.
3- شاید بهتر باشه ابتدا به بررسی روشهای حفاظتی برنامه های بزرگ بپردازیم و سپس قفل های خودمان را هم مطابق آنها تعبیه کنیم و سپس به پیشرفت و بررسی عیوب قفلها بپردازیم تا اینکه بیاییم و از قفلهای بسیار ساده خودمان استفاده کنیم یعنی ابتدا قفلی که مثلا در Windows Activation و Windows Genuine استفاده میشه رو بررسی و استفاده کنیم سپس به بررسی عیوب آن بپردازیم و آن را بهینه کنیم. یعنی برای درست کردن هواپیما در یه کشوری، نباید دوباره بیان هواپیمای برادران رایت رو طراحی کنن و سپس به تکامل آن بپردازن تا تازه پس از سالها به تکنولوژی الان برسن بلکه باید از تجارب قبلی دیگران بهره جست و به ایجاد نسل بعدی هواپیمای کنونی پرداخت. همونطوری که متخصصان توانمند نیروی هوایی، روی F5هایی که آریا مهر(شاهنشاه مخلوع ملعون) خریده بود یه دستی کشیدن و بهینه سازیش کردن و صاعقه رو بر سر شیطان بزرگ(اتازونی) و فرزند دلبندش(عرض موعود) فرود آوردن!!
---- به افتخارشون یه صلوات محمدی پسند ختم کنید
--------------------------------------
دیگه فعلا تحولی به نظرم نمیرسه که بخوایم ایجاد کنیم. نظرتون درباره این تحولات چیه؟ به هر حال سیر تکاملی هر چیزی از تحول سرچشمه میگیره. اگه مورد دیگه ای هم به نظرتون میرسه که اگه اعمال بشه به بهتر شدن تاپیک کمک میکنه حتما مطرح کنید. ضمنا باز هم از شما بخاطر همت و تلاش بی وقفه بی نهایت سپاسگزارم. چه اشکالی داره که ما هم در مرکز جهان(ایران ویج) افتخاری دیگر برای ایران بیافرینیم و آن هم همانا حل شدن مشکل کرک(مشکل خودمون و برنامه نویسان) باشه. البته با سعی و تلاش و پشتکار!!! ضمنا برخی حرفها فقط به قصد مزه پرونی و خستگی درکنی بود، نه به قصد توهین به کسی(البته اگه به دهنتون مزه کرده باشه!!) ----- گل آقا: بی مزه!! ببخشید اگه روده درازی کردم و سرتونو درد اوردم ----- گل آقا: چه عجب، بالاخره خودشم فهمید!!.
فعلا خدا حافظ.
saeedsmk سلام.
از اینکه source را برام فرستادی ازت ممنونم. خیلی کارت جالب بود.
فقط من یه سوال دارم اگر روشی برای anti attach پیدا کنم به نظرت باز هم راهی برای پیدا کردن آدرس jump هست؟
راستی خود شما راهی برای anti attach سراغ داری که olly براش plugin نداده باشه؟
سلام
خوب هستيد
فكر كنمايده جالبي باشه
در قسمت كرك هم امير جان هم من سعي كردم مشكل ها رو بگيم
مثلا همين كرك مي كه امين جان ميگذاره از دقت ميكرديد هي در حال توسعه بود . البته چون سورس ها معلوم نبودند فقط كسي كه روي كرك مي هاي ايشون كار مي كرد متوجه ميشد
بگذاريد دونه دونه بگم
1 توي كرك مي اول ايشون از مسيج باكش استفاده كرده بود با يك استرينگ معلوم و شرط رو درست قبل از ميسج باكس چك ميكرد . با اشاراتي كه شد اين مشكل رو بر طرف كردن وفقط از شرط مساوي استفاده كرده بوند كه با اشاراتي كه شد اين مشكل هم بر طرف گرديد
2- توي دومي از يك تايمري يا شبيه اون استفاده شده بود كه چك كردن در يك تابع ديگر بود و ميسج باكس توي يك تابع ديگر لذا شما نمي تونستيد سريع به تابع چك كننده برسيد ولي هنوز استرينگ ها معلوم بود و سرنخ به بررسي كننده ميداد
3- توي سومي كركمي اين اشكلات وجود و تنها با اناليز ميشد تابع چك كننده رو بدست اورد
و....
سعي شده ايرادات گفته بشه اما نه بصورت دسته بندي شده
به هر حال فكر كنم كار جالبي باشه تا بشه يك نتيجه بندي كامل كرد
به اميد ديدار
marvel_vcpp نوشته است:saeedsmk سلام.
از اینکه source را برام فرستادی ازت ممنونم. خیلی کارت جالب بود.
فقط من یه سوال دارم اگر روشی برای anti attach پیدا کنم به نظرت باز هم راهی برای پیدا کردن آدرس jump هست؟
راستی خود شما راهی برای anti attach سراغ داری که olly براش plugin نداده باشه؟
سلام
خوب هستيد
خوب ميشه يك كار هاي كرد. مثل برنامه بياد و والد خودشو يا پرنت خودشو پيدا كنه اگر ويندوز بود و يا خود برنامه مشكلي نيست و اگر چيز ديگري بود انوقت از برنامه خارج بشه
. راه كه براي پيدا كردن جامپ وجود داره اما مسئله سر اينكه چه طوري توي فايل تغيير بديد . ميتونيد به برنامه تون crc هم اضافه كنيد
اميدوارم كمك كنه
به اميد ديدار
آقا این برنامه آخری من کرک نشده .
فکر کنم از قبلی یه کم پیشرفته تره .
دوست عزیز آقای Mri شما که میاید میگید از مساوی استفاده نکنید خو بیاید بگید از چی استفاده کنیم .
فقط نمیشه حرف زد که باید توی عمل ثابت کنیم .(با عرض پوزش)
آخر فرقی نمیکنه مخالف یا مساوی کرکر همشو full
هر چند من در برنامه آخری که گذاشتم و برنامه ای که در حال حاضر دارم روش کار میکنم یه چیز جدید درش بکار بردم .
اگر برای دوستان زحمتی نیست رمز موفقیت برنامه هایی که کرک نشده اند یا به سختی کرک شده اند رو هم بگید.
نقل قول: 3- توي سومي كركمي اين اشكلات وجود و تنها با اناليز ميشد تابع چك كننده رو بدست اورد
اگه ممکنه یخورده در این مورد توضیح بدید
این مرحله چه قدر زمان می گیره (مثلا تو این فایل آخری چقدر زمان برد؟)
برای جلوگیری باید چه کرد
بازم با تشکر