امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
nimCrackme (linux)
نویسنده پیام
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #1
nimCrackme (linux)
سلام،

یه کرکمی لینوکسیه دیگه خنده بلد − بهینه شده برای ورژن جدید 

باید پیغام GoodBoy ظاهر بشه همین.


فایل‌(های) پیوست شده
.zip   nimCrackme.zip (اندازه: 2.66 KB / تعداد دفعات دریافت: 57)

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
۰۲-خرداد-۱۳۹۷, ۰۳:۰۶:۲۷
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: nimCrackme (linux)
آقا من قوانینش رو نمیدونم! من دوجا رو فیکس کردم پیام بهم داد!
کد php:
0x00000640 e85bfeffff => 9090909090 0x00000640
0x00000663 75 
=> 74 0x00000663 
 با تشکر از لرد گرامی  قلب عشق - بهینه شده برای ورژن جدید اون روش اولی که تابع exit رو NOP کردم از استاد لرد گرامی یاد گرفته بودم زبون دراز − بهینه شده برای ویرژن جدید

کد php:
Hello
You must debug me to solve

GoodBoy 


حالا نمیدونم منظروتون از اینکه از طریق دیباگر باید حل بشه چیه؛
چون تابع  ptrace شما وقتی برنام اجرا نشه نمیتونه دیباگر رو تشخصی بده


فایل‌(های) پیوست شده
.zip   debug_fixed_babyy.zip (اندازه: 2.77 KB / تعداد دفعات دریافت: 76)
۰۲-خرداد-۱۳۹۷, ۱۷:۵۱:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #3
RE: nimCrackme (linux)
نقل قول: آقا من قوانینش رو نمیدونم! من دوجا رو فیکس کردم پیام بهم داد!

قانونی وجود نداشت خنده بلد − بهینه شده برای ورژن جدید 


نقل قول:  با تشکر از لرد گرامی  [تصویر:  009.gif] اون روش اولی که تابع exit رو NOP کردم از استاد لرد گرامی یاد گرفته بودم [تصویر:  tongue.gif]

یه ویدیو آموزشی از طریق پچ کردن exit() میتونی قرار بدی ؟
که تاپیک آموزشی هم باشه ؟ قلب عشق - بهینه شده برای ورژن جدید

نقل قول: حالا نمیدونم منظروتون از اینکه از طریق دیباگر باید حل بشه چیه؛

سورس کد و قرار میدم.
اما داخل این کرک می با استفاده از ptrace دیباگ تشخیص داد میشه.
چون فقط یک بار تابع ptrace داخل هر پروسسی اجرا میشه و برای دیباگ کردن برنامه باید از این تابع استفاده بشه.
در نتیجه وقتی من داخل برنامه ام تابع ptrace و دارم میتونم تشخیص بدم که برنامه در حال اشکال زدایی هست یا خیر.
یک متغیر سراسری داریم به اسم ch که داخل gdb هم با دستور info variables قابل مشاهده است، مقدار پیشفرض این متغیر صفر هست و داخل تابع ptrace مقدار دهی میشه و در انتهای برنامه چک میشه که اگر متغیر ch برابر با مقداری که در تابع ptrace بهش اختصاص دادیم بود رشته ی GoodBoy نمایش داده میشه.
اینم باید اضافه کنم که قبل از مقدار دهی کردن متغیر ch تابع exit اجرا میشه پس وقتی شما میخوای برنامه دیباگ کنی تابع exit اجرا میشه و دیگه متغیر ch مقدار دهی نمیشه و در نتیجه رشته ی BadBoy نمایش داده میشه


نقل قول: چون تابع  ptrace شما وقتی برنام اجرا نشه نمیتونه دیباگر رو تشخصی بده

متوجه نمیشم !
مگه بدون اجرا شدن هم میشه دیباگر تشخیص داد؟
آهان منظورتون استفاده از دیس اسمبلرها هست ؟

-------------------------------------------------
من امیدوارم بودم شما از متدهای بایپس ptrace استفاده کنی ولی راه حل دیگه ای و رفتی.. لبخند - بهینه شده برای ورژن جدید  (FU :))) )
سورس برنامه:

کد:
#include <stdio.h>
#include <sys/ptrace.h>
int ch = 1;
int main()
{
   int offset = 0;

   if (ptrace(PTRACE_TRACEME, 0, 1, 0) == 0)
   {
       offset = 2;
   }

   if (ptrace(PTRACE_TRACEME, 0, 1, 0) == -1)
   {
       offset = offset * 3;
   }

   if (offset == 2 * 3)
   {
       printf("Hello\nYou must debug me to solve\n");
   }
   else
   {
      printf("!! Debugger Detected !!\nGooBye\n");
        exit(0);
        ch = 2;
   }
    password();

   return 0;
}

