منتديات دريم السعودية  

العودة   منتديات دريم السعودية > قسم الكمبيوتر والأجهزة الذكية > منتدى Windows-11 و برامجه الأساسية

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 27-06-2003, 08:30 PM   رقم المشاركة : 31
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road
مثال آخر ل :Morph_Man

الآن وكما قلت سابقا سنقوم بكراك Morph_Man الدي أتى به أحد الإخوة في هدا المنتدى تحت عنوان تغيير ملامح الوجه .

[فقط الاعضاء المسجلين هم من يمكنهم رؤية الروابط. اضغط هنا للتسجيل]

وحين ننصب البرنامج يكون عندنا mman.exe و vman.exe سنتكلف بالبرنامج الأول والثاني فهوو شبيه له.
حين نشغل البرنامج تفتح نافدة البرنامج ومعها نافدة أخرى تنبهنا كم بقي لنا من الوقت لاستعمال هدا البرنامج . وكما قلت سابقا , هده المرة فإن هده النافدة ليست من نوع MessageBox وإنما هي من نوع DialogBox . لكي نتمكن أن نقف عند هده النافدة يجب أن نعرف اسم API التي تعطينا دلك ومن بينها DialogBoxParamA و CreateDialogIndirectParamA . ويمكن إدا كنا لا نعرف ما نختار أن نكتبهم كلهم ونرى أين ستقف سوفتايس .وفي مثالنا هدا سنكتب : BPX CreateDialogIndirectParamA طبعا بعد CTRL+D حتى تفتح لنا نافدة سوفتايس.
بعد هدا نشغل برنامجنا mman.exe ونرى أن سفتايس قد توقفت بالفعل عند CreatedialogIndirectParamA ونرى في الأسفل وباللون الأخضر user32 هدا يعني أننا موجودون في user32.dll فهنا ليس عندنا ما نفعله هناك لأننا لا نريد أن نغير شيئا في مكتبات الوندوز إدن نضغط F12 وقبل أن نستمر دعنا نتحدث شيئا ما عن F12 .سأفسرها بمقارنة مع البازيك . نفرض أنه عندنا برنامج كالتالي:
Instruction1
Call prog1
Instuction2
وفي مكان ما من البرنامج عندنا السبروتين prog1
Sub prog1
Instruction_prog1
Instruction_prog2
....
return
هادا يعني أن الكمبيوتر سيقوم بالعملية Instruction1 بعد دلك يدهب إلى call prog1 في هده الحالة يدهب إلى sub prog1 ينجز ما ينجز هناك وحين يصل إلى return يرجع إلى ما بعد call أي إلى Instruction2 في مثالنا. فإدا كنا مثلا في وسط السبروتين وضغطنا F12 فإن سوفتايس تقوم ما تبقى في السيبروتين وترجعنا إلى Instruction2 وبخلاصة فإن F12 تخرجنا من Subroutine .
حين نضغط على F10 فإننا نقوم بتشغيل البرنامج خطوة بخطوة مثلا إدا كنا فوق call prog1 ووضغطنا F10 فالبرنامج سيقوم بمهمته وويدهب بنا إلى Instruction2 لكن مادا إدا كنا نريد أن ندخل وسط السبروتين وننجزه خطوة خطوة هو كدلك, فهناك F8 تمكننا بهدا فإدا كنا فووق call وضغطنا F8 فسندهب إلى Instruction_prog1 ’ وأتمنى أن تفيدكم هده المعلومات.
نرجع الآن إلى حيث كنا فبعد F12 السابق نجد أنفسنا في MFC42 دائما باللون الأخضر.ف MFC42.DLL هي يعتمد عليها البرامج التي تستخدم MFC(Microsoft Fundation Class) فإدن نحن لا نريد تغيير هده المكتبة لدى دعنا نخرج منها , إدن F12 هده المرة تظهر لنا النافدة المشؤومة ننقر OK وهنا ندخل أخيرا في برنامجنا mman .
0041BE8F CMP EAX , 01
فهنا نقارن eax مع 1 إدا كانت eax=1 نكون قد نقرنا OK .هنا كل ما يدور بالنافدة التي لا تهمنا إدن مرة أخرى F12 .ونجد:
41c377 call 41BE40
41c37c Add esp,0c <----------
41c37f cmp eax,ebp
يمكن أن نقرأ هده الأشياء كاتالي: كنا في النافدة المشؤومة وضغطنا F12 وها نحن وراء call حيث يمكن أن نقول أن هدا call هو المسؤول على تلك النافدة مادا لو نتجنب داك call دعنا إدن نضع نقطة توقف عليه ننقر فوقه و F9 و F5 ونعيد تشغيل البرنامج.
هنا سنقف عند call ونحن نريد أن نتجنبه إدن EIP في أعلى النافدة ونبدل 7 الأخيرة ب C ليصبح EIP=41C37C بعد هدا F5 لنرى أن البرامج اشتغل بدون نافدة إضافية.لكي نجرب هل نجحنا فعلا في مهمتنا نزيد الوقت في الكمبيوتر عام مثلا , نشغل البرنامج عادي حتى نتأكد أنه لم يشتغل ونجرب ثانية باستعمال طريقتنا هده لنتأكد أنه شغال.
وإدا أردنا الكراك على طول نفتح mman.exe في برنامج الهيكس ندهب إلى OFFSET 1C377 وونبدل الخمس بايت :
E8 – C4 – FA – FF – FF ربما مكان E8 نجد CC فالأصل هو E8 لكن سوفتليس قد يحولها إلى CC إدا كانت هناك نقطة توقف قلت نبدل الخمس بايت ب 5 مرات 90 لتكون : 90-90-90-90-90 . ف 90 في الأسمبلر تعني NOP No Operation يعني أن الحاسوب لن يفعل شيئا واخترنا 5 مرات لنقع في 41c37c وهي Instruction التي تلي call أو لأن call تنجز في 5 بايت.
فلن أطول عليكم أكثر من هدا ويمكنكم تجريب نفس الشيء على البرنامج الآخر المصاحب معه vman.
وإلى اللقاء.







