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

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #1
Kill Bill Crackme (linux)
سلام،
یه کرکمی نوشتم که به نظرم خودم غیر قابل کرک شدن هست البته با توجه به قوانین کرکمی

قضیه از این قراره که زمانی که فایل بسته میشه، پسورد نمایش داده میشه. (atexit)

قانون:
برای بستن پروسس والد نباید از کرنل مد استفاده بشه مثلا سیگنال SIGKILL و ... اما برای از بین بردن پروسس فرزند قانونی وجود نداره

من این برنامه داخل اوبنوتو 16 64 بیت بیلد کردم..


فایل‌(های) پیوست شده
.zip   KillBill.zip (اندازه: 3.1 KB / تعداد دفعات دریافت: 41)

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: Kill Bill Crackme (linux)
سلام

این بنده خدا که خودش بعد از ۲ ثانیه زامبی میشه!

معذرت میخواما ولی مطمنی برنامه درست کار میکنه؟!؟! خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
کد php:
Hello Dear
The password is displayed every time I 
die
and 
my process id is 2675 try to kill me
Attention 
---> You are allowed to kill me only through a user-mode (no SIGKILL and other kernel-mode SC)
Press any key to continue . . . 

Password is -2147483648 

بدون کشتن پدر یا مادر این بنده خدا؛ من این خروجی رو گرفتم!!


این خروجی فکر میکنم درست باشه چون جاهای دیگه هم به همین رسیدم:
کد php:
printf("Password is %d", -2147483648


ولی در حالت کلی من هیچ کار خاصی نکردم! که اون خروجی رو داد بهم؛؛


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

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #3
RE: Kill Bill Crackme (linux)
آره خودم زامبی میکنمش.
سیستم عاملت چیه ؟
چرا اینطوری شد ؟

سورسش اینطوریه:


کد:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>

#define M_PI 3.14159

void bye(){
    int TT = (int)time(NULL);
    int r = rand() % 20;
    int result = M_PI * TT * r;
    printf("Password is %d", result);
}

int main()
{
    pid_t res_child_pid, parent_pid, child_pid;
    parent_pid = getpid();
    child_pid = fork();
    if (child_pid > 0)
    {
        sleep(2);
        atexit(bye);
    } else
    {
        res_child_pid = getpid();
        kill(parent_pid, SIGSTOP);
        printf("\e[1;1H\e[2J");
        printf("Hello Dear\nThe password is displayed every time I die\nand my process id is %d try to kill me\n", res_child_pid);
        printf("Attention ---> You are allowed to kill me only through a user-mode (no SIGKILL and other kernel-mode SC)\n");
        printf("Press any key to continue . . . \n\n");
        exit(0);
    }
    return 0;
}

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
۲۹-اردیبهشت-۱۳۹۷, ۱۶:۰۰:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, 1نفر
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: Kill Bill Crackme (linux)
دبیان 9.3
---
من برنامه رو اجرا کردم؛ این پیام رو داد:
کد:
Hello Dear
The password is displayed every time I die
and my process id is 3242 try to kill me
Attention ---> You are allowed to kill me only through a user-mode (no SIGKILL and other kernel-mode SC)
Press any key to continue . . .

وبعدش رفت توی حالت stop ؛  یعنی همونجایی که خودت سیگنال رو فرستادی بهش گفتی stop بشه

کد php:
[1]+  Stopped                 ./KillBil 

این درواقع همون ctrl +z هست که برنامه ها رو میفرسته به بگ گراند!

من هم اول این قضیه رو چک کردم؛ یعنی jobs رو اجرا کردم توی همون شل؛

کد php:
ali@d:~/Desktopjobs -l
[1]+  3241 Stopped (signal)        ./KillBill 

و بعدش با دستور fg اونو اوردم در فورگراند!

بعد از اینکار انگار سیستم فهمید پروسه زامبی تولید شده؛ اون بع فرزندخوندگی init1 در اورد و اونم زدش پوکوندش خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
 برنامه به روال اجرای خودش برگشت؛ (ویرایش شد .. لینک )
و. تابع atexit اجر شد
کد php:
Password is -2147483648 

----

دلیل اون عدد منفی ثابت هم اینه که تابع bye بد نوشته شده:

کد php:
ali@d:/tmp$ ./1
TT 1526731502
r 3
Password is 
-2147483648
ali
@d:/tmp$ ./1
TT 1526731504
r 3
Password is 
-2147483648
ali
@d:/tmp$ ./1
TT 1526731543
r 3
Password is 
-2147483648
ali
@d:/tmp$ ./1
TT 1526731544
r 3
Password is 
-2147483648 

عددی که واسه reault بدست میاد خیلی بزرگتر مقداری هست که توی int  میتونه جا بگیره ؛ باید مثل شکل زیر بشه تا نتیجه دلخواه بدست بیاد
کد php:
long result M_PI TT r

و دلیل اینکه اون rand هم هی همون عدد رو برمیگردونه اینه که مقدار اولیه اش رو تعیین نمیکنی یعنی srand
https://www.geeksforgeeks.org/rand-and-srand-in-ccpp/



خنده بلد − بهینه شده برای ورژن جدید  خنده بلد − بهینه شده برای ورژن جدید  من جو گرفتن احساس دانایی کردم؛‌ هرجا سوتی دادم که قعطعا دادم بفرمایید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
(آخرین ویرایش در این ارسال: ۳۱-اردیبهشت-۱۳۹۷, ۰۰:۴۹:۰۱، توسط babyy.)
۲۹-اردیبهشت-۱۳۹۷, ۱۶:۴۲:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : salehjg, 1نفر, nImaarek, lord_viper
nImaarek آفلاین
badtrip
****

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #5
RE: Kill Bill Crackme (linux)
تو پست اولت نقل و قول کردی که پسورد بلافاصه نمایش داده میشه (ترسیدم) بعد تو پست دوم این همه توضیح دادی !! :))))))) حالت خوبه ؟! خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
شوخی کردما، دمت گرم که توجه کردی.
یه کرکمی دیگه دارم مینویسم، به اونم توجه کن لطفا. مرسی عشقم <3


