View Full Version : Self Destroyer
nabeel
شنبه 14 آذر 1388, 18:51 عصر
سلام
چند وقتی هست روشی , که شاید برای من تازگی داره و برای شما دوستان فاقد این مساله هستش , ذهنم رو مشغول کرده که نتیجه اون رو در مثال پیوست ملاحظه میکنید .
در ادامه اولین نمونه فایل خودم رو قرار میدم که امیدوارم دوستان موفق به حل مسئله مطرح شده بشن
در این فایل سعی کردم از روشی استفاده کنم که برنامه در صورت اعمال تغییر در ساختار اون از انجام فعالیتی خاص سرباز بزنه , در واقع بیشترین تکیه اصلی بر مخفی سازی ثوابت داخلی برنامه و تخریب اونها بنا شده .
این برنامه در محیط VB6 پیاده سازی شده و تنها از PE Compact جهت فشرده سازی نسبی استفاده شده ( بدون فعال سازی بسیاری از گزینه های اون )
برنامه در هنگام باز شدن اقدام به نمایش یک پیغام میکنه , هدف در نظر گرفته شده حذف کردن خود پیغام نیست بلکه شما باید از حذف شدن پیغام جلوگیری به عمل بیارید
تغییری که شما باید در برنامه ایجاد کنید , دستکاری عنوان لیبل موجود در داخل فرم اصلی هستش ( به عنوان دلخواه خودتون )
در صورت موفقیت آمیز بودن هر دو مرحله , فایل کرک شده
ممنون از توجهتون , توضیحات تکمیلی و روش مورد استفاده پس از کرک فایل ارائه خواهد شد
لطفاً درجه سختی اون رو فراموش نکنید که اعلام کنید در صورت مفید بودن تا چه حد این روش رو در تلفیق با یک پروتکتور حرفه ای , کارآمد تشخیص میدید .
40743
موفق باشید
Securebit
چهارشنبه 18 آذر 1388, 16:58 عصر
نابل جان کمی سرم شلوغ بود نتونستم بیشتر از 5 دقیقه روی کرک می شما کار کنم حروف مسیج باکس معلوم نبود به چه زبانی هست پیدا کردن رشته کمی سخت بود و روی این قسمت کاری نکردم.
تکنیکی که به کار بردید به تنهایی نمیتونه کار کرک رو سخت کنه ولی روی هم رفته تکنیک خوبیه و اگر با تکنیک های دیگه ترکیب بشه کار سختتر میشه.
درجه امنیت : 10/3
nabeel
چهارشنبه 18 آذر 1388, 17:47 عصر
سلام Strong Bytes عزیز ( اگه اشتباه نکنم اسمتون بردیا بود )
از زحمتی که کشیدید ممنونم و قدر دان زحمات شما و دوستان دیگه خودم Nima NT و Sh4DoVV هم هستم .
ولیکن در خصوص نمونه ارسال شده نکات زیر رو عرض میکنم :
متاسفانه فایل در حال حاضر طبق چارچوب مورد نظر کرک نشده !
هدف در نظر گرفته شده حذف کردن خود پیغام نیست بلکه شما باید از حذف شدن پیغام جلوگیری به عمل بیارید
احتمالاً من توضیحم نارسا بوده , حذف نشدن پیغام منظورم حذف نشدن خود محتوای پیغام بوده . ( یعنی اتفاقی که متاسفانه در اینجا افتاده )
ولیکن دلیل مهم بودن این محتوا در یک فایل :
درسته شما عنوان لیبل رو تغییر دادید , من این بخش رو درخواست کردم تنها من باب اینکه شما تغییری در فایل ایجاد کنید ( کرک ) و در اون حالت فعالیت اصلی شروع میشه ( حذف ثوابت )
فرض میکنیم به جای پیغام یک Connection String باشه ( متن اتصال یک فایل اجرایی به یک بانک اطلاعاتی )
شما در صورتی که فایل رو کرک کنید , این بخش هم پاک میشه و در واقع کرک بی تاثیر , چرا که دیگه فایل بی ارزش شده , بسیاری ثوابت در داخل برنامه ها هستن که نمیشه بدون اونها به نتیجه دلخواه نهایی رسید
و در نهایت اینکه پس از اتمام و حصول نتیجه , مطمئن باشید بنده چهار چوب کلی روش رو ارائه خواهم کرد
یک درخواست : لطف کنید در هنگام امتیاز دهی , ترکیب این روش با پروتکتور Themida رو هم امتیاز دهی بفرمایید
با تشکر از توجه شما و زمانی که صرف کردید , که مطمئناً دقایقش هم برای شما دوست عزیز ارزشمنده
نبیل پیروزمهر
Sh4DoVV
چهارشنبه 18 آذر 1388, 22:14 عصر
با سلام
ساده ترین راه واسه این جور موارد استفاده از لودر هستش
این لودر رو تست کنید
بعد از تست سورس لودر واسه برنامه نویس قفل و دوستان عزیز ارسال میشه :لبخند:
یا علی :لبخندساده:
nabeel
چهارشنبه 18 آذر 1388, 23:11 عصر
سلام Sh4DoVV
لطف کردید دوست من
علی یارت استاد , با Loader شما موفق شدید . ( امتیاز ما رو هم فراموش نکنید رفیق )
راستش رو بخواید در آخرین پیغام خصوصی می خواستم درخواست کنم که از Loader استفاده نکنید که سرعت عمل شما این مجال و پناه خواهی دوباره رو هم به من نداد
در حال حاضر به تصور خودم یکی از نقاط ضعف این فایل همون استفاده از Loader هستش , که دوستمون Sh4DoVV عزیز , به جا و به درستی از همون نقطه وارد شدن .
البته دوستان , همچنان در انتظار کرک شدن خود فایل بدون Loader هستم
( البته توی بحث نمیشه برای حریف تعیین کرد که چه جوری آدم رو بگیره زیر مشت و لگد !!! ):چشمک:
در حقیقت برام خیلی مهمه که بدونم روشهای دیگه آیا در مقابل این روش با دردسر مواجه میشن و یا نه ؟ ( واقعیت اینه , بنده رو با مشکل مواجه کرده , دیگر دوستان رو میخوام بدونم که آیا اونها رو هم به دردسر انداخته و یا نه )
در ادامه مسیر سه گزینه داریم :
1 - کلیات روش مورد استفاده رو بگم ( که در اونصورت ممکنه در وضعیت فعلی موجب سهل تر شدن کرک فایل بشه )
2 - منتظر کرک شدن خود فایل بمونیم ( به غیر از Loader )
3 - نسخه دوم رو با کمک این روش و پروتکتوری عمومی ادامه بدیم تا ببینیم در استفاده تلفیقی نحوه تعامل با اون به چه شکله
و در نهایت روش ارائه بشه
هر کدوم از این سه گزینه رو دوستان صلاح بدونن , همون رو انجام خواهم داد
با تشکر از همه دوستان و با تشکر دوباره از Sh4DoVV عزیز
سئوال : در مجموع روش مورد استفاده رو در خصوص تخریب ثوابت داخلی ( به دور از تعامل فعلی این روش با یک Loader ) چطور ارزیابی میکنید .
در پایان , فردا شب کلیات روش بدون توجه به نتایج حاصله بعدی تا اون زمان , ارائه خواهد شد ( البته اگه دوستان گزینه 3 رو انتخاب کنن , زمان به تعویق میفته )
موفق باشید
توضیح : این الگوریتم بخشی از سیستم دفاعی , قفل نرم افزاری جدیدی هست که در حال طراحی اون هستم
Sh4DoVV
پنج شنبه 19 آذر 1388, 13:05 عصر
با سلام
طبق قولی که دادم ، اینم سورس لودر که با زبان VB نوشته شده
با استفاده از Class Module که در این برنامه بکار گرفته شده کارهای زیادی میشه انجام داد
یا علی :لبخندساده:
nabeel
پنج شنبه 19 آذر 1388, 15:58 عصر
ضمن سلام
با سپاس از تمامی دوستانی که تا این مرحله از تست به من کمک کردن که امیدوارم در ادامه هم همچنان بنده رو همراهی کنن و با تشکری مضاعف از Sh4DoVV و Strong Bytes گرامی , که در این تاپیک , بیشترین یاری رو به من رسوندن
دربخش زیر تصویری کلی از نحوه تعامل این روش با یک فایل اجرایی , ارائه شده :
http://i.imagehost.org/0311/Chart.png (http://i.imagehost.org/view/0311/Chart)
اجازه بدید جهت راحتی بیشتر , Self Destroyer رو SD بنامیم
نکاتی در خصوص روش تکمیلی SD و روشهای موجود فعلی وجود داره , که به بخشی از اونها به صورت تیتر وار اشاره میکنم :
در پروتکتورهای موجود درباراز , عملاً Protector به صورت Envelope عمل میکنه و درواقع در وحله اول Loader قفل اجرا میشه , و پس از بررسی شرایط , ادامه عملیات رو به فایل اجرایی منتقل میکنه
ایرادهایی که این روش داره , بر همه دوستان واضحه ولیکن در SD
طبق تصویر ملاحظه میکنید که در واقع SD به عنوان یک لایه جانبی عمل خواهد کرد به گونه ای که دارای یک تعامل یک سویه با Protector و یک تعامل دو سویه با فایل اصلی هستش ( در تصویر Protected Zone نمایانگر همون SD هستش )
در حالت کرک نشده روال اجرا به گونه زیره :
Protector> Exe File <> SD
در حالتی که فایل کرک میشه ( به جز استفاده از Loader ) روال به
Protector>SD<>ExeFile
تغییر پیدا میکنه
در واقع , SD وقتی وارد عمل میشه , که شما فایل رو کرک کرده باشید . در این حالت SD اقدام به تخریب ثوابت داخلی خودش میکنه ( ثوابتی که جهت حفاظت به اون سپرده شدن )
مقابله با Loader ها در حال حاضر روشی بوده که فعلاً به خود Protector سپرده شده , که البته یاری دوستان در خصوص اون هم میتونه به بنده خیلی کمک کنه
در واقع SD در حال حاضر تنها به عنوان یک روش حفاظت از رشته ها محسوب میشه و بس
باز هم تاکید میکنم , اگر دوستان به روشی غیر از استفاده از Loader دست پیدا کردن , لطفاً ارائه کنن , چرا که ناکارآمد کردن چند روش بهتر از ناکارآمد نبودن تمام روشهاست
در ادامه جهت تست نهایی , تلفیق این فایل رو با VMProtect ارائه کردم , تا به میزان ناکارآمد شدن اون در مقابل Loader هم پی ببریم
در نهایت دوستان , لطفاً امتیاز دهی رو فراموش نکنید , چرا که امتیاز در اینجا ظاهراً تا این لحظه تنها معیار میزان کارآمدی هستش
تا این لحظه StrongByte عزیز به روش ارائه شده امتیاز دادن , امتیاز 3 در مقابل امتیازهای داده شده به دیگر روشهای ارائه شده از سوی بقیه دوستان , یه مقدار کم نیست ؟ ( تصور امتیازی خیلی بیشتر رو داشتم که متاسفانه سردی یه لیوان آب یخ رو پشت خودم احساس کردم , البته نارسایی سئوال بنده هم در وحله اول مطمئناً مزید بر علت شده بود ) :افسرده:
با تشکر از همکاری که با بنده دارید
Securebit
پنج شنبه 19 آذر 1388, 19:23 عصر
امروز یکم وقت آزاد گیر آوردم و روی این کرک می کار کردم.
nabeel
پنج شنبه 19 آذر 1388, 20:42 عصر
سلام
StrongBytes عزیز , شما موفق شدید که عملیات کرک رو به انجام برسونید !
ولیکن شما فایل dll رو Patch کردید و نه خود فایل رو !
مثال بنده و درخواستی که داشتم به گونه ای بود که راه رو برای تغییر ندادن فایل باز گذاشته ولی آیا , همیشه بدون تغییر دادن ماهیت خود فایل میشه یک فایل رو کرک کرد ( یعنی با روشهای ارائه شده فعلی ) شما فرض کنید مثال بنده به گونه ای هستش که شما ناگزیر به تغییر خود فایل هستید , فایل رو پیچیده نکردم که تمرکز فقط بر روی خود SD باشه نه اینکه شما به دنبال الگوریتم یک شماره سریال باشید و یا ... تا زمان شما دوستان عزیز هم بیهوده صرف نشه وگرنه پیچیده کردن فایل زمان زیادی رو برای بنده نمیگرفت ولی اون طوری لذت یک بررسی خاص در مورد موضوعی مشخص تبدیل میشد , به کرک کردن حاشیه های یک فایل
من , خواستم و میخوام که فایل Self Destroyer رو تغییر بدید ولیکن ...
مثال اگه با VB نبود چی ؟
SD یک روش عمومی رو ارائه میده و تقریباً مسقل از زبان برنامه نویسی خاصی هستش .
ولی در مجموع بنده دیگه این فایل رو کرک شده فرض میکنم چرا که اصرارهای آتی بنده ممکنه تعبیر به , از این شاخه به اون شاخه پریدن بشه , گو اینکه بنده از همون اولش هم به عنوان یک هدف ثابت در خدمت دوستان بودم
همگی موفق باشید و با تشکر دوباره از زمانهایی که به بررسی این فایل اختصاص دادید .
خدا نگهدار شما دوستان
Securebit
جمعه 20 آذر 1388, 00:01 صبح
ولیکن شما فایل dll رو Patch کردید و نه خود فایل رو !
فایل dll را پتچ نکردم فایل dll به صورت پتچر عمل میکند.
اگر فایل شما پتچ نشده پس چطور عنوان لیبل تغییر کرده و آن پیغام خطایی که بعد از تغییر لیبل میدهد دور زده شده!
من , خواستم و میخوام که فایل Self Destroyer رو تغییر بدید ولیکن ...
روش کرک رو کراکر انتخاب میکنه! میشود فایل رو آنپک کرد و رشته ای که در EOF نوشتید را در فایل آنپک شده جایگزین کرد چون کمی وقت گیر هست من بهترین راه و ساده ترین آن را انتخاب کردم و برای کرک می بیشتر از 15 دقیقه نمیشه وقت گذاشت.
مثال اگه با VB نبود چی ؟
با هر زبان دیگری هم که باشد از همین روش برای پتچ کردن میشود استفاده کرد.
Securebit
جمعه 20 آذر 1388, 13:45 عصر
نبیل جان سعی کنید به جای استفاده از پروتکتورهای تجاری تمرکزتون روی برنامه نویسی باشد استفاده از پروتکتورهای تجاری فقط دتکت شدن توسط آنتی ویروس ها را به همراه دارد.
Securebit
یک شنبه 22 آذر 1388, 19:55 عصر
این هم آخرین و کاملترین کرک برای SD !
nabeel
سه شنبه 24 آذر 1388, 13:39 عصر
سلام StrongBytes
لطفاً امتياز ميزان بازدارندگي رو اعلام ميفرماييد - ( در خصوص همين فايل ) و اينكه آيا نظري خاص داريد و يا نه .
ممنون
Securebit
سه شنبه 24 آذر 1388, 13:58 عصر
امتیاز را قبلا دادم به طور کل کار نو و جالبی بود اگر با کمی فکر این کرک می را نوشتید مسلما اگر تعمق بیشتری داشته باشید کار کرکر را سختتر خواهید کرد.
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.