رد مع اقتباس
قديم 27-06-2003, 09:40 PM   رقم المشاركة : 32
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road
كراك ل :Hex Workshop V 4.1

السلام عليكم من جديد ,
سنقوم بإنجاز باتش جديد وهده المرة للبرنامج Hex Workshop 4.1
نثبت البرنامج , كالعادة نزيد في الوقت ونجرب البرنامج حتى نتأكد بأن البرنامج لم يعد شغالا في هده الحالة يعطينا 3 خيرات , إما أن ندخل رقم التسجيل أو نشتري الرقم أو نغادر.نغادر ولنا معه عودة.
CTRL +D حتى تضهر نافدة سوفتايس ونضع نقطة التوقف التالية:
BPX CreateDialogIndirectParamA
F5 لتغيب النافدة ونعيد تشغيل البرنامج. لن أعيد التفاصيل التي أكون قد جئت بها في الكتابات الفائتة.
تظهر سوفتايس عند النقطة المختارة . F12 لنصل إلى BpsRegWd انظر اللون الأخضر. مرة أخرى F12 لتظهر لنا النافدة , ننقر Cancel ونضغط مرتين F12 حتى نصل إلى برنامجنا hworks32 حيث نجد شيئا كالتالي:

457B27 jz 457B31
[457B29 push dword [esp + 08
457B2D call eax
457B2F mov esi ,eax <-------------
هنا يمكن أن نقول أن call eax هو الدي يعطينا النافدة ونرى في 457B27 هناك jz 457B31 .يعني لو يتم القفز هنا فسوف لن نمر على call وربما نتجنب النافدة , لن نخسر شيئا دعنا نجرب. نضع نقطة توقف فوق jz , نضغط F5 ونعيد التشغيل.
نتوقف الآن عند هده النقطة ونغير EIP ليصبح 457B31 و F5 .
نرى أننا فعلا تجنبنا النافدة الأولى وكل النوافد لأن البرنامج لم يشتغل.
نعيد مرة أخرى وعندما نغير EIP=457B31 نضغط F12 مرات متتابعة ونحسب كم مرة ضغطنا حتى تغيب نافدة البرنامج من وراء نافدة سوفتايس.نلاحظ أنه في المرة الرابعة تغيب نافدة برنامجنا.
نعاود مرة أخرى من جديد مثل المرة السابقة إلا أن هده المرة نضغط 3 مرات فقط على F12 وتكون الحالة كالتالي:
4E2C61 test eax,eax
4E2C63 jnz 4E2C7A
4E2C65 mov ecx,[esi+1c]
4E2C68 test ecx,ecx
4E2C6A jz 4E2C71
4E2C6C mov eax,[ecx]
4E2C6E call [eax + 58]
هنا نشغل البرنامج خطوة خطوة بالضغط على F10 ونلاحظ متى تغيب نافدة البرنامج . نرى أنه حين نصل إلى 4E2C6E ونضغط F10 هنا تغيب هده النافدة , يمكن القول إدن أن call هو المسؤول عن دلك . كالعادة نرى هل بإمكاننا تجنب هدا call .نرى قبل هدا أن jz و jnz الفوق يمكنان دلك. لإختيار أي منهما , نجرب الإثنين. نضع نقطة توقف في 4E2C61 .نعيد التشغيل كالسابق حتى نصل إلى هده النقطة ,نتمشى ب F10 حتى نصل إلى 4E2C6A هنا نرغم البرنامج على القفز إلى 4E2C71 ودلك بتغيير EIP و F5 لكن لم ننجح في اختيارنا.
نعيد نفس الشيء مع 4E2C63 ونلاحظ هده المرة أن البرنامج اشتغل.
إدا أردنا أن نزيد شيئا من الدقة , فحين يقف البنامج في النقطة الأولى 457B27 ونبدل EIP نضغط على F12 لنصل إلى 41CDD5 وكالصابق قبله يوجد call النافدة وفي 41CDC6 هناك jnz 41CDEC الدي يبعدنا عن call وفي هده الحالة لن ندخل النافدة لا من قريب ولا من بعيد.
في الملخص يجب على البرنامج أن يقفز في الحالتين:
41CDC6 jnz 41CDEC وفي 4E2C63 jnz 4E2C7A .
من أجل الكراك يجب تبديل القفز الضرفي jnz بالقفز المطلق jmp .
لفعل دلك نفتح برنامجنا في برنامج الهيكس , ندهب إلى offset E2C63وكدلك offset 1CDC6 وفي كلتا الحالتين نبدل الرقم 75 ب EB ف 75 هو رمز jnz فيما EB هو رمز jmp .
أتمنى أن يزيدكم هدا إفادة وأنا في انتظار اقتراحاتكم وآرائكم.

إدا كان عندكم الإصدار V3.11 يمكنكم اتباع نفس الشيء لكن طبعا الأرقام ستكون مختلفة. فمثلا عوض الأرقام الأخيرة 1CDC6 و E2C63 تكون الأرقام التالية 14EC5 و 9A7EF .







رد مع اقتباس
قديم 27-06-2003, 10:46 PM   رقم المشاركة : 33
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road
مثال لصنع الكراك بالبازيك

سنقوم ببرمجة برنامج يقوم بكراك برنامج ما. وسنقوم بمثال Hex Workshop V4.1 .
الطريقة المتبعة هي:
- فتح البرنامج
- الدهاب إلى Offset الدي نريده
- قراءة البايت اللي هناك لنتأكج من صحته
- إدا كان كدلك نكتب البايت الجديد
- نغلق الملف
- نغادر.
سأقوم في هدا المثال ببرمجة هدا بالبازيك إلا أنني شخصيا لا أفضل هدا وأفضل أن يكون ب C أو C++ .لأن البازيك إدا أردت مثلا أن ترسل الكراك فيجب على الشخص أن يكون عنده أدوات البازيك أو يجب أن نرسل كل المكتباب اللازمة مما يطول البرنامج.
تجدون في المرافق كل الملفات لهادا مكتوبة ب Visual Basic 6 .
لتشغيل الملف exe وكما قلت سابقا يجب أن تكون عندكم المكنبات اللازمة لدلك.
تلاحظون أنني زدت 1 في Offset دلك لأن هدا الأخير يبدأ من الصفر والبازيك يبدأ ب 1 .







رد مع اقتباس
قديم 28-06-2003, 03:00 PM   رقم المشاركة : 34
معلومات العضو
الجدار الناري
غير مسجل
 





 

جزاكم الله خيرا







رد مع اقتباس
قديم 30-06-2003, 09:39 AM   رقم المشاركة : 35
معلومات العضو
ahmedbna
عضو جديد
 






ahmedbna غير متواجد حالياً

ahmedbna is on a distinguished road
 
ahmedbna is on a distinguished road
Wink مثال لصنع سريال لبرنامج speedxp

هذ الشرح مقدم من chik
اردت ان ارفقة حتى يكون الموضوع متكامل ومتتالى،اقصد طبعا موضوع كيف اصنع كراك من البداية

سنقوم في هده الحصة بإنجاز كراك لبرنامج SpeederXp الدي أتى به الأخ Prince2088 أنظر العنوان : برنامج يخلي جهازك صاروخ ... في نفس هدا الدرب . أنا لن أتحدث هنا على ما يقوم به البرنامج وإن كان فعلا صاروخ أم لا. سنقوم بكراكه على نوعين سنعطي السيريال والباتش ودائما باستعمال سوفتايس.
ثبت البرنامج وافتح نافدة التسجيل.
- سترى هناك حقلان حقل للإسم وآخر للسيريال
- ادخل الإسم مثلا hadibadi
- ادخل أي سيريال تريد مثلا 112233 واضغط Enter إدا كنت محضوضا فستكون الأمور تماما ولكن نحن لا نريد أن نلجأ إلى الحظ.
- سنرى إندار يقول أن الرقم غير صحيح. هيا إلى العمل إدن
- CTRL + D لنفتح نافدة سوفتايس ونكتب بعد دلك :
BPX MessageBoxA
لنضع نقطة توقف عند الإندار F5 ونعاود الكر من جديد نرجع إلى نافدة التسجيل, نترك الإسم والسيريال كما كانا و Enter
- هنا سوفتايس سيقف قبل الإندار F12 سيضهر الإندار وننقر هدا الإندار.
- سوفتايس سيرجع من جديد ونضغط(2) مرتين على F12 ليصلنا إلى الداكرة رقم :004030EA
- نصعد الشاشة شيئا ما إلى أعلى حتى يظهر لنا الرقم : 0040306B
- ننقر على هدا الرقم لكي نجعل Cursor فوقه
- نضغط F9 لكي نجعل نقطة توقف في هدا العنوان –سيرجع لونه أزرق –
- نضغط F5 لنعاود من جديد وهده ستكون المرة الأخيرة
- ها قد عدنا ثانية إلى نافدة التسجيل مثل المرة الأولى نترك الأشياء كما كانت ونضغط Enter
- سوفتايس سيقف هده المرة عند العنوان أعلاه : 0040306B
- هنا ننقر باليمين فوق EDX أعلى الشاشة ونختار Display أو نكتب d edx
- مادا تشاهد في شاشة Display رقم السيريال :a2c940487e51815e
أو تشاهدون رقما آخر إدا أدخلتم إسم آخر
إدا لم تكن عندكم نافدة Display اكتبوا wd أو اضغطوا ALT + F2 حتى تضهر عندكم في النافدة الثانية من الأعلى و wd تعني window-display
- F5 مرت أخرى لنرجع من جديد إلى نافدة التسجيل وندخل هده المرة السيريال الدي وجدناه وسيشكرنا البرنامج هده المرة. نوقف SpeederXp ونشغله من جديد ليظهر لنا أنه فعلا قد تم تسجيله وهو الآن شغال تمام.
يمكنا إنجاز الكراك على شكل باتش ولكن قبل دلك أترك فرصة للهواة ليقوموا ببعض التجارب.







رد مع اقتباس
قديم 01-07-2003, 07:15 PM   رقم المشاركة : 36
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road
مثال لصنع كراك ب : C++

ستجدون في المرفق هنا كل الملفات اللازمة لصنع الكراك ب C++ .
المثال هو كالبازيك السابق تماما . ويمكن الإعتماد على هدا المثال لإنجاز كراك لمثال آخر. إد يمكن مثلا تبديل رقم Offset فقط .هدا كان الأمر يتطلب تبديل 2 بايت مثل هدا المثال. أما إدا كان الأمر غير دلك يمكنكم زيادة أو نقص السطور اللازمة لدلك في البرنامج.
في المرة القادمة يمكن أن نصعب شيئا ما الأمور ودلك بأن نتطرق إلى بعض البرامج المضغطة. فما رأيكم.
إلى اللقاء.







رد مع اقتباس
قديم 02-07-2003, 12:43 PM   رقم المشاركة : 37
معلومات العضو
ahmedbna
عضو جديد
 






ahmedbna غير متواجد حالياً

ahmedbna is on a distinguished road
 
ahmedbna is on a distinguished road
Wink الأخ chik انا لى رأى أخر

السلام عليكم

ما رأيك يا chik لو اعطيتنا دروس فى لغة الأسمبلر assembler
حيث انى بصراحة اريد معرفة هذه اللغة







رد مع اقتباس
قديم 02-07-2003, 10:48 PM   رقم المشاركة : 38
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road

يا أخي أنا ما عندي مانع من أن أقتسم المعرفة مع باقي الإخوان حتى نفيد ونستفيد.
إن لغة الأسمبلر وكما يحكم عليها أغلبية الناس تبدو صعبة مقارنة مع باقي اللغات إنما حين نتعرف عليها فهي مثل اللغات الأخرى لها قوانينها ومبادئها.الفرق يبدو لي أنه مثلا في البازيك يمكن أن تنجز برنامجا رائعا بدون ما تعرف كيف يدور برنامجك هدا وكيف يشغل الداكرة إلخ... أما في الأسمبلر ففي غالب الأحيان أنت الدي ستقوم بكل هدا. لدا يجب معرفة بعض المبادئ الأساسية لكل هدا.
أني أود أن أهيئ درسا لهدا , لكن صدقني وأنا لا أبخل عن أحد أنه ليس من السهل تهيئ درس أو على الأقل أنا لا أجيد تهيئ الدروس وأنا أحب سؤالا وأجاوب السؤال. إنما سأحاول رغم أنني لا أعرف من أين أبدأ لأنني لا أعرف ما معرفتك لهده اللغة.
هنا سأعطي بعض المعلومات العامة وإدا كان شيئ ما غير مفهوم أنا أنتظر الأسئلة حتى تسهل الأمور.
إن الأسمبلر وكباقي اللغات يمكن أن نقسمه إلى قسمين : 16 أو 32 بايت أو نقول مثلا البرمجة تحت DOS أو وندوز. فإدا كنا نريد البرمجة وندوز فأنا أنصح ولكن ليس ضروري أن نبدأ بلغة س++ لأن هاتان الغتان تتشابهان كثيرا في بناء الهيكل أو لبرمجة نافدة مثلا رغم أن اللغة غير متشابهة.
لكي نبدا البرمجة يجب أن نتوفر على compilator لهده اللغة حتى يتمكن لنا أن نصنع ملف exe للبرنامج ASM الدي نكون قد كتبناه. وهناك عدة من compilator فهناك مثلا masm tasm nasm فأنا شخصيا أستعمل Masm6 ل 16 بايت وأستعمل masm32 طبعا ل32 بايت.وأنا أنصحكم أولا أن تقوموا بتحميل هده البرامج فهي موجودة في عدة مواقع يكفي أن نجري بحثا بسيطا.
أظن أن بداية الأسمبلر تتطلب أولا معرفة registers سنسميهم الرجستر.ويمكن أن نقول أن هده الأخيرة هي نوع من الداكرة الخاصة ب Processor يستعملها لأغراضه الشخصية أي للقيام ولإنجاز كل العمليات التي يقوم بها.وهده الرجستر يمكن أن نقسمها إلى قسمين : رجستر Segment و رجستر Offset وهنا سأفتح قوسا لتوضيح هده الأمور.
نعرف أن في 16 بايت الرقم الأكبر الدي يمكن أن نصنعه هو 2 أس 15 أو الرقم FFFF في القاعدة 16 وهنا أفترض أن القارء عنده معلومات عن قاعدة الأعداد 10 طبعا 2 و 16. فالعدد FFFF يعطينا تقريبا 64 كيلو بايت مثلا في الداكرة فهنا نلاحظ أن هدا العدد ليس كافيا افترض أنه عندك ميغا بايت مثلا. لحل هدا المشكل قام الخبراء بتقسيم الداكرة إلى أجزاء وكل جزء يمكنه أن يحوي 64 كيلو وكل جزء سنسميه segment وكمثال لهدا نفترض أنك لا تعرف تعد الأرقام إلا حد 100 وعنك سيارة تقوم بسباق وتريد أن تعطينا كل مرة المسافة التي قطعتها. فحين تكون في الكلمتر 85 ستقول 0:85 في الكلمتر 244 تقول 02:44 إلخ... فهكدا الداكرة نكتبها مثل هده الحالة : Offset : Segment
-هنا انقلبت الكتابة Segment هو الأول-
ونعود إلى الرجستر فهي كالتالي : IP AX BX CX DX SP BP SI DI ورجستر السكمنت وهي
DS ES SS CS .
AX Accumulator BX base CX counter DX data SP stack pointer IP index BP Base pointer Si source di destination .
هده هي التسميات وسنرى مادا تعني حين نقوم بإجراء الأمثلة. أما السكمنت فهي :
Ds data segment es extra segment ss stack segment cs code segment
ف CS segment يتمشى مع IP ليعطينا رقم الداكرة التي وصل إليها البرنامج وفي غالب الأحيان لا نحتاج إلى تغيير هدا.
SS تتمشى مع SP ليعطينا الستاك وهده يمكن أن نقول أنها جزء من الداكرة يقوم البرنامج بتخزين المعطيات فيها فمثلا نقول أنه عندنا عدد من المعطيات اكبر من عدد الرجستر فكيف سيقوم البروسسور بالتدكر بكل هدا إدن سيلجأ الى تخزين الفائض في الستاك ويلجؤ عنده عند الحاجة.هدا باختصار.
والباقي قد يستعمل لعدة أشياء مثل نقل محتوى الداكرة من مكان إلى آخر.
وهناك رجستر آخر وهو من نوع خاص يسمى Flag أو الراية وهدا الأخير يعطينا حالة البرسسور أو حالة الإنجاز الأخير لكي لا نعقد الأمور سنقول مثلا أن البرسسور قام بعملية أعطتنا نتيجة صفر إدن الراية ستقوم بإخبارنا بدلك مثلا تلوح لنا راية الصفر فمثلا حين نكتب JZ فنحن نقوم باختبار هده الراية.
ويمكن القول أن كل الرجستر الدي دكرناها هي سعتها 16 بايت. وبعض رجستر الأفسيت يمكن أن تقسم إلى رجستر 8 بايت فمثلا AX هي مكونة AH و AL : الأولى High والثانية LOW.نفترض أن AX=1234 بالهكس في هده الحالة AH=12 و AL=34 إدا بدلنا AL=00 على انفراد فسوف نبدل أوتوماتيكيا AX حيث سيصبح AX=1200 نفس الشئ بالنسبة ل BX CX DX.
بالنسبة للتعليمات يمكن أن نبدا بلأكثر استعمالا وهي MOV وهي تمكن من وضع معطيات ما في رجستر أو في داكرة ما ولها عدة كتابات مثل :
MOV AX,5 نضع العدد 5 في الجستر AX ليصبح AX=5 .
MOV AX,BX نضع محتوى BX في AX الأول لا يتغير .
Mov [ax],bx هده تضع لنا مقدار BX في الداكرة المشار إليها في AX هده بخلاصة لكن بعض الأحيان تتطلب توضيحات إضافية يمكن التطرق إليها مستقبلا.
Mov ax,[bx] هي عكس الأولى ما يوجد في الدكرة BX يوضع في ax .

فيما يخص 32 بايت فالرجسترات تكون كما سبق ونضيف إليها E مثل EAX EBX ECX .. وكالسابق يمكن تقسيمها إلى AX ثم إلى AH AL وهنا في غالب الأحيان لا نحتاج لرجسترات السكمنت.
فقبل أن تحملوا MASM سنقوم بمثال بسيط وبواسطة سوفتايس.
افتحوا Symbol Loader لسوفتايس , افتحوا الملف Notepad.exe بعد دلك انقروا Load لا يهمنا الخطأ ونتابع ونجاوب Yes لسفتايس بعد كل هدا ستقف سفتايس عند 4010A8 نسجل هدا الرقم في ورقة ما بعد هدا نكتب d 410100 ونتأكد من أن نافدة Diplay تشير إلى أصفار نكتب u 410100 هدا يعني Unassemble الداكرة التي أعطيناها أو أنه سيحول معطيات هده الداكرة إلى Assembler لا نهتم ما دا نرى وهده المرحلة ليست ضرورية. بعد هدا نكتب a 410100 ويعني أننا سنكتب بلأسمبلر في الداكرة المطلوبة حيث هنا يمكن أن نبرمج وسوفتايس يحول أوتوماتيكيا برنامجنا نكتب مثلا :
mov eax,12
mov ebx,410130
mov [ebx],eax
حين ننتهي نضغط ESC .
بعد هدا نحول EIP إلى برنامجنا أي 410100 وننجزه خطوة خطوة ب F10 وفي نفس الوقت نلاحظ مادا يقع في الرجسترات وفي الداكرة 410130 وبهده الطريقة يمكنكم تجربة عدة أشياء. حين ننتهي نعيد EIP إلى الرقم الدي سجلناه و F5 لنشغل Notepad ونخرج وهده طريقة لبعض الكراكات.
يمكن أن نجرب البرنامج الآتي مثلا :
في نفس الضروف السابقة نكتب :
Mov eax,1
Mov ebx,410130
Mov [ebx],eax
Inc eax
Cmp eax,8
Jnz 41010A
Mov eax,0
Mov [ebx],eax
Jmp 4010AA
هدا مثل الأول وزدنا هنا inc وهي تعني Increment أي تزيد واحد هنا ل EAX وكدلك cmp eax,8 وهدا يعني نقارن EAX مع العدد 8 حين تكون EAX=8 فإن رجستر الراية ينبه بدالك ونراه في سفتايس ب Z يرجع لونه أزرق في نافدة الرجستر. إدن حين يختلف EAX عن 8 يرجع البرنامج إلى الداكرة 41010A ويعيد إنجاز الأمور وحين تكون 8 يرجع الداكرة 410130 إلى الصفر ويدهب البرنامج إلى 4010AA وهده هي التي سجلناها في البداية إدا قمنا هنا ب F5 سنشغل Notepad .
يمكنكم القيام بتجاربكم الخاصة وأحسن تعليم هي التجربة.
سأكتفي بهدا اليوم وأتمنى أني كنت شيئا ما واضحا لأني لم أهيئ شيئا.
وأنصحكم أن تجدوا كتابا لهده البرمجة وإدا كنتم تعرفون الإنجليزية يمكنكم تحميل عدة دروس تكون أوضح مما أقول وأضن أن أحسن شيء هو الكتاب إدا كان في الممكن.
وأنا رهن الإشارة لأي سؤال وأتمنى أن تفيدكم هده السطور.
وللبرمجة هناك بعض الأدوات من الأفضل الحصول عليها:
لائحة Interruptions لأن البرمجة في الدوس تقوم على هدا النحو ويجب إدن معرفة ارقام Interruptions ومادا تتطلب كل واحدة .
تعريف API وكيف تبرمج إدا كنا نريد برمجة وندوز. وهنا إدا كان عندنا MSDN فهدا يكفي.
وإلى اللقاء ومع آرائكم.







رد مع اقتباس
قديم 02-07-2003, 11:56 PM   رقم المشاركة : 39
معلومات العضو
ahmedbna
عضو جديد
 






ahmedbna غير متواجد حالياً

ahmedbna is on a distinguished road
 
ahmedbna is on a distinguished road
win الأخ chik

سلامى الكبير لك
انا اعرف انى اكثر شخص ارهقتك بأسئلتى الكثيرة
- معذرة اخى سرف اعدل عن كلامى هذه المرة لان الحديث عن الأسمبلر فى الوقت الحالى سيبدو امرا صعبا
وحتى لا نتوه عن موضوعنا الأصلى ، اطلب منك اخى الكريم بأستكمال حديثك عن الكراك ، وعن الموضوع القادم اقصد موضوع البرامج المضغوطة الذى ذكرته
وان شاءالله عندما نتخلص من موضوع الكراك ، نبدأ بعد ذلك فى فتح باب جديد يتكلم حينئذن عن الأسمبلر
على فكة chik انا من متابعينك جيدا واى ملف تطرحه ، او برنامج تذكرة اوجده لنفسى فى نفس اليوم
ولك ترحيبى ولن اطيل عليك
ahmedbna
egypt







رد مع اقتباس
قديم 03-07-2003, 10:55 PM   رقم المشاركة : 40
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road

إلى الأخ أحمد حول الملف الدي أرسلت إلي.
إن هدا الملف ليس هو الملف الأصلي , إد هو مغير من طرف شخص ما ويدعي عدم قدرة كراك ملفه أو على الأقل من الصعب جدا. إن هدا يكون إما للتباهي أو لتجربة الشخص الدي سيقوم بالكراك أو لتحديه. وأتمنى أن تكون أخدت هدا الملف عن طريق الصدفة وأن لا تكون لأسباب أخرى.
إنما سأحاول تفسير كراك هدا الملف رغم أني أكره التحدي فالكراك بالنسبة لي هواية وكثير هي برامج كركتها ولم أستعملها قط.
فلنبدا بإدن الله.
حين ثبت البرنامج ولم أكن أعلم ما فيه ظننت أنه كالبقية واتبعت نفس الأسلوب الأصلي . فكيت مشكل الوقت وشغلت البرنامج , حين هنا لا شئ جديد لكن حين أريد فتح ملف ما تخرج نافدة لتقول بأنك قد فزت بالمرحلة السهلة ولكن المعركة الحقيقية ستبدأ الآن ويتحداك إلى غير دلك , بعد هدا تقع أخطاء في البرنامج ويقفل.
بعد دراسة أولية للبرنامج يبدو أن شخصنا زرع فيه عدة ألغام من نوع Exceptions لكن كل هدا ليس بالمشكل . فلربح معركة ما إما أن ندخلها بالعتاد وقد تدوم وقتا وإما أن نتجنبها. وهنا سأختار الطريقة الثانية لأن رغم كثرة الألغام المزروعة يمكن أن نسلك طريقا آخر ونتجنب المشاكل.
سأعطي أولا بعض التوضيحات:
نثبت البرنامج إدا كان مثبتا من قبل نمسح الملفات ونعيد التثبيت . بعد هدا نسجل في ورقة أو في الدماغ التاريخ وأعني اليوم , الشهر والسنة . لأن البرنامج حين نثبته فهو سيقوم بتسجيل تاريخ التثبيت في الملف exe ليقوم بالمقارنة بعد دلك وأنا شخصيا أعتبر هده الطريقة غير احترافية. نزيد كالعادة الوقت في الكمبيوتر سنة مثلا وهنا حين نشعل البرنامج لا يعمل إدن هنا كالعادة نلجأ إلى الطريق العادي وأنا جربته أولا لكن هدا لن يوصلنا إنما يمكنكم أيضا البداية بهدا.
هنا دعنا نفكر قليلا فالبرنامج في وقت ما إنه سيقارن وقت الحاسوب مع وقت التثبيت الدي سبق وأن سجله. فهدا سيدفعنا إلى معرفة API المسؤولة على دلك وهي : GetLocalTime هده تعطي وقت الكمبيوتر الكامل , وأظن أن الآن الأمور اتضحت.
في سفتايس نكتب : bpx getlocaltime ونشغل البرنامج وستقف سفتايس عند ما طلبناه . F12 وبعد هدا يجب أن نكون في winpack لأن GetLocalTime عليها طلب كبير من عدة برامج أخرى . فإدا لم يكن الأمر كدلك F5 ونعاود حتى نصل Winpack وفي هده الحلة ستكون عندنا :
488AD8 Call getlocaltime فهده ستعطينا الوقت الكامل للحاسوب والدي يهمنا نحن هو اليوم الشهر والسنة. من هنا نتمشى بالخطوة بواسطة F10 حين نصل إلى :488AFC mov ax,[aes+12] هده ستعطينا اليوم الحالي في ax بعد F10 نلاحظ أنه AX قد أخد فعلا عدد اليوم نفس الشئ في الداكرة 488B04 mov ax,[esp+12] تعطينا الشهر وفي 488B0A السنة في AX . 7D3 بالهكس بالنسبة 2003 مثلا .
هنا ستظهر الخطة التي سنتبعها حين يطلب البرنامج الوقت الحالي سنأخد زمام الأمور ونعطيه الوقت الدي سجلناه في البداية. هكدا سيشعر البرنامج وكأنه لا زال دائما في يومه الأول من التثبيت ويبقى شغالا على طول. نزيل نقطة التقف الأولى ونضع نقطة في 488Afc المكان الدي سيعطينا اليوم ونعاود التشغيل. حين يتوقف عند هده النقطة الأخيرة نكتب ما يلي:
A 488afc
Mov ax,day dayهو يوم التثبيت الدي سجلناه من قبل مثلا 3 إدا كان اليوم.
Nop هده لن تفعل شيء لكنها ستحافظ على بقاء البرنامج على هيكله.
نكتب نفس الشء في 488B0A بتغيير day ب month اي الشهر.
في 488B0A :
a 488B0A
mov eax,7D3 . ف 7D3 قلنا هي 2003 أو غيرها إدا لم يكن لدينا نفس التاريخ.
Nop
Nop
Nop
Nop
نضغط ESC بعد الإنتهاء من كل كتابة.ونسجل الكود الدي أعطاه لنا سفتايس.
هدا يعني أنه كلما طلب الوقت سيكون الجواب هو day month year الدي أعطيناه.
بعد هدا BD نقطة توقفنا وF5 لتشغيل البرنامج وهنا نرى البرنامج اشتغل.
إدا أردنا أن نكرك البرنامج نفتحه في برنامج الهيكس ندهب إلى Offset 87EFC ونبدل الخمس بايت الأصلية :
66 – 8B – 44 – 24 –12 ب : 66 –B8 –03 –00 –90 علما أن 03 هو اليوم ويمكن تبديله بيومك.
-هنا الأرقام انقلبت عند الكتابة 66 هي الأولى في الحلتين بعد دلك الترتيب صحيح.66 ثم ب8 ثم 03 ثم 00 ثم 90 كدلك الآخر.
في 87F04 نبدل 66-8b-44-24-12 ب 66-b8-07-00-90 07 هو شهر التثبيت.
-هنا نفس الملاحضة بالنسبة ل66
في 87F0A نبدل 9 بايت ب : b8-d3-07-00-00-90-90-90-90 هنا d3-07 هي السنة 7d3 لكن يجب أن تكتب مقلوبة نبدأ ب LOW ثم High و 90 هو كود NOP.وهده البايت هي التي أعطاهانا سفتايس حين بدلنا البرنامج الأصلي وأدخلنا mov ax,day إلى آخره.
وهاهو الكراك رغم ما وقع في البرنامج هناك كثير من الأحيان حل بسيط.
بعد هدا يمكن أن نزيد في كراكنا مثلا أن نزيل النافدة التي تندرنا بالشروير إلا أن هدا بسيط وهو مثل المثال السابق.
هناك طرق أخرى لكراك هدا حيث يمكن أن نقرأ كود البرنامج إلا أن هدا يتطلب شيئا من الوقت.
إلى اللقاء.







رد مع اقتباس
قديم 05-07-2003, 03:25 AM   رقم المشاركة : 41
معلومات العضو
الجدار الناري
غير مسجل
 





 

مشكور اخوي واستاذي الكبير chik على هذا الشرح الاكثر من رايع وايضا اقدم شكري الجزيل لكل من ساهم في شرح كيفية صنع كراك .......


وتقبلوا تحياتي

[poet font="Simplified Arabic,4,black,normal,normal" bkcolor="transparent" bkimage="" border="none,4,gray" type=0 line=200% align=center use=ex length=0 char="" num="0,black" filter=" shadow(color=red,direction=135)"]
الجدار الناري
[/poet]







رد مع اقتباس
قديم 05-07-2003, 11:21 PM   رقم المشاركة : 42
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road

السلام على الجميع .
- أنا أريد أن أضيف هنا بعض البرامج التي قد يحتاجها الشخص في يوم من الأيام حين يريد انجاز كراك ما:
Procdump : هدا يستعمل لعدة أغراض كتحليل بعض البرامج المضغطة أو ل :Dump Memory أو بعبارة أخرى تسجيل جزء من الداكرة كما هي في ملف على القرص , وهده لها أهميتها في العديد من الحالات.
- برنامج يعطينا Resource للبرنامج الدي نريد ومن بينها : Resource Hacker – Exescope إلخ...
هدا انوع من البرنامج يمكننا مثلا من تبديل Resource أو تعريبها مثلا وللكراك أستعملها في البرامج المنجوزة من Compilateur لشركة Borland كالديلفي وغيره.
- File inspector وهو يجمع بعض المسائل السابقة.
- Ice Dump له عدة استعمالات ومن بينها إخفاء سوفتايس بالنسبة لبعض البرامج التي تراقب إدا ما كان سوفتايس شغال خوفا من الكراك.
- بعض البرامج لحل بعض البرامج المضغطة مثل :Upx – Aspack – Petite واللائحة طويلة.
وهناك المزيد وأنا سأكتفي بهدا القدر اليوم وسأعطي فيما قريب بعض الأمثلة للإستعمال وسأبحث عب أمثلة سهلة حتى يتمكن المبتدؤون من المتابعة.
وإلى اللفاء.







رد مع اقتباس
قديم 22-07-2003, 11:46 AM   رقم المشاركة : 43
معلومات العضو
مسافر
عضو جديد
 







مسافر غير متواجد حالياً

مسافر is on a distinguished road
 
مسافر is on a distinguished road

تحية للجميع وتحية خاصة الاستاذ الشارح ، ولا للاحتكار وارتفاع اسعار البرامج.







التوقيع :
[فقط الاعضاء المسجلين هم من يمكنهم رؤية الروابط. اضغط هنا للتسجيل]
رد مع اقتباس
قديم 27-09-2003, 03:21 PM   رقم المشاركة : 44
معلومات العضو
هند85
غير مسجل
 





 

ماشاء الله عليك اخي chik
بصراحة دروسك متعة بس لي طلب لو تجمعها في ملف وورد ومنسقة وترسلها على بريدي الله يجزيك خير
واريد منك اخي العزيز شرح لبرنامج Ice Dump مع ضرب بعض الأمثلة ومن وين احمله
انا عارفة طولت عليك لكن من كرمك بالمعلومة جعلني اطلب ذلك
تحياتي لك وللجميع







رد مع اقتباس
قديم 29-09-2003, 01:02 PM   رقم المشاركة : 45
معلومات العضو
chik
عضو
 






chik غير متواجد حالياً

chik is on a distinguished road
 
chik is on a distinguished road

سأحاول إرسالك ما تريدين فانتضري شيئا ما حتى أجمع جميع الملفات وربما أعاود بعضها.
فيما يخص IceDump ليس على بالي الآن موقعه وسأرسله لك.
إلى اللقاء.







التوقيع :
[فقط الاعضاء المسجلين هم من يمكنهم رؤية الروابط. اضغط هنا للتسجيل]
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 03:30 PM.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
adv helm by : llssll