نقل قول: این درواقع همون ctrl +z هست که برنامه ها رو میفرسته به بگ گراند!


یعنی چی؟ ctrl + z منظور چیه ؟

نقل قول: بعد از اینکار انگار سیستم فهمید پروسه زامبی تولید شده؛ اون بع فرزندخوندگی init1 در اورد و اونم زدش پوکوندش [تصویر:  biggrin.gif] [تصویر:  biggrin.gif]

و. تابع atexit اجر شد


فرایند والد که زامبی نیست و atexit هم داخل فرآیند والد اجرا میشه. یا اینکه اگه والد قبل از فراخوانی wait فرزندش کیل بشه زامبی میشه ؟ درست گفتم؟


نقل قول: دلیل اون عدد منفی ثابت هم اینه که تابع bye بد نوشته شده:
نقل قول: عددی که واسه reault بدست میاد خیلی بزرگتر مقداری هست که توی int  میتونه جا بگیره ؛ باید مثل شکل زیر بشه تا نتیجه دلخواه بدست بیاد
نقل قول: و دلیل اینکه اون rand هم هی همون عدد رو برمیگردونه اینه که مقدار اولیه اش رو تعیین نمیکنی یعنی srand

ممنون از توضیحات کاملا درسته، اشتباه کردم Biggrin (عاقبل کپی پیست. البته فقط تابع bye منظورم هست) خنده بلد − بهینه شده برای ورژن جدید

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 آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: Kill Bill Crackme (linux)
نقل قول: تو پست اولت نقل و قول کردی که پسورد بلافاصه نمایش داده میشه (ترسیدم) بعد تو پست دوم این همه توضیح دادی !! :))))))) حالت خوبه ؟! [تصویر:  biggrin.gif] [تصویر:  biggrin.gif]


آخه کل کاری که کردم این بود خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید   نوکرم! تو خوبی؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
کد php:
./KillBill t.txt
fg 