void password(){
    if(ch == 2){
        printf("\nGoodBoy\n");
    } else {
        printf("\nBadBoy\n");
    }
}
اینم یادم رفت بگم بقیه بچه ها این crackme ها رو در حد خودشون و نمیبینن یا من و آدم حساب نمیکنن یا خوابیدن ؟ :))
آقا یه تکونی بدید خداییش منم مثل شما نصف بیشتر وقتم سرکار میرم اما به فروم و بقیه فعالیت ها هم میرسم.
ایرانویچ هم اکنون به یاری سبزتان نیازمند است Biggrin

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
(آخرین ویرایش در این ارسال: ۰۳-خرداد-۱۳۹۷, ۰۰:۴۳:۰۳، توسط nImaarek.)
۰۳-خرداد-۱۳۹۷, ۰۰:۳۹:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: nimCrackme (linux)
نقل قول: یه ویدیو آموزشی از طریق پچ کردن exit() میتونی قرار بدی ؟
که تاپیک آموزشی هم باشه ؟ [تصویر:  009.gif]
برنامه رو دی اسمببلر باز کردم؛ کدهای اسمبلیش رو دیدم؛
دستوراتی که واسه فبکس کردن استفاده کردم ایناست:
کد php:
xxd -ps  debug  |tr -"\n" | \
sed -'s/e85bfeffff/9090909090/' -"s/02750c/02740c/" | \
xxd --debug_fix_babyy 

یعنی اول هگز کد رو بدست اوردم؛ بعدش اون قسمت از اسمبلی ها اپ کد ها رو که توی مرحله قبل میخواستم پچ بشه پیدا کردم و جایگزینشون کردم!

اولی که معلومه؛ کلا بجاز تابع exit نوپ کد میزاره
دومی هم بجای  jne  ,, je رو میزاره
-----------------------------------
نقل قول: متوجه نمیشم !
مگه بدون اجرا شدن هم میشه دیباگر تشخیص داد؟
آهان منظورتون استفاده از دیس اسمبلرها هست ؟

-------------------------------------------------
من امیدوارم بودم شما از متدهای بایپس ptrace استفاده کنی ولی راه حل دیگه ای و رفتی.. [تصویر:  shy.gif]  (FU :))) )

شما توی بنرامه پیام میدید که باید منو دیباگ کنی تا حل بشه؛ ولی برنامه شما کاربر رو مجاب نمیکنه که برنامه رو حتما در دیباگر اجرا کنه؛

 خنده بلد − بهینه شده برای ورژن جدید چه انتظارات زیادی ازم داریا خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
من روشهای بای پس و .. بلد نیستم!! اگه بلدید سر نخ بدید بریم بخونیم ما هم یا بگیریم

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
نقل قول: اینم یادم رفت بگم بقیه بچه ها این crackme ها رو در حد خودشون و نمیبینن یا من و آدم حساب نمیکنن یا خوابیدن ؟ :))
آقا یه تکونی بدید خداییش منم مثل شما نصف بیشتر وقتم سرکار میرم اما به فروم و بقیه فعالیت ها هم میرسم.
ایرانویچ هم اکنون به یاری سبزتان نیازمند است [تصویر:  biggrin.gif]

کاملا واضح هست گزینه وسطی خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید و سپس گزینه اولی خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید  
حقیقت اینه که اساتید اینجا از سالهای دور درگیر همین چیزا بودند و یاد یادن و اموزش و نشوتند و جواب دادند و کلی هم اطلاعات به من و امثال من و این حرفه اضافه کردند؛  دیگه از یجایی به بعد نمیشه چون اینکار نون و اب نمیشه و شکم و سیر نمیکنه!

 خنده بلد − بهینه شده برای ورژن جدید  کجا سر کار میری؟ بلاخره مشکل انتخاب شغلت حل شد؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید شام چی میدی؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید

−−−−−−−−
 الان استاد DIDI میاد میزنه پودرم میکنه؛ همین مونده بود توی بخش کرک اسپم بدم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
(آخرین ویرایش در این ارسال: ۰۳-خرداد-۱۳۹۷, ۰۱:۵۱:۲۶، توسط babyy.)
۰۳-خرداد-۱۳۹۷, ۰۱:۴۹:۰۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek, Di Di
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #5
RE: nimCrackme (linux)
راستی ایننم یادم رفت؛ کدت چقدر شبیه اینه چشمک - بهینه شده برای ورژن جدید
https://seblau.github.io/posts/linux-anti-debugging

خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
۰۳-خرداد-۱۳۹۷, ۰۲:۲۲:۱۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 144
موضوع‌ها: 61
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #6
RE: nimCrackme (linux)
آره منم همین بلاگ و خوندم.
اگه میخواستم کسی نفهمه از جایی کپی کردم که اصلا سورس و نمیزاشتم یا حداقل عوضش میکردم Tongue
این همون سر نخی که میگفتی 018

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
۰۳-خرداد-۱۳۹۷, ۰۲:۳۱:۳۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  Kill Bill Crackme (linux) nImaarek 11 5,602 ۱۷-خرداد-۱۳۹۷, ۰۴:۱۰:۰۷
آخرین ارسال: babyy

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS