الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

HackMe v0.1

مغلق
بدأه Qnix في 30 سبتمبر 2005 · 16 رد · 2,554 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اثناء جلوسي على الكمبيوتر وبرمجتي لبعض الاكواد اتتني فكره قمت بكتابه الكود للبرنامج

فلنرى ان كنتم تستطيعون اخراج الكود الذي يطلبه البرنامج ... :

- البرنامج سيعمل فقط على Linux ( يمكنك استعمال cygwin ) .

- كتب البرنامج ب C .

- توجد في البرنامج بعض الخدع اكتشفها بنفسك .

- ملف ال binaryحذفت منه جميع ال symbols .

ملف الباينري :

http://www.0x11.org/challenges/hackme

ملف الكود :

http://www.0x11.org/challenges/hackme.c.txt

حاول عدم النظر الى الكود المصدري ... لو تبغا شوف مافي مشاكل

بخصوص الاخوان مستعملين الويندوز بأمكانهم تنزيل cygwin.com والعمل عليه

لكي تستطيع تشغيل البرنامج تحتاج الى

/bin/bash
linux-gate.so.1
/lib/libc.so.6
/lib/ld-linux.so.2

تحياتي ووفقكم الله ..

( طريقه اخراج الكود سهله جدا جدا )

تم تعديل هذه المشاركة بواسطة Qnix في 15 أكتوبر 2005 في 18:16

#2

طيب ليه ماتضيف شيء مفيد مثلا :

وش المطلوب عشان افك واحلل البرنامج واستخرج الكود المطلوب ؟!! هل مطلوب مني اصير خبير C و Assembly ولا اسمبلي فقط !!

وهل فيه ادوات راح تساعدني ؟!

يعني نحتاج Hints

#3
Qnix كتب:

بخصوص الاخوان مستعملين الويندوز بأمكانهم تنزيل cygwin.com والعمل عليه

لكي تستطيع تشغيل البرنامج تحتاج الى

/bin/bash
linux-gate.so.1
/lib/libc.so.6
/lib/ld-linux.so.2

يعني لازمني هي الملفات بالاضافة الى cygwin? انا رح حاول شوف شو اللي بحصل عليه :) (ووينك انت مش مبين ;) )

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

Sub-0 : ممكن قليل من C وماتحتاج ASM ( في اغلب الاحيان )

والادوات المسعمله هي الاعتياده وترجع عليك .

Xacker :

الملفات هاذي بتجي مع ال cygwin

تم تعديل هذه المشاركة بواسطة Qnix في 1 أكتوبر 2005 في 18:09

#5

ما عرفت كيف بدي شغلة على cygwin .. كيف؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

أخي العزيز :: Qnix ::

حاولت تحميل الملفات لكن الروابط لا تعمل .

سبحان الله وبحمده ... سبحان الله العظيم

#8

ابقي موقع www.0x11.org في جعبتك اخي احمد وانتظر تحديثه.. على ما يبدو في ملف crackme على الطريق وبانتظار Qnix لتصحيح الرابط (لاني لست على جهازي الان لا استطيع رفع الملفات المطلوبة.. تحياتي)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#9

السموحه يا شباب اضطريت اكتب الكود مره ثانيه

sourcecode

http://www.0x11.org/challenges/hackme.c.txt

binary

http://www.0x11.org/challenges/hackme

تم تعديل هذه المشاركة بواسطة Qnix في 15 أكتوبر 2005 في 18:15

#10

نت حتجنني يا Q

اقتباس
ما عرفت كيف بدي شغلة على cygwin .. كيف؟

:s

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#11

انت ركب cygwin ونزل الكود في ملف

C:/cygwin/home/xacker

وشغل cygwin بعدها اعمل compile

gcc -o hackme hackme.c

وابدء بمحاوله كسر البرنامج, انصحك استعمل ليونكس بسهل الشغل كثير

#12

مش لاقدر نزله اول شي.. من يومين وصلت لـ 1.2GB واضطريت اني سافر بشكل مستعجل :s بس باخر الاسبوع بكون عندي الـ opensuse.. معلش هو للمبتدئين امثالي :lol:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#13

راح اضع الحل هنا ...

كما ترون البرنامج يحتاج /bin/bash للعم وايضا البرنامج هو اساسا Shell script لكن في كود C

عند تشغيل البرنامج يقوم بلعمل في الميموري كعده برامج فهو يقوم بفك الكود ASCII

	"\114\374\301\062\232\033\003\237\311\013\314\226\300\217\045\365"
	"\373\341\205\155\021\135\222\205\312\351\077\045\204\116\112\016"
	"\160\042\305\170\376\310\335\163\217\302\313\137\134\215\332\220"
	"\302\216\344\006\116\146\251\147\057\216\140\110\041\115\024\101"
	"\331\141\012\120\237\165\250\156\373\117\061\265\051\050\151\216"
	"\200\121\053\037\231\215\023\331\376\311\241\365\163\322\306\033"
	"\052\343\012\215\021\012\333\254\173\144\006\154\352\011\221\367"
	"\007\272\030\347\147\373\324\163\343\136\024\074\365\355\174\145"
	"\225\165\151\141\210\033\222\134\106\077\052\343\234\274\226\173"
	"\063\251\321\347\115\170\263\311\002\000\131\143\331\353\320\051"
	"\341\202\250\370\010\057\347\150\110\101\257\165\040\011\254\032"
	"\351\075\107\212\112\303\020\120\300\327\030\370\256\362\032\055"
	"\045\224\050\164\205\054\064\173\365\163\235\101\127\014\307\304"
	"\271\044\301\136\303\354\366\350\103\356\317\074\065\272\031\162"
	"\006\202\153\321\376\223\170\113\031\265\211\363\330\222\054\207"
	"\230\173\046\015\255\010\201\051\116\354\256\370\346\147\271\112"
	"\150\010\051\274\161\340\155\354\207\151\216\374\156\064\134\375"
	"\102\323\324\154\363\277\017\246\001\223\002\204\024\150\271\257"
	"\256\076\331\334\066\236\336\327\322\326\025\341\164\225\061\174"
	"\147\232\141\206\371\206\074\264\043\312\373\155\014\020\345\356"
	"\320\271\254\200\021\013\012\226\004\046\055\264\201\346\144\371"
	"\125\377\150\216\230\352\311\015\113\362\042\035\326\167\235\145"
	"\166\053\342\300\234\333\205\340\243\277\102\170\344\230\211\245"
	"\002\315\204\067\371\277\143\277\133\361\357\041\153\320\332\051"
	"\265\066\246\033\346\067\072\267\154\224\136\242\160\233\053\275"
	"\227\354\357\062\010\363\321\322\376\236\150\277\055\216\264\051"
	"\160\072\227\201\230\321\071\005\145\227\247\326\062\323\224\312"
	"\277\204\374\310\167\316\232"

وبعدها يقوم بتشغيل نفسه فقمت بكتابه هاذا الكود لكي يخرج كود البرنامج الاساسي ليس المكتوب ب C

انما المكتوب ب shell script

dump-hackme.c

/*

   Dump hackme
   coded by Qnix
   Qnix[at]bsdmail[dot]org

*/

#include <stdio.h>

int main()
{

 printf("Dumping hackme ....\n");
 sleep(3);
 system("ps -a -u -x | grep \"hackme\"");
 return 0;

 }

هاذا الكود سوف يقوم بارخراج الكود الخاص ب hackme الان نقوم بتشغيل hackme في terminal رقم 1

./hackme
  Arabteam2000 - Crackme v0.1 (linux)
  Coded by Qnix@bsdmail.org

key :

الان قبل ادخال الكود اقوم بتجميع dump-hackme.c وتشغيله

root@qnix:~# gcc -o dump-hackme dump-hackme.c
root@qnix:~# ./dump-hackme
Dumping hackme ....

الان سوف يعرض لي الكود الخاص في البرنامج وايضا رقم ال PID الخاص فيه

root     18971  0.0  0.1  2092 1000 pts/4    S+   11:13   0:00 ./hackme -c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 #!/bin/bash?clear?echo -e "\E[31m\E[1m  Arabteam2000 - Crackme v0.1 (linux)  \E[m"?echo -ne "\E[31m\E[1m  Coded by Qnix@bsdmail.org  \E[m\n\n"??ser=$$31337$$??echo -ne "\E[34m\E[1mkey\E[m : "??read key??if [ "$key" = "$ser" ]; then?    echo -e "\E[32m\E[1m  You win !!!  \E[m"?    exit 1?else?    echo -e "\E[32m\E[1m  You didnt win !! try again  \E[m"?
root     19178  0.0  0.0  1332  284 pts/5    S+   11:15   0:00 ./dump-hackme
root     19185  0.0  0.1  2056  920 pts/5    S+   11:15   0:00 sh -c ps -a -u -x | grep "hackme"
root     19187  0.0  0.1  1556  524 pts/5    S+   11:15   0:00 grep hackme

هاذا الذي خرج من عمليه ال dump الان كما ترون ضهر الكود الخاص بلبرنامج وكما ترون ان قيمه الباسورد هي

31337

قبلها وبعدها متغيرين هو $$31337$$

ال $$ تعني رقم ال PID

فهنا رقم ال PID هو 18971 فالباسورد يصبح

189713133718971

فلنجرب الان ادخال الباسورد

w6w_200510221322160ad54d5a.jpg

تحياتي

تم تعديل هذه المشاركة بواسطة Qnix في 22 أكتوبر 2005 في 21:23

#14

ما بصير.. انت هيك روحت علي فرحة انه حصلت على لينوكس وصار بقدر جرب البرامج اللي عم تكتبها :P

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#15

ولو يا Xacker خيرها بغيرها إن شاء الله

تم تعديل هذه المشاركة بواسطة Qnix في 22 أكتوبر 2005 في 23:02

#16

يالله.. نحن بالانتظار للجديد.. بالمناسبة، شو رايك اعملك ستايل ظريف خفيف نظيف للموقع :D

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#17

اكيد موافق , يله اعمله وارسله

هذا الموضوع مغلق.