نقل قول: یعنی چی؟ ctrl + z منظور چیه ؟
هر برنامه ای که اجرا میشه میتونید بهش سیگنالهای خاصی رو بفرستید که کارهای متفاوتی انجام میدن!
یا میتونید دستی این رو به برنامه بفرستید؛ مثلا ctrl +c ؛  SIGINT میفرسته به برنامه ...
یا اینکه توسط برنامه های دیگه یه سیگنال بهشون ارسال کنید!
مثلا کاری که kill توی لیتوکس میکنه اینه که شماره pid رو میگیره و سیگنالی که بهش فرمان دادی رو به برنامه میفرسته!

کد php:
#include <stdio.h>
#include <unistd.h>
int main(){
while(
1){
sleep(5);
printf("1\n");
}
return 
0;


این برنامه رو کامپایل کن و اجرا کن؛
اول ctrl +c بزن ؛ میبینی که برنامه کارش به اتمام میرسه
دوباره اجراش کن و حالا اینبار ctrl + z بزن!  

------
معادل دستورات بالا اینظوری میشه
کد php:
kill -2 PID
kill 
-19 PID 

دستور اول به برامه سیگنال خاتمه میده! (که هرچند برنام میتوه سیگنال رو هندل کنه و بسته نشه و ..)
دستور دوم سیگنال stop میده

-------------------
-------------------

نقل قول: فرایند والد که زامبی نیست و atexit هم داخل فرآیند والد اجرا میشه. یا اینکه اگه والد قبل از فراخوانی wait فرزندش کیل بشه زامبی میشه ؟ درست گفتم؟

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

دو نکته باید بگم؛
نکته اول اینکه من به اشتباه فکر میکردم atexit توی فرزند داره اجرا میشه!!
پس این جمله ام غلطه:
نقل قول: بعد از اینکار انگار سیستم فهمید پروسه زامبی تولید شده؛ اون بع فرزندخوندگی init1 در اورد و اونم زدش پوکوندش
جمله صحیح این میشه:
بعد از اینکه fg رو اجرا کردم (با توجه به توصیحات بالا) برنامه به روال اجرای خودش برگشت؛ شبیه این میشه کد کد شما اینطوری تغییر پیدا کنه:
کد php:
       res_child_pid getpid();
//        kill(parent_pid, SIGSTOP);
       printf("\e[1;1H\e[2J");
    


نکته دوم اینه پروسه زامبی پروسه ی فرزندی هست که اجراش تموم شده! یعنی کار واسه انجام دادن نداره؛ ولی والدش در حال اجراست و سیگنالی که از فرزند اومده رو هندل نکرده؛
اگه والد kill بشه کل بچه هاش هم کیل میشن دیگه؛
کد php:
$|++;
$p=fork();
if(
$p>0){
print 
"i'am parent\n";
sleep(30);
}else{
sleep(2);
exit(
0);

اینو با perl اجرا کن؛ و بعدش لیست پروسه هات رو ببین؛  
فرزند کارش بعدش ۲ ثاینه تموم میشه؛
ولی چون والدش داره به یه کار دیگه میرسه و توجه نمیکنه که فرزندش کارش تموم شده؛ فرزند میشه زامبی!
ولی بعد از ۳۰ ثانیه که والد هم کارش تموم شد؛ هم خودش و هم فرزنداش کارشون تموم میشه


----------
خنده بلد − بهینه شده برای ورژن جدید روی حرفای منم حساب باز نکن به هیچ وجه خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید  من واسه خودم یه چیزی میگم واسه خودم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
(آخرین ویرایش در این ارسال: ۳۱-اردیبهشت-۱۳۹۷, ۰۰:۴۵:۲۹، توسط babyy.)
۳۱-اردیبهشت-۱۳۹۷, ۰۰:۴۲:۵۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek, lord_viper, 1نفر, salehjg, Di Di
nImaarek آفلاین
badtrip
****

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #7
RE: Kill Bill Crackme (linux)
مرسی

دوتا سوال میشه اسم پروسس فرزند و تغییر داد؟ داخل ps و اینکه میشه سیگنال SIGKILL و هندل کرد؟ با sigaction و اینا؟

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 ارسال )
ارسال: #8
RE: Kill Bill Crackme (linux)
(۳۱-اردیبهشت-۱۳۹۷, ۰۰:۵۹:۰۲)nImaarek نوشته است: :مرسی

دوتا سوال میشه اسم پروسس فرزند و تغییر داد؟ داخل ps و اینکه میشه سیگنال SIGKILL و هندل کرد؟ با sigaction و اینا؟

نه؛ fork دقیقا همون پروسه رو اجرا میکنه؛ یعنی فرزند و والد همشون با یه اسم اجرا میشه..
تاجایی که من اطلاع دارم نه نمیشه!! یعنی اگه بشه جای تعجب داره؛ اونوقت هیچ تمام برنامه ها هندلش میکنن و ..

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

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #9
RE: Kill Bill Crackme (linux)
نقل قول: ولی من همش منتظرم شما یه چیزی رو بری بگردی پیدا کنی و بهم بگی [تصویر:  biggrin.gif]  [تصویر:  biggrin.gif] و از کارم ایراد بگیری [تصویر:  biggrin.gif] [تصویر:  biggrin.gif]


میشه اسم پروسس فرزند عوض کرد اینم سند
یه خرده صبر میکنم ببینم میتونی متوجه بشی چیکار کردم سوت − بهینه شده بری ورژن جدید  بعدش سورس و میزارم.
اینیکی و از جایی کپی نکردم. لول.


فایل‌(های) پیوست شده بندانگشتی (ها)
   

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. دلیل ویرایش: ببخشید که زیاده روی کردم برادرم )
۱۶-خرداد-۱۳۹۷, ۰۹:۰۸:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر
babyy آفلاین
بازنشسته
*****

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

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #10
RE: Kill Bill Crackme (linux)
فایل بفرست
۱۶-خرداد-۱۳۹۷, ۲۲:۰۲:۵۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
nImaarek آفلاین
badtrip
****

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

تشکرها : 310
( 317 تشکر در 108 ارسال )
ارسال: #11
RE: Kill Bill Crackme (linux)
احساس میکنم یکم زیادی شوخی کردم. واقعا معذرت میخوام. بخدا منظوری نداشتما شما استاد مایی. من کلا بخاطر شما میام اینراویچ قلب عشق - بهینه شده برای ورژن جدید 
در هر صورت خیلی مخلصیم Baby


فایل‌(های) پیوست شده
.zip   ChngProcName.zip (اندازه: 2.65 KB / تعداد دفعات دریافت: 38)

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, 1نفر


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  CrackMe عجيب! Di Di 9 2,336 ۰۶-دى-۱۳۹۷, ۰۲:۳۱:۳۶
آخرین ارسال: nImaarek
  [آموزشی] nimCrackme (linux) nImaarek 5 1,555 ۰۳-خرداد-۱۳۹۷, ۰۲:۳۱:۳۹
آخرین ارسال: nImaarek
Cool [آموزشی] آرشیو CrackMe Solutions nImaarek 1 2,015 ۰۹-مرداد-۱۳۹۶, ۱۳:۴۴:۴۰
آخرین ارسال: nImaarek
  CrackMe: ARASH V.10 erekhshe 0 1,724 ۰۵-خرداد-۱۳۹۲, ۱۴:۰۰:۴۵
آخرین ارسال: erekhshe
  .NET CrackMe PouriaAmid 2 3,350 ۲۸-آذر-۱۳۹۰, ۱۲:۱۷:۵۲
آخرین ارسال: babyy
  CrackMe مبتدی HoseinVig 7 6,472 ۲۴-اردیبهشت-۱۳۸۹, ۱۰:۴۷:۵۷
آخرین ارسال: Di Di
Cool Sh4DoVV CrackMe Sh4DoVV 7 6,494 ۰۲-اسفند-۱۳۸۸, ۰۰:۰۸:۰۳
آخرین ارسال: Sh4DoVV
  CrackMe لطفا! Di Di 11 8,431 ۲۹-آبان-۱۳۸۷, ۰۹:۳۲:۳۸
آخرین ارسال: grshn
  CrackMe veyskarami 1 2,180 ۱۹-آبان-۱۳۸۷, ۱۵:۴۹:۴۰
آخرین ارسال: Strong Byte
  درخواست کمک برای کرک یک crackme yonas021 2 2,835 ۰۲-شهریور-۱۳۸۷, ۲۱:۳۱:۰۳
آخرین ارسال: yonas021

پرش به انجمن:


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

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