Professional Documents
Culture Documents
تعلم الهندسه العكسيه بالعربي
تعلم الهندسه العكسيه بالعربي
Edition
AT4RE
1
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
الفَرس
2 انفهرس
17 انًمذيح
38 .3بنلب ًال :كَفَخ أضغ امطخ رولف BPين اوع اسزلنبء فٌ انزؼهًََخ int3؟
38 .3.1مٞفٞح ٗضغ ّقطح اىر٘قف ٗإصاىرٖا ف ٜاىثشّاٍج ف ٜديقح اىرْقٞخ
41 ثاىثاٍ :ثاه ذطثٞقٍ ٜرقذً 3.2.
2009 2
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
48 .4انًمذيخ
49 .6انزؼهَمبد
49 .7انجزاراد
67 .9يهذك
67 ذطثٞق ػَيٜ 9.1.
69 Vcodes .9.2
70 .1انًمذيخ
85 .4انخبرًخ
86 .1األهذاف
86 .2يمذيخ
86 .2.1غٞغح اىَنّ٘اخ اىَسرؼَيح
87 .2.2األدٗاخ اىَسرخذٍح
2009 3
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
97 1.يمذيخ
2009 4
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
132 .1يمذيخ
153 1.انًمذيخ
162 .4انًشفمبد
2009 5
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
163 .1يمذيخ
2009 6
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
211 1.انًمذيخ
212 .1.1اىخ٘اسصٍٞاخ ٗاإلجشاءاخ
212 .1.2غذح اىق ٌٞاىرّ ٜثذث ػْٖا ٕو ٕ ٜقHexadecimal ٌٞ
213 ذطاتق ط٘ه اىق ٌٞاىقذَٝح ٗاىجدٝذج 1.3.
213 ػَو ّسخح ادرٞاطٞح ىيَيف قثو اىرغٞٞش ف ٜاىقٌٞ .1.4
213 اىرأمذ ٍِ أُ اىَيف قذ ذٌ ذغٞٞشٓ ٍِ قثو .1.5
214 خ٘اسصٍٞح اىرذ٘ٝو .1.6
214 خ٘اسصٍٞح اىثذث .1.7
215 خ٘اسصٍٞح اىرغٞٞش .1.8
217 .3انخبرًخ
218 .1يمذيخ:
218 1.1.األٕذاف
218 .1.2ذؼاسٝف ٍٗرفشقاخ
219 .1.3اىثذاٝح
224 3.انخبرًخ
225 .1يمذيخ:
225 1.1.األٕذاف
225 1.2.ذؼاسٝف
226 .1.3اىثذاٝح
228 .2انجشيجخ
2009 7
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
231 .4انخبرًخ
232 .1انًمذيخ
239 .1يمذيخ
255 .5انخبرًخ
256 .1يمذيخ
2009 8
AT4RE :انفريك انعرتي نههُذسح انعكسيح انفهرس . خطىج إنى األياو: انعكسي
ج انهُذسح
274 Breakpoint & Patching Detection أسبئم كطف امبط انزولف أانزؼذٍم ػهي انجشايج.3
274 .3.1
Software Breakpoint Detection
274 Hardware Breakpoint Detection .3.2
276 Patching Detection via Code Checksum Calculation .3.3
2009 9
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
339 .7سبثؼب ًال :ػًم كَجن نهمسى Advancedأضشح انـ Brute Force Attack
339 .7.1دساسح اىن٘د
342 SHA .7.2تشٗخ ف٘سسْٞغ
351 .7.3مراتح اىنٞجِ
2009 10
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
366 4.ػًم كَجن نزطجَمبد انذأد اذ ين خالل اسخ انكود أإغالده (Keygenning DotNet Targets ) 2
374 .1يمذيخ
399 6.سأاثظ يفَذح نهًضٍذ ين انًؼهويبد دول يؼبنجبد ARMأاظبو انزطغَم Symbian
400 .1يمذيخ
400 .1.1اىَرطيثاخ
400 ذؼيَٞاخ ٍؼاىج ARM 1.2.
2009 11
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
445 إيجاد سريال وكراتح كيجٍ نثرَايج )DES( AVI VIDEO CONVERTER
2009 12
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
484 2.اننزَجخ
530 .1انًمذيخ
2009 13
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
542 .5انخبرًخ
562 .3بنلب ًال MsgBox :رخشج ػنذ إدخبل ثَبابد رسجَم غَش غذَذخ Bad Boy
562 .4ساثؼب ًال :إغالق انجشابيج ننفسه ػنذ اازهبء انًذح انزجشٍجَخ أ ػنذ إدخبل ثَبابد غَش غذَذخ
565 .1يمذيخ
565 .1.1ذؼشٝف اىذّٗغو ٗ أّ٘اػٖا
565 .1.2ىَذح ػِ اىطشماخ اىَػْؼح ىيذّٗغو
2009 14
AT4RE انفريك انعرتي نههُذسح انعكسيح: انفهرس انعكسي :خطىج إنى األياو.
ج انهُذسح
572 انخاذًح
573 INDEX
2009 15
AT4RE انفريك انعرتي نههُذسح انعكسيح: اإلهذاء انهُذسح انعكسيح :خطىج إنى األياو.
إٍداء ...
ضا ٟال إي٘ إال اهلل ستُس ضغ ٍٛاهلل ؾٛم زلا ٤ايكسؽ..
إىل َٔ غتٓذب شيو ايطدٌ ايص ٟغرلؾع ٠
إىل َٔ ْؿهٛا عِٓٗ غباض ايتػٜٛـ ٚايتٛانٌ ٚاألَاْ ٞيٝذعًٛا َٔ َبازَٚ ِٗ٥عتكساتِٗ ٚأقٛاشلِ أؾعاالً تٓٗض بِٗ
ٚبأَتِٗ..
إىل نٌ َٔ نشّٜٚ ٢هش ٞبٛقت٘ ٚدٗس َٔ ٙأدٌ إٜكاٍ عًِ اشلٓسغ ١ايعهػ ١ٝيًعطب ٚاملػًُني..
إىل ٖؤال ٤مجٝعاً ْٗسٖ ٟصا ايهتاب ،آًَني إٔ جيسٚا ؾ ٘ٝاملتعٚ ١ايؿا٥س ،٠غاً٥ني اهلل عع ٚدٌ إٔ ٜه ٕٛخايكاً يٛدٗ٘
ايهط..ِٜ
2009 16
AT4RE انفريك انعرتي نههُذسح انعكسيح: انًمذيح انهُذسح انعكسيح :خطىج إنى األياو.
املقدمة
زٕڃ خهلل خڀُضبه خڀُلُڃ
كرُونَ}
ن أُمَّهَبتِكُمْ نَب تَعْهَمُىنَ شَيْئًب وَجَعَمَ نَكُمُ انسَّمْعَ وَانْأَبْصَبرَ وَانْأَفِْئدَةَ نَعَهَّكُمْ َتشْ ُ
{وَانهَّهُ أَ ْخرَجَكُمْ مِهْ بُطُى ِ
[خڀىمٿ ] 78 :
اذتُس هلل املبس ٨املعٝس ٜبسأ ارتًل ثِ ٜعٝس ٖٛٚ ٙأٖ ٕٛعًٚ ٘ٝي٘ املجٌ األعً ،٢ال َٜعِعُب عٓ٘ َجكاٍ شض ٍ٠يف
ايػُٛات ٚال يف األضض ٚال أقػط َٔ شيو إال بعًُ٘ يكس أسكاِٖ ٚعسِٖ عساً ٌٖ ،حتؼ َِٓٗ َٔ أسسٍ أ ٚتػُع شلِ
ضِنعاً ،خؿعت األقٛات يًطمحٔ ؾال تػُع إال ُٖػاً ٚ ..ايكالٚ ٠ايػالّ عً ٢غٝسْا ستُس ٚعً ٢آي٘ ٚقشب٘ ٚغًِ،
ٚبعس:
َٓص إٔ مت اْطالم َٛقع ايؿطٜل ايعطب ٞيًٗٓسغ ١ايعهػ ١ٝعاّ ٚ 2007حنٔ ْػع ٢ظسٍ ْٚؿاطٍ إىل إٜكاٍ عًِ
اشلٓسغ ١ايعهػ ١ٝيًعطب مبذاالت٘ ايٛاغع ١اييت ناْت سهطاً يًػطب ؾكط.
ع
ٍ يكس ناْت بساٜتٓا َتٛانعَٚ ١تعب ١دساًٚ ،خاقٚ ١إّٔ َؿطزات ٖصا ايعًِ دسٜسَٚ ٠ا ْؿط عٓ٘ َٔ نتبٍ َٛٚانٝ
بايًػ ١ايعطبٜ ١ٝهاز إٔ ٜه ٕٛؾب٘ َعسٚ ّٚال ٜؿ ٞبايػطض.
يهٔ ٖصا مل ٜكـ عجط ً٠أَاّ ععميتٓا ٚإقطاضْا يف إٜكاٍ ٖصا ايعًِ ،ؾبسأْا بتكس ِٜايسضٚؽ املهتٛبٚ ١املكٛض ٠بًػتٓا
ايعطبٚ ،١ٝقُٓا بؿطح ايهجرل َٔ أزٚات ٚبطاَر ٖصا ايعًِٚ ،قسَٓا زٚضاتٍ َتدكك ١ب٘ٚ ،ضؾعٓا َٔ غ ١ٜٛاملدلزتني يف
زتاٍ محا ١ٜايدلاَر عٔ ططٜل ايتُاضٚ ٜٔايتشسٜات اييت نٓا ْكسَٗا ْٚؿاضى األعها ٤بٗا.
مل ٜكـ طُٛسٓا عٓس ٖصا اذتس ،بٌ أقبشٓا ْٓاؾؼ ايؿطم األدٓب ١ٝيف ٖصا ايعًِ يٓهَٓ ٕٛتذني ال َػتًٗهني؛
ؾأقسضْا ايعسٜس َٔ األزٚات ٚايدلاَر اييت قُُت بأٜسٜٓا ٚعكٛيٓاْٚ ،طُح ايٚ ّٛٝنٌ ّٜٛيًُعٜس املعٜسٚ ،زَٚاً ٜتشاٚض
أع نا ٤ايؿطٜل س ٍٛأؾهاض ٚأزٚات ختسّ ٖصا ايعًِ يٝكَٛٛا بدلزتتٗا ٚتكسميٗا.
ٚيكس نإ اذتسخ األندل يف عامل اشلٓسغ ١ايعهػ ١ٝايعطب ٖٛ ٞإقساض نتابٓا ايهدِ "َسخٌ إىل اشلٓسغ ١ايعهػ"١ٝ
يطًب ٖصا ايعًِ غٛاّ٤
٠ نٗس ١ٜيف ضأؽ ايػٓ ١اشلذط 1429 ١ٜسٛت أيـ با ٤اشلٓسغ ١ايعهػٚ ،١ٝأقبح املطدع األٍٚ
أناْٛا َٔ املدلزتني أ ٚاملتدككني أ ٚغرلِٖ َٔ اشلٛا.٠
ٚايٜ ّٛٝػٛم بهِ ايؿطٜل ايعطب ٞيًٗٓسغ ١ايعهػٜٚ ١ٝػبح َعهِ يف زتاٍ أٚغع يف عامل اشلٓسغ ١ايعهػ١ٝ
عٓسَا ٜكسّ يهِ نتاب٘ ايجاْ( ٞاشلٓسغ ١ايعهػ : ١ٝخط ٠ٛإىل األَاّ) سٝح غتتعطؾ َٔ ٕٛخالٍ ٖصا اٍنتاب عً ٢بعض
2009 17
AT4RE انفريك انعرتي نههُذسح انعكسيح: انًمذيح انهُذسح انعكسيح :خطىج إنى األياو.
املؿاٖ ِٝاملتكسَ ١يف عًِ اشلٓسغ ١ايعهػ١ٝ؛ ندٛاضظَٝات ايتؿؿرلٚ ،ؾو اذتُاٜات ايؿا٥هٚ ،١حتً ٌٝايؿرلٚغاتٚ ،بطزت١
ٍ َاٚ ،تٓكٝح بطاَر ايسٚت ْت ٚادت ٌٝايجاْ َٔ ٞبطاَر ادتٛاٍٚ ،تكُ ِٝغهني
أزٚات ايؿوٚ ،نتاب ١باتـ أ ٚنٝذٔ يدلْاَر
يًباتؿاتٚ ،ايهجرل..
ٖٚا حنٔ ْتكسّ بٗصا ايهتاب غاً٥ني اهلل تعاىل إٔ ٜه ٕٛخايكاً يٛدٗ٘ ايهط ،ِٜؾإٕ ٚدست -أٜٗا ايكاض ٨ايععٜع
-ؾ ٘ٝدٗساً ؾازع يٓا بايتٛؾٝل ٚايػسازٚ ،إٕ ٚدست ظي ١قًِ ؾاؾتح شلا باب ايتذاٚظ ٚاملػؿط..٠
ؾـػاَح ٚنٔ بايػّذل أععَِ َؿهٌ ؾال بس َٔ عٞـــــــــ ـبٍ ؾإٕ جتسْ٘
ي٘ احملاغٔ قس متت غ ٣ٛخرل َطغٌ ؾُٔ شا ايصَ ٟا غا ٤قطَٔٚ ،
2009 18
AT4RE انفريك انعرتي نههُذسح انعكسيح: انًمذيح انهُذسح انعكسيح :خطىج إنى األياو.
مت ظٝٵُٳ خڀٽعدذ ڀُ٭ ٍ٥ڀځٹدَت وخڀًخَْ ؤٸ ًٝٸًَ فبٽه ڄه خؼبُووص وخڀُُٕ ؤؼىدء خڀٹُخءش وخڀع٥سُٷ؛ ڀٍخ ٸً ذبً ؤن خڀٽعدذ ٸً وُؾ
ٸځُالً ٬ه خڀعسىَر خؼب٭عدي لُػ مت خ٬عمدي ظسىَر ؤمشٿ ،ټمد مت وٜ ٫٠ىَ َڄَّصٍ إلؼدَش خالوعسدي ؤو خڀعمٍَُ ٬ځً خڀٙٽٿ خڀعدرل :
ڀځمٕدً٬ش.
والٜص ٘دڄځص.
و ټٍڀٻ مت ظ٭مً ً٬ڂ خڀعٵُٝٿ يف ز٭ ٟخألڄىَ وخڀيت -يف خ٬عٹديود -ڄه خڀىخـر ؤن ظٽىن ٬ځً خّ٤ال ٍ٪هبد؛ ڀٍخ وُـى ڄىٻ ؤوٍ
خڀٽُمي ؤن ظُـ ٫بذل خإلًٜخَ خألوپ ڄه ټعدزىد (مزخل إىل اهليزصة العكضية) ٬ىًڄد َع٭ٍَ ٬ځُٻ ٴهڃ ٍ٘ء ڄه ؤٔدُٔدض ٌٍخ خڀ٭ځڃ
وٸسٿ ُ٤ق ؤٌ ٔاخپ ،وكبه ٬ځً ؼٹص زإوٻ ٔعفً ٴًُ زٱُعٻ.
. ؤو ظٵ١ٿ زدڀًوىپ بذل خؼبٙدَټص خڀعدڀُص دلًَِ ڄه خؼب٭ځىڄدض يبٽىٻ ربمُٿ خإلًٜخَ خألوپ ڄه ٌىد ڄسدُ٘ش
وٸً وٝٝط ڄٙدَټص ڄٕعٹځص ألٔحځعٽڃ ،ڄالل٩دظٽڃ و ټٍخ خٸعُخلدظٽڃ لىپ خڀ٥س٭ص خألوذل ڄه خڀٽعدذ يبٽىٽڃ خڀًوىپ خڀُهد ڄسدُ٘ش
2009 19
AT4RE انفريك انعرتي نههُذسح انعكسيح: انًمذيح انهُذسح انعكسيح :خطىج إنى األياو.
و ػهى َفض انُهح خصصُا يشاركح يثثرح نرهمي يالزظاذكى و ذظاؤالذكى ادلخصصح
نطثؼرُا انثاَيح يٍ انكراب.
2009 20
الباب األول :أفلار وحلول متقدمة يف OllyDbg
21
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
يف ٌٍخ خڀًَْ ٔىع٭ُٲ زةٌن خهلل ٬ځً خڀَُ٥ٹص خڀيت َ٭مٿ هبد OllyDbgڀعىٹُك زُودڄؿ ڄد ،وؤَ١دً خڀَُ٥ٹص خڀيت َ ٫١هبد وٹ ٣ظىٸٳ ڄه
وى ٪خٔعؽىدء يف خڀع٭ځُمُص . Int3
CreateProcess
GetStartupInfo
ReadProcessMemory
WriteProcessMemory
WaitForDebugEvent
ContinueDebugEvent
CloseHandle
GetOpenFileNameA
ZeroMemory
GetThreadContext
SetThreadContext
DebugActiveProcess
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 22
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خِن زبُٿ ؤن ڀًَٻ ڄځٳ ظىٵٌٍُ ،ڀٽه زدڄعًخي ـبعځٳ؛ ڄؽالً jpg :ؤو زًون خڄعًخي لىت وظًَُ
ظىٵٍُي ،بٌن ڄد٬ځُٻ ٔىي ټعدزص Loaderوبمٿ ٌڀٻ خؼبځٳ هبٍي خڀًخڀص.
LPTSTR lpCommandLine ڄاُ٘ كبى و ٛڄىعهٍ زـ 0byteووبمٿ خألوخڄُ خڀيت ٔعىٵٍ ؤؼىدء ربمُٿ خؼبځٳ.
ڄاُ٘ كبى زىُص ڄه وى SECURITY_ATTRIBUTES ٪هبد ز٭ ٟوٝدج ٛخؼبځٳ خحملمٿ
LPSECURITY_ATTRIBUTESlpProcessAttributes
ڀځٍخټُش زدڀًخڀص( .ڀه كبعدـهد)
LPSECURITY_ATTRIBUTES lpThreadAttributes وٵٓ خڀٍٙء زدڀىٕسص ڀځسدَوڄعُ خڀٕدزٷ( ...ڀه كبعدـهد)
BOOL bInheritHandles ڀه كبعدـً.
ٌٍخ ٌى خڀسدَوڄعُ خؼبهڃ يف ٌٍي خڀًخڀص ،وٌى وبعىٌ ٬ځً خڀَُ٥ٹص خڀيت ربر ؤن وبمٿ هبد خؼبځٳ يف
خڀٍخټُش ،ؤىٍټُ ز٭ ٟخألڄؽځص.
: CREATE_SUSPENDEDربمُٿ خؼبځٳ ڀځٍخټُش ،وو٠٭ً يف لدڀص خوع٩دَ ٸسٿ
ظىٵٍُ ؤٌ ظ٭ځُمُص ڄه ؤوپ ٸٕڃ يف خڀربودڄؿ خحملمٿ.
:DEBUG_PROCESSربمُٿ خؼبځٳ ڄه ؤـٿ خڀعىٹُك ،ؤُعڃ ظىٹُك ؤٌ ظىخز ٫ؽبٍخ
خڀربودڄؿ ؤَ١دً.
DWORD dwCreationFlags : DEBUG_ONLY_THIS_PROCESSزب ُٛٝخڀطوٹُك ڄه ؤـٿ خڀـ
Processخألٔدٍٔ يف خڀربودڄؿ.
ؤڄد بن ټىط ظًَُ ؤن َىٵٍ خڀربودڄؿ ڄسدُ٘ش ز٭ً ربمُځً ،ٴُٽٵٍ ظٝٵًن ٌٍخ خؼباُ٘ جب٭ځً NULL
.
يف ٌٍخ خڀًَْ ٔىمعدؾ خعبم ٫زٌن ٌدظٌن خػبدُٜعٌن خألوًنظٌن ،ؤىف٭ٿ ٌٍخ خڀسدَوڄعُ :
DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS
LPVOID lpEnvironment ڀه كبعدـً.
LPCTSTR lpCurrentDirectory ڀه كبعدـً.
ڄاُ٘ كبى خڀسىُص STARTUPINFOوزىُعهد ټدڀعدرل :
typedef struct _STARTUPINFO { // si
;DWORD cb
;LPTSTR lpReserved
;LPTSTR lpDesktop
;LPTSTR lpTitle
;DWORD dwX
;DWORD dwY
LPSTARTUPINFO lpStartupInfo ;DWORD dwXSize
;DWORD dwYSize
;DWORD dwXCountChars
;DWORD dwYCountChars
;DWORD dwFillAttribute
;DWORD dwFlags
;WORD wShowWindow
;WORD cbReserved2
;LPBYTE lpReserved2
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 23
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
;HANDLE hStdInput
;HANDLE hStdOutput
;HANDLE hStdError
;} STARTUPINFO, *LPSTARTUPINFO
GetStartupInfo .1.2
ReadProcessMemory .1.3
(BOOL ReadProcessMemory . يخڀص ڀٹُخءش زُدودض ڄه ٬ىىخن ٠مه خؼبځٳ خحملمٿ يف خڀٍخټُش
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 24
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
WriteProcessMemory .1.4
. يخڀص ڀٽعدزص زُدودض يف ٬ىىخن ٠مه خؼبځٳ خحملمٿ يف خڀٍخټُش
(BOOL WriteProcessMemory
ظُـ TRUE ٫بن قبمط يف خڀعىٵٍُ.
ڄٹس ٟخڀربودڄؿ خحملمٿ ڀځٍخټُش ،وٌى ٠مه خڀسىُص
HANDLE hProcess ز٭ً ظىٵٍُ خڀًخڀص PROCESS_INFORMATION
. CreateProcess
LPCVOID lpBaseAddress خڀ٭ىىخن خڀٌٍ ظًَُ خڀٷَخءش ڄىً ،وٌى ڄه وى. VA ٪
LPVOID lpBuffer خؼبعٱًن خڀٌٍ وبعىٌ خڀسُدودض خڀيت ظًَُ ټعدزعهد يف خڀ٭ىىخن.
ټڃ ً٬ي خڀسُدودض خڀيت ظًَُ ټعدزعهد يف خڀ٭ىىخن خڀٌٍ ؤُ٥٬ط
DWORD nSize
خڀًخڀص؟
.يف زٞ ٫ خڀًخڀص ظ ٫١ٴًُ ً٬ي خڀسدَعدض خڀيت ټعسط يف خڀ٭ىىخن
خؼبُخض َٽىن خغبفڃ خڀٌٍ ؤُ٥٬ىد خڀًخڀص ؤټرب ڄه ً٬ي خڀسدَعدض
LPDWORD lpNumberOfBytesWritten خؼبمٽه ټعدزعهد يف خڀ٭ىىخن ،وزٍخڀٻ ڀه ظٽعر خغبفڃ زإټمځً .
.يف وٌٍخ خڀ٭ىىخن وبعىٌ ً٬ي خڀسدَعدض خڀيت ټعسط يف خڀ٭ىىخن
خڀٱدڀر ڀه كبعدـًٔ ،ىف٭ځً NULL
;) خوعهط
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 25
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
CloseHandle .1.5
يخڀص إلٰالٶ ڄٹس ٟ؛ ڄؽالً ٌ hProcessى ڄٹس ،ٟڀٍڀٻ َځّڄىد بٰالٸً .
(BOOL CloseHandle
وٌٍ ظُـ TRUE ٫بٌخ قبمط
HANDLE hObject خؼبٹس ٟخڀٌٍ ظًَُ بٰالٸً.
;) خوعهط
ZeroMemory .1.6
(VOID ZeroMemory يخڀص ڀعٝٵًن ڄعٱًن.
PVOID Destination ٬ىىخن خؼبعٱًن خڀٌٍ ظًَُ ظٝٵًني.
DWORD Length لفڃ خؼبعٱًن خڀٌٍ ظًَُ ظٝٵًني.
;) خوعهط
) : GetThreadContext
يخڀص ڄعڃَّش وسبٽىىد ڄه ـځر -ظٹَُسدً -صبُ ٫خؼب٭ځىڄدض لىپ خپـ Contextڀځربودڄؿ خحملمٿ
BOOL
٬ځٹص
يف خڀٍخټُش .ووٹ ًٝزـ Contextزىُص ربعىٌ ټٿ ڄه خؼبٕفالض وخڀُخَدض Flagsخؼبط
(GetThreadContext
زدؼبځٳ خحملمٿ يف خڀٍخټُش .
ٌٍي خڀًخڀص ظع٭دڄٿ ڄ ٫خڀـ Threadsڀٍڀٻ وـر ب٥٬دئٌد ڄٹس ٟخڀـ Threadوٌى
HANDLE hThread
٠مه خڀسىُص PROCESS_INFORMATIONز٭ً ظىٵٍُ خڀًخڀص . CreateProcess
ڄاُ٘ كبى خڀسىُص CONTEXTوٌٍ ټدڀعدرل :
{ typedef struct _CONTEXT
DWORD ;ContextFlags
DWORD ;Dr0
DWORD ;Dr1
DWORD ;Dr2
DWORD ;Dr3
LPCONTEXT lpContext
DWORD ;Dr6
DWORD ;Dr7
;FLOATING_SAVE_AREA FloatSave
DWORD ;SegGs
DWORD ;SegFs
DWORD ;SegEs
DWORD ;SegDs
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 26
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE
ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENS
ION];
} CONTEXT;
SetThreadContext .1.7
BOOL SetThreadContext( .يخڀص ڀعٯٌَُ ڄ٭ځىڄدض ًٔن خڀربودڄؿ يف خڀٍخټُش
HANDLE hThread .ًُ خڀٌٍ ظًَُ خڀعمٽڃ ٴThread خڀـٟڄٹس
CONST CONTEXT *lpContext .ڄاُ٘ كبى خڀسىُص
); .خوعهط
ً ڄؽ.. Flag ص ؤال َٽٵٍ ٔىي ظٱًُن ٸُمص خپـ٤ُوٙ ڀعفدوِ ٸٵّش ڄه ڄ: ًيثال
؟JNZ وJZ زدڀىٕسص ڀځٹٵّظٌنZF ال
ديش٬ مث بContext َٽٵٍ ظٱًُن خڀسىُصFlag بٌن ڀعٱًُن ٌٍي خڀـ، ڂ٫س٭ًد و٤ ؟Context مه خڀسىُص٠ ً ظىـFlag وٌٿ ٌٍي خڀـ
. ڀعىٵٍُ ڄٽدن آوُ ڄسدُ٘شEip ًد ظٱًُن خؼبٕفٿ١َ يبٽىٻ ؤ. Thread س٭هد يف٤
GetOpenFileName .1.8
BOOL GetOpenFileName( . الوعُدَ ڄځٳ ڄدOpenDialog يخڀص ڀٵعك
: وٌٍ ټدڀعدرلOPENFILENAME ڄاُ٘ خڀسىُص
typedef struct tagOFN { // ofn
DWORD lStructSize;
LPOPENFILENAME lpofn
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME;
دء٬ً خؼبځٵدض خڀيت ظًَُ ٸسٿ خٔع٪وهبر ظٱًُنٌد لٕر َٰسعٻ ألوىخ
.خڀًخڀص
); .خوعهط
WaitForDebugEvent .1.9
ىپ لًغ ڄه خأللًخغ خؼبىـىيش يف خڀسىُصٝدَ ل٩يخڀص خوع
BOOL WaitForDebugEvent(
. DEBUG_EVENT
LPDEBUG_EVENT lpDebugEvent .ُٿُٝلً زدڀعٵٙ ؤىDEBUG_EVENT ڄاُ٘ خڀسىُص
ُ؟٩ټڃ ڄه خڀىٸط ظًَُ ڀځًخڀص ؤن ظىع
.1.9.1ايبٓDEBUG_EVENT ١ٝ
ٌٍي خپزىُص ربعىٌ ٬ځً صبُ ٫خأللًخغ خؼبمٽه ؤن ظُ٥ؤ يف زُودؾبىد خحملمٿ خذل خڀٍخټُش ،وزىُعهد ټدڀعدرل:
{ typedef struct _DEBUG_EVENT زىُص ربعىٌ صبُ ٫خأللًخغ خؼبمٽىص ؤؼىدء ظىٹُكخڀربودڄؿ خحملمٿ يف خڀٍخټُش.
وبعىٌ ټىي خغبًغ خڀٌٍ وٸ ٫ؤؼىدء ظىٹُك زُودڄؿ ،ويبٽه ؤن َٽىن خڀٹُڃ خڀعدڀُص:
: EXCEPTION_DEBUG_EVENT
ٔ . uىعُ٥ٶ ؽبد لًوغ خٔعؽىدء يف خڀربودڄؿ ،وؤ٘ٽدڀً ټؽًنش ٠مه خڀسىُص
زدڀعٵُٝٿ ،وزدڀ١س ٣يف . u.Exception
: CREATE_PROCESS_DEBUG_EVENT
خڀربودڄؿ مت ربمُځً ڄه ؤـٿ خڀعىٹُك .ظُـ ٫خؼب٭ځىڄدض يف خڀسىُص . uزدڀ١س ٣يف
. u.CreateProcessInfo
: CREATE_THREAD_DEBUG_EVENT
خڀربودڄؿ ٸًُ خڀعىٹُك ،بوٙدء Threadـًًَش.
ظُـ ٫ڄ٭ځىڄدهتد يف خڀسىُص . u.CreateThread . u
: EXIT_THREAD_DEBUG_EVENT
ٌىدٺ Threadؤٰځٹط يف زُودڄؿ ٸًُ خڀعىٹُك .وظُـ ٫ڄ٭ځىڄدهتد يف خڀسىُص . u
زدڀ١س. u.ExitThread ٣
: EXIT_PROCESS_DEBUG_EVENT
;DWORD dwDebugEventCode خڀربودڄؿ ٸًُ خڀعىٹُك ٸً مت بٰالٸً ،وظُـ ٫ڄ٭ځىڄدض َُ٤ٹص خإلٰالٶ يف خپزىُص . u
زدڀ١س. u.ExitProcess ٣
: LOAD_DLL_DEBUG_EVENT
خڀٍخټُش وڄ٭ځىڂخهتد
. خڀربودڄؿ ٸًُ خڀعىٹُك ٸً ضبٿ ڄٽعسص خذل
٠مه خڀسىُص . uزدڀ١س. u.LoadDll ٣
: UNLOAD_DLL_DEBUG_EVENT
خڀربودڄؿ ٸًُ خڀعىٹُك ٸً لَُ ڄٽعسص ،وض وـً ڄ٭ځىڄدهتد يف خڀسىُص . uزدڀ١س٣
u.UnloadDll
: OUTPUT_DEBUG_STRING_EVENT
: خڀربودڄؿ ٸًُ خڀعىٹُك ٸً ظسديپ ڄ٭ځىڄدض ڄ ٫خؼبىٹك ،ويبٽه ٌڀٻ زدڀًخڀص
. uزدڀ١س٣ . DebugOutputStringظُـ ٫خؼب٭ځىڄدض يف خڀسىُص
. u.DebugString
: RIP_EVENT
ظٹَُُ لىپ ؤو٥دء خڀى٩دڂ ؤؼىدء خڀعىٹُك ،وَعڃ بَـد ٪خڀعٹَُُ يف خڀسىُص . uزدڀ١س٣
يف u.RipInfo :
;DWORD dwProcessId ظځٹدجٍ
خپـ PIDخػبد ٚزدڀربودڄؿ ٸًُ خڀعىٹُك ربٝٿ ٬ځًُ خڀًخڀص زٙٽٿ .
خڀـ IDڀځـ Threadخألٔدٍٔ خػبد ٚزدڀربودڄؿ ٸًُ خڀعىٹُك ربٝٿ ٬ځًُ خڀًخڀص
;DWORD dwThreadId
زٙٽٿ ظځٹدجٍ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 29
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خڀسىُص ؤو خڀعُټُسص . uوٌٍ زىُدض يخوٿ ٌٍي خڀسىُص خألٔدُٔص ٔ :ىُٙق ټٿ زىُص
{ union
٬ځً لًخ وزدڀعٵُٝٿ.
;EXCEPTION_DEBUG_INFO Exception ؤوىخ ٪وڄ٭ځىڄدض خالٔعؽىدءخض خؼبمٽىص يف خڀربودڄؿ
;CREATE_THREAD_DEBUG_INFO CreateThread ڄ٭ځىڄدض خڀـ Threadsخڀيت َىٙحهد خڀربودڄؿ ٸًُ خڀعىٹُك.
CREATE_PROCESS_DEBUG_INFO
خڀعىٹُك
. ڄ٭ځىڄدض خڀربودڄؿ خحملمٿ يف خڀٍخټُش ز٭ً ربمُځً ڄه ؤـٿ
;CreateProcessInfo
EXIT_THREAD_DEBUG_INFO
ڄ٭ځىڄدض خڀـ Threadsخڀيت ؤٰځٹهد خڀربودڄؿ ٸًُ خڀعىٹُك.
;ExitThread
EXIT_PROCESS_DEBUG_INFO
ڄ٭ځىڄدض ٘ٽٿ خػبُوؾ ڄه زُودڄؿ ٸًُ خڀعىٹُك.
;ExitProcess
;LOAD_DLL_DEBUG_INFO LoadDll خڀعىٹُك
. ڄ٭ځىڄدض لىپ خؼبٽعسص خڀيت ضبځهد زُودڄؿ ٸًُ
UNLOAD_DLL_DEBUG_INFO
ڄ٭ځىڄدض خؼبٽعسص خڀيت لٌَُد زُودڄؿ ٸًُ خڀعىٹُك.
;UnloadDll
OUTPUT_DEBUG_STRING_INFO
ڄ٭ځىڄدض لىپ يخڀص ( . DebugOutPutStringڀه وعُ٥ٶ ؽبد)
;DebugString
;RIP_INFO RipInfo ڄ٭ځىڄدض لىپ ؤو٥دء خڀى٩دڂ ؤؼىدء خڀعىٹُك( .ڀه وعُ٥ٶ ؽبد)
;} u
;} DEBUG_EVENT
.1.9.2ايبٓu ١ٝ
ٌٍي خڀسىُص ٌٍ خڀٽٿ يف خڀٽٿ ڀځمٝىپ ٬ځً ظٵُٝالض خأللًخغ خڀيت ربٝٿ ؤؼىدء ظىٹُكزُودڄؿ ،ؤىعُ٥ٶ ؽبد زدڀعٵُٝٿ بن ٘دء خهلل .
EXCEPTION_DEBUG_INFO
زىُص ربعىٌ ظٵُٝٿ لىپ خالٔعؽىدء خڀٌٍ لًغ يف خڀربودڄؿ ،وٌٍ ټدڀعدرل :
typedef struct
{ _EXCEPTION_DEBUG_INFO
خؼبمٽىص ؤَه وټُٳ وٸ٭ط؟ ..زىُعهد ټدڀعدرل :
. زىُص ربعىٌ ؤوىخ ٪خالٔعؽىدءخض
{ typedef struct _EXCEPTION_RECORD
;DWORD ExceptionCode
;DWORD ExceptionFlags
;struct _EXCEPTION_RECORD *ExceptionRecord
EXCEPTION_RECORD
;PVOID ExceptionAddress
;ExceptionRecord
;DWORD NumberParameters
DWORD
;]ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS
;} EXCEPTION_RECORD
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 30
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
: لُػ
: ExceptionCode
. ٣دج٭ص ڄىهد ٴٹُٙق خڀٙ خالٔعؽىدء خڀٌٍ لًغ ؤى٪وى
EXCEPTION_ACCESS_VIOLATION
ىىخن ٌٌ ضبدَص ڄ٭ُىص؛ ڄؽالً وًَُ خڀٽعدزص يف٬ ىپ خذلٜخٔعؽىدء ؤؼىدء ؿبدوڀص زُودڄؿ ٸًُ خڀعىٹُك خڀى
٣ٴٹ
. ڀځٽعدزصٚىىخن ود٬ ٍُ ؤو ظىٵ،٣ ڀځٹُخءش ٴٹٛٝىىخن ـب٬
EXCEPTION_BREAKPOINT
وٌٍ يف خڀٱدڀر خڀع٭ځُمُص،٭ص٤ ڄٹد٪ص ظىٸٳ ڄه وى٥ىىخن وبعىٌ وٹ٬ ٍُلًوغ خٔعؽىدء ؤؼىدء ظىٵ
OllyDbg وٌى وٵًٕ ڄد ظ٭عمًي،ص ظىٸٳ٥ وٹ٪ ٌٍي خألوًنش ربًغ خٔعؽىدء ڄه وى. Int3
. ص ظىٸٳ٥ وٹ٫٠ڀى
EXCEPTION_FLT_DIVIDE_BY_ZERO
. 0ًځ٬ مځُص ٸٕمص٬ ِودء ؤؼىدء ؿبدوڀص زُودڄؿ ٸًُ خڀعىٹُك بقبد
خٔعػ
EXCEPTION_SINGLE_STEP
ويبٽىىد، ظ٭عمً ٌٍخ خالٔعؽىدءOllyDbg يفTracing ُصٜ؛ ڄؽٿ ود٫خٔعؽىدء وبًغ ؤؼىدء خڀععس
ًَُظ
. ًي خڀع٭ځُمدض خڀيت وٵٍض يف خڀربودڄؿ ڄه ٴعمً لىت بٰالٸً ؤو ټمد٬ ڄه ڄ٭ُٴص
EXCEPTION_STACK_OVERFLOW
. Stack OverFlowىپٝ خٔعؽىدء ؤؼىدء ل،مص ڄه خظبهد٠وخ
EXCEPTION_ACCESS_VIOLATION
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
EXCEPTION_BREAKPOINT
EXCEPTION_DATATYPE_MISALIGNMENT
EXCEPTION_FLT_DENORMAL_OPERAND
EXCEPTION_FLT_DIVIDE_BY_ZERO
EXCEPTION_FLT_INEXACT_RESULT
EXCEPTION_FLT_INVALID_OPERATION
EXCEPTION_FLT_OVERFLOW
EXCEPTION_FLT_STACK_CHECK
EXCEPTION_FLT_UNDERFLOW
EXCEPTION_ILLEGAL_INSTRUCTION
EXCEPTION_IN_PAGE_ERROR
EXCEPTION_INT_DIVIDE_BY_ZERO
EXCEPTION_INT_OVERFLOW
EXCEPTION_INVALID_DISPOSITION
EXCEPTION_NONCONTINUABLE_EXCEPTION
EXCEPTION_PRIV_INSTRUCTION
EXCEPTION_SINGLE_STEP
EXCEPTION_STACK_OVERFLOW
: ExceptionAddress
.ىًي خٔعؽىدء٬ خڀ٭ىىخن خڀٌٍ لًغ
CREATE_THREAD_DEBUG_INFO
: وٌٍ ټدڀعدرل،إٌد زُودڄؿ ٸًُ خڀعىٹُكٙ خڀيت ؤوThread ربعىٌ ڄ٭ٿوڄدض خڀـ
CREATE_PROCESS_DEBUG_INFO
typedef struct _CREATE_PROCESS_DEBUG_INFO
.دءي ڄه ؤـٿ خڀعىٹُكٙ ؤؼىدء بوProcessځً ڄ٭ځىڄدض خڀـ٬ ٌزىُص ربعى
{
HANDLE hFile; .ځرٝ خڀُٚځً ڄٕعىي خڀٹ٬ خؼبځٳٟڄٹس
HANDLE hProcess; Process خڀـٟڄٹس
HANDLE hThread; Process خألٔدٍٔ يف خڀـThread خڀـٟڄٹس
LPVOID lpBaseOfImage; .) PE Format يَوْ خڀـ٫ (َخـ.مص٠ وخImageBase
DWORD dwDebugInfoFileOffset; .ًڀه كبعدـ
DWORD nDebugInfoSize; .ًڀه كبعدـ
LPVOID lpThreadLocalBase; .ًڀه كبعدـ
LPTHREAD_START_ROUTINE lpStartAddress; . EP= ImageBase + OEP ص خڀًوىپ ڀربودڄؿ ٸًُ خڀعىٹُك٥وٹ
LPVOID lpImageName; . ASCII ڄٕدَ خؼبځٳ ٸًُ خڀعىٹُك
WORD fUnicode; . Unicode ڄٕدَ خؼبځٳ
} CREATE_PROCESS_DEBUG_INFO;
EXIT_THREAD_DEBUG_EVEN
typedef struct _EXIT_THREAD_DEBUG_INFO { Thread لدڀص بٰالٶ خڀـ
DWORD dwExitCode; . 0ٌٽٿ ٔځُڃ ظٽىن ٌٍي خڀٹُمص ظٕدوٙيف لدڀص قبدق خإلٰالٶ ز
} EXIT_THREAD_DEBUG_INFO;
EXIT_PROCESS_DEBUG_EVEN
typedef struct _EXIT_PROCESS_DEBUG_INFO { .َُٹص خػبُوؾ ڄه خڀعىٹُك٤ ٍ٥ظ٭
DWORD dwExitCode; .ټىي لدڀص خػبُوؾ ڄه خڀعىٹُك
} EXIT_PROCESS_DEBUG_INFO;
LOAD_DLL_DEBUG_INFO
typedef struct _LOAD_DLL_DEBUG_INFO { .زىُص ربعىٌ ڄ٭ځىڄدض خؼبٽعسص خڀيت ضبځهد خڀربودڄؿ ؤؼىدء خڀعىٹُك
HANDLE hFile; .هد١ڄٹس
LPVOID lpBaseOfDll; . ڀځمٽعسصImageBase خڀـ
DWORD dwDebugInfoFileOffset; .ًڀه كبعدـ
DWORD nDebugInfoSize; .ًال كبعدـ
LPVOID lpImageName; .ڄٕدَ خؼبٽعسص وخظبهد
WORD fUnicode; . Unicode ڄٕدَ خؼبٽعسص وخظبهد
} LOAD_DLL_DEBUG_INFO;
UNLOAD_DLL_DEBUG_EVEN
typedef struct _UNLOAD_DLL_DEBUG_INFO { .ځً ڄ٭ځىڄدض خؼبٽعسص خحملَُش ؤؼىدء ظىٹُكخڀربودڄؿ٬ ٌزىُص ربعى
LPVOID lpBaseOfDll; . ImageBase ىىخهند يف خڀٍخټُش٬
} UNLOAD_DLL_DEBUG_INFO;
ContinueDebugEvent .1.10
...ً ڀځربودڄؿ ؤٌ ظعس٭Trace ٌٍي خڀًخڀص إلسبدڂ ظىٹُك خڀربودڄؿ وټإوىد و٭مٿ
DebugActiveProcess .1.11
ټمد و٭ځڃ ؤوً يف ٌ OllyDbgىدڀٻ ودُٜص ٬مٿ Attachڀربودڄؿ ،وٌٍ ظ٭ين ظىٹُك زُودڄؿ ؿبمٿ ؤٜالً ڀځٍخټُش .ڀ٭مٿ ٌڀٻ كبعدؾ
ؽبٍي خڀًخڀص . DebugActiveProcess
ڀألڄؽځص
. هبٍخ وٽىن ٸً ؤهنُىد ٴٹُش ُ٘ق خڀًوخپ ،ؤىمُ ڀځٵٹُش خڀعدڀُص خؼبىٝٝص
يف ٌٍي خڀٵٹُش ٔىٽعر وىخَِڄُص وټىيخً زُٕ٥دً ڀـ Debuggerزُٕ ،٣وٌى ُٔعٽَُ يف ټٿ خڀـ Debbugersخڀيت ٔىُ٥ق،
وخڀيت ظىـً خِن.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 34
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤوالً ظ٭َُٳ ڄعٱًن ڄه وى ٪خڀسىُص خڀيت ربعدؾ ٌٍي خڀًخڀص زدڀٙٽٿ خڀعدرل:
;OPENFILENAME ofn
مث ظٱًُن وٝدج ٛخڀسىُص لٕر ٘ٽٿ خؼبځٵدض خڀيت وًَُ ظىٹُمهد ،وٌٍ ٰدڀسدً ڄه ٌُحص . exeمث ٔعمعدؾ ٌٍي خؼبعٱًن خڀٌٍ ٔىمٵ ٧ٴًُ
ڄٕدَ خڀربودڄؿ خؼبىعدَ.
ؤؼىدء ظ٭َُٳ خڀسىُص يف ز٭ ٟخجملم٭دض ويف خڀٱدڀر ڀه َٽىن ڄٽدهند ٴدَٰدً ،وٌٍخ ُٔاؼُ ٬ځً خڀًخڀص ،ڀٍڀٻ وـر ظٝٵًن خڀسىُص زدڀًخڀص
RtlZeroMemoryوټٍڀٻ خألڄُ ڀٽٿ زىُص ُ٬ٴىدٌد ؤو ڄعٱًن ټسًن.
ټمد ٸځىد ٴدڀسىُص ربعدؾ ؼبعٱًن ربٵ ٧ٴًُ خؼبٕدَ ؤى٭ُٴً ټدڀعدرل :
;]char FileTarget[256
;))ZeroMemory (&ofn,sizeof(ofn
;))ZeroMemory (FileTarget,sizeof(FileTarget
;)ofn.lStructSize = sizeof(ofn
;"ofn.lpstrFilter = "Win32\0*.exe
;ofn.lpstrFile = FileTarget
;ofn.nMaxFile = 256
;ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST
))if(GetOpenFileNameA(&ofn
{
// انكىد انزي َشيذ تُفيزِ إٌ َجحت انذانة
}
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 35
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
هبر ربمُځً خذل خڀٍخټُش خبدُٜص خڀعىٹُك ،وٌڀٻ ڄد ظٵ٭ځً خڀًخڀصٔ . CreateProcessىٕعٱځهد ټدڀعدرل :
ڀٽه ٸسٿ ٌڀٻ ؤظٍټُ خڀًخڀص GetStartupInfo؟ ُٔٽىن خڀىدظؿ ٌٽٍخ :
;STARTUPINFO sinfo
;PROCESS_INFORMATION pinfo
; BOOL Result=FALSE
;))ZeroMemory(&pinfo,sizeof(pinfo
;))ZeroMemory(&sinfo,sizeof(sinfo
ؼبدٌخ ٸمط زع٭ُٲ خؼبعٱًن Result؟ ظٍټُ ؤن خڀًخڀص CreateProcessظُـ ٫ٸُمص . BOOL
;)GetStartupInfo(&sinfo
Result=CreateProcess(FileTarget,0,0,0,0,DEBUG_PROCESS+
;)DEBUG_ONLY_THIS_PROCESS,0,0,&sinfo,&pinfo
ٌد ٸً ؤٜسك زُودؾبىد ڄعىٸٳ يف خڀٍخټُش .ڄد خػب٥ىش خڀعدڀُص ؟ ظدز... ٫
}
ؤٌ ؤوً بٌخ قبك يف ربمُٿ خڀربودڄؿ ڀځٍخټُش ٴًُٕوٿ خغبځٹص .وڀٽه ڄىت ىبُؾ ڄه خغبځٹص ؟ ٔى٭ُٲ خعبىخذ ٸَُسدً.
ڄدٌخ َ٭ً ؤن يوٿ خغبځٹص؟ ټُٳ ٌٍ لدڀص خڀربودڄؿ ؟ ؤټًُ ٌى ڄعىٸٳ !! ڀٽه ظىٸٳ ڄه خڀًخڀص CreateProcessڀٍڀٻ وـر
بيودڀً حل ڀٹص خڀعىٹُك وٌڀٻ زدڀًخڀص WaitForDebugEventو٩ه ؤوٻ ظعٍټٌُد ـًُخً؟
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 36
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
DEBUG_EVENT DebugEvent;
يف خؼبعٱًن خڀٹُڃ خؼبمٽىص٫؟ َخـ َعڃ ٌڀٻ ؤظ٭ُٲ ټُٳ، خأللًخغ خڀيت ربًغ يف خڀربودڄؿ٫ُهبر ڄُخٸسص صب
dwDebugEventCode
ٌ مث بټمدپ خڀعىٹُك يف لدڀص دل وبًغ ؤ. ؽبٍخ خؼبعٱًن لٕر خڀٹُڃ خؼبمٽىص ڀً ووُخٸر خأللًخغSwitch Case وڀٍڀٻ ٔىٹىڂ ز٭مٿ
.ً َخـ٭هد ـًُخContinueDebugEvent : زدڀًخپ
وٌڀٻ ش،لًغ ڄه خأللًخغ خؼبمٽىص
ContinueDebugEvent(DebugEvent.dwProcessId,
DebugEvent.dwThreadId,DBG_EXCEPTION_NOT_HANDLED);
break;
case EXCEPTION_DEBUG_EVENT:
ContinueDebugEvent( DebugEvent.dwProcessId,
DebugEvent.dwThreadId,
DBG_CONTINUE);
break;
case CREATE_THREAD_DEBUG_EVENT:
break;
case EXIT_PROCESS_DEBUG_EVENT:
; Result = FALSE
;break
}
Result=ContinueDebugEvent( DebugEvent.dwProcessId,
DebugEvent.dwThreadId,
;)DBG_EXCEPTION_NOT_HANDLED
}
;)CloseHandle(pinfo.hProcess
;)CloseHandle(pinfo.hThread
;)ExitProcess(0
وىٹك
ال وىًٕ بٰالٶ خؼبىٹك وبٰالٶ خؼبٹدز ٟز٭ً خػبُوؾ ڄه خغبځٹص ،وؤن ُ٘ ٢خػبُوؾ ڄه خغبځٹص ٌى بٰالٶ خڀربودڄؿ خڀٌٍ .
.3ثايجاً :نٝـٚ ١ٜنع ْكط ٠تٛقـ ْٛ َٔ BPع اغتجٓا ٤يف ايتعً int3 ١ُٝٝ؟
ٌٍي ٌٍ خڀٵٹُش خألٌڃ يف خڀًَْ ،ؤىٹىڂ زعٹُٕمهد بذل ٸٕمٌن ؤٔدٌُٔن ونبد:
)2ظعس ٫خڀربودڄؿ ڀځىٜىپ خذل وٹ٥ص خڀعىٸٳ وـځر ڄ٭ځىڄدض صبُ ٫خؼبٕفالض.
ټُٵٍ ـ٭ٿ زُودڄؿ ڄد يف لځٹص خڀعىٹُكٔ ،ىمُ ڀځٵٹُش خألټؽُ ظٙىَٹدً ،وٌٍ َُ٤ٹص و ٫٠وٹ٥ص ظىٸٳ ټمد ظٵ٭ٿ يف
وخِن وز٭ً ؤن ُ٬ٴىد ش
OllyDbgسبدڄد ڀى ٫٠وٹ٥ص ظىٸٳ زـ ). (F2
ټمد و٭ځڃ ٴةن خڀع٭ځُمُص int3ربًغ خٔعؽىدءً يف خؼب٭دجل ،ودبد ؤن لځٹص خڀعىٹُك ظعُك ڀىد خڀعىٸٳ ٬ىً خالٔعؽىدءخض ،ٴسسٕد٤ص ڀى ٫٠وٹ٥ص
ظىٸٳ ٬ىً ٬ىىخن ڄ٭ٌن َٽٵٍ ؤن قب٭ٿ ٌڀٻ خڀ٭ىىخن َىٵٍ خڀع٭ځُمُص . Int3
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 38
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
(. )0CCh
ڀٍڀٻ ٔىٕع٭مٿ خڀًخڀص WriteProcessMemoryڀٽعدزص خڀع٭ځُمُص ٬ 0xCCىً خڀ٭ىىخن خؼبُخي خڀعىٸٳ ٬ىًي ،ڀٽه ٸسٿ و ٫٠وٹ٥ص
ڀځًخپ. ReadProcessMemory :
ظىٸٳ هبر ؤن كبٵ ٧خڀع٭ځُمُص خألٜځُص ڀٽٍ وُـ ٫خڀعىٵٍُ ڀځربودڄؿ ،ؤىمعدؾ ؽبٍخ خڀٱُ ٞش
)void Set_int3_BP(HANDLE hProcess,void* Address,char *OriginalOP
{
;char int3_OP=0xCC
;)ReadProcessMemory(hProcess,Address,OriginalOP,1,0
;)WriteProcessMemory(hProcess,Address,&int3_OP,1,0
}
ټمد ظُي ٴٹً ٸمىد زع٭َُٳ يخڀص زؽالؼص زدَوڄعُخض ٌڃ ٬ځً خڀعىخرل :
خ ؤوٸٳ خڀربودڄؿ ٬ىً خغبًغ EIP = 0x004010E5وخؼبىٹك خڀٌٍ ټعنب بٌن خالٔعؽىدء لٝٿ خِن و
.EXCEPTION_DEBUG_EVENTخِن ټُٳ و٭ُٲ ؤن خالٔعؽىدء لٝٿ يف ٌٍخ خڀ٭ىىخن زدڀ١س٣؟ وټُٳ وَّٿ وٹ٥ص خڀعىٸٳ؟ ڀٵ٭ٿ
ٌڀٻ ڄد ٬ځُىد ٔىي خظسد ٪خڀَُ٥ٹص خڀعدڀُص :
ؤوالُ هبر ؤن لبعرب خالٔعؽىدء ڀى٭ُٲ ؤوً ڄه وى . EXCEPTION_BREAKPOINT ٪بٌخ ټدن ټٍڀٻ وٹىڂ جبځر خڀـ
Contextڀځربودڄؿ ٸًُ خڀعىٹُك زدڀًخڀص GetThreadContextز٭ً ؤن قب٭ٿ ContextFlags=CONTEXT_FULL
عبځر خڀسىُص زإټمځهد .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 39
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
مث ز٭ً ٌڀٻ وٹدَن خڀـ EIPڄه خڀـ Contextبٌخ ټدن ٌى وٵًٕ خڀ٭ىىخن خڀٌٍ وًَُ خڀعىٸٳ ٬ىًي .يف لدڀعىد ٌى
0x004010E5ظٍټُ ؤوً ٸً ؤ٠ٵىد 1ڀځ٭ىىخن ألن خڀع٭ځُمُص وٵٍض.
ٌدٌى خِن خڀربودڄؿ ڄعىٸٳ سبدڄدً ٬ىً خڀ٭ىىخن خڀٌٍ وًَُ ،خِن ٔىٹىڂ زةِخڀص وٹ٥ص خڀعىٸٳ ،وٌڀٻ ذټعدزص يخڀص زُٕ٥ص ظٹىڂ زةِخڀعهد ،وٌٍ
وخ٠مص :
*void Remove_int3_BP(CONTEXT *cntxt,HANDLE hThread,HANDLE hProcess,void
)Address,char OriginalOP
{
;)WriteProcessMemory(hProcess,Address,&OriginalOP,1,0
;cntxt->ContextFlags=CONTEXT_FULL
;)GetThreadContext(hThread,cntxt
;cntxt->Eip--
;)SetThreadContext(hThread,cntxt
}
ٔىى٠ك ټُٳ ظ٭مٿ ٌٍي خڀًخڀص؟ يف خألوپ ظٹىڂ زةَـد ٪خڀع٭ځُمُص خألٜځُص خڀيت ًٰنودٌد ذـ int3مث ظٹىڂ جبځر خڀـ Contextخغبدرل
ڀځربودڄؿ .ظٍټُ ؤوىد وٹٳ ٬ىً ٬ىىخن ًََّ زـ ٬ 1ه خڀ٭ىىخن خڀٌٍ ظىٸٵىد ٬ىًي ،ڀٍڀٻ وـر ؤن وىٹ ٛخڀـ EIPزىخلً ڀٽٍ و٭ىي
ڀځع٭ځُمص خألٜځُص ،مث وُـ ٫خڀعمٽڃ ڀځربودڄؿ زدڀًخڀص. SetThreadContext
Result=CreateProcess( FileTarget,
0,0,0,0,
DEBUG_PROCESS+ DEBUG_ONLY_THIS_PROCESS,
0,0,
&sinfo,
;)&pinfo
;)Set_int3_BP(pinfo.hProcess,(void *)0x004010E4,&OriginalOP
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 40
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
case EXCEPTION_DEBUG_EVENT:
)if(DebugEvent.u.Exception.ExceptionRecord.ExceptionCode==EXCEPTION_BREAKPOINT
{
;cntxt.ContextFlags=CONTEXT_FULL
;)GetThreadContext(pinfo.hThread,&cntxt
)if(cntxt.Eip==0x004010E5
{
;)MessageBox(0,"We Are on the BP","On BP",MB_OK
Remove_int3_BP( &cntxt,
pinfo.hThread,
pinfo.hProcess,
(void *)0x004010E4,
;)OriginalOP
}
}
ContinueDebugEvent(DebugEvent.dwProcessId,
DebugEvent.dwThreadId,
;)DBG_CONTINUE
;break
وؤَ١دً ٔىفً ڄؽدالً َ٭ ٍ٥ٸُمص صبُ ٫خدلٔفالض ؤؼىدء خڀعىٸٳ يف ٬ىىخن ڄد.
خِن ٔىٹىڂ زًَخٔص ڄؽدپ ڄعٹًڂ ٸځُالً ،وى٠ك ڄه والڀً َُ٤ٹص ظعس ٫وو ٫٠وٹ ٣ظىٸٳ ٬ځً زُودڄؿ ڄ١ٱى ٢وٸى ٛخڀَُٕدپ ؤَ١دً،
ؤىٹىڂ زع٥سُٷ ټٿ ڄد ظ٭ځمىدي يف ٌٍخ خڀًَْ ٬ځً ٌٍخ خؼبؽدپ؛ لُػ ٔىُخٸر ؤٰځر خأللًخغ زً.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 41
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤوط ظ٭ُٲ ټُٳ ظٵٻ ٠ٱًَ UPX ٣وَدُ ٜمُك؟! خوّپ خذل خڀٹٵّش خؼبمُّش ؽبٍخ خڀ١دٰ ٣مث خ٠ٱ: F9٣
خڀٹٵّش ٬ىً خڀ٭ىىخن 0x05212DF0ظٍټُي ـًُخً .و خِن ال ظ١ٱ F8 ٣زٿ خذبً بذل خڀ٭ىىخن خڀٌٍ ظٌٍر ڀً خڀٹٵّش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 42
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
صبُٿ!! خِن ؤٜسك خڀٽىي وخ٠مدً ،بٌن ڄدٌخ لٝٿ لٌن و٠٭ىد وٹ٥ص خڀعىٸٳ؟!
ټمد ظ٭ځڃ ٴـ UPXزُودڄؿ ٠ٱ .٣ڄد وبٝٿ ٸسٿ ظىٵٍُ خڀٹٵّش ٌى ٴٻ ٠ٱ ٣ټىي خڀربودڄؿ يف خڀٍخټُش مث ظىٵٍُي ز٭ًٌد.
ز٭ً خڀ١ٱ٬ ٣ځً ٫٠ F9وٹ٥ص ظىٸٳ ٬ىً MessageBoxڄه والپ CommandLineيف ٌ OllyDbgٽٍخ :
مث خټعر ؤٌ خٔڃ وؤٌ َُٔدپ ،وڀُٽه AT4REو خڀَُٕدپ ٌى 1111111111111مث خ٠ٱ" ٣ربٹٷ ڄه خڀعٕفُٿ" ؤُعىٸٳ
OllyDbgيف ٌٍخ خؼبٽدن :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 43
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤِپ وٹ٥ص خڀعىٸٳ ڄه MOV EDI,EDIمث ٠٭هد يف RETN 10وخ٠ٱٔ F9 ٣عفً ؤن َٔدڀص خػب٥إ ٸً ٨هُض ڀٻ ،ڄىخٴٷ وز٭ًٌد
ُٔعىٸٳ ٬ OllyDbgىً . RETN 10
خِن ٫٠وٹ٥ص ظىٸٳ ٬ىً ٌٍخ خڀ٭ىىخن 00403FF4مث ؤ ً٬بيودپ خالٔڃ وخڀعٕفُٿ ،و٬ىًٌد ٔىٙدًٌ خڀعدرل (خو ُ٩خؼبٕفالض) :
ٌدٌى خڀَُٕدپ خػبد ٚزدالٔڃ AT4REبوً 0160ـُزً ..بوً َ٭مٿ !! خِن هبر ؤن وعٍټُ ڄد َځٍ :
أوالً ٔ :ىممٿ خڀربودڄؿ ڄه ؤـٿ خڀعىٹُك وو٩ىٻ ظ٭ُٲ ټُٳ ظٹىڂ زٍڀٻ؟!.
ثاَياً ٔ :ىٹىڂ زى ٫٠وٹ٥ص ظىٸٳ ٬ىً ٬ىىخن خڀٹٵّش 0x05212DFولٌن َعىٸٳ خڀربودڄؿ وَّځهد مث و ٫١وٹ٥ص ؤوُي ٬ىً خڀ٭ىىخن
0x0403FF4ولٌن َعىٸٳ ٬ىً ٌٍي خألوًنش وٹىڂ زٹى ٛخؼبٕفالض وڄ٭ځىڄدض خڀعٕفُٿ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 44
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
case CREATE_PROCESS_DEBUG_EVENT:
Set_int3_BP(pinfo.hProcess,(void *)0x005212DF,&OriginalOP);
break;
case EXCEPTION_DEBUG_EVENT:
if(DebugEvent.u.Exception.ExceptionRecord.ExceptionCode==EXCEPTION_BREAKPOINT)
{
cntxt.ContextFlags=CONTEXT_FULL;
GetThreadContext(pinfo.hThread,&cntxt);
if(cntxt.Eip == 0x005212DF + 1)
{
Remove_int3_BP(&cntxt,
pinfo.hThread,
pinfo.hProcess,
(void *)0x005212DF,
OriginalOP);
Set_int3_BP(pinfo.hProcess,(void *)0x00403FF4,&OriginalOP);
}
else if(cntxt.Eip == 0x00403FF4 + 1)
{
wsprintf(RegInformation,"EAX = %.8X\n"
"ECX = %.8X\n"
"EDX = %.8X\n"
"EBX = %.8X\n"
"ESP = %.8X\n"
"EBP = %.8X\n"
"ESI = %.8X\n"
"EDI = %.8X",
cntxt.Eax,
cntxt.Ecx,
cntxt.Edx,
cntxt.Ebx,
cntxt.Esp,
cntxt.Ebp,
cntxt.Esi,
cntxt.Edi);
MessageBox(0,RegInformation,"Registers",MB_OK | MB_ICONINFORMATION);
ReadProcessMemory(pinfo.hProcess,(void *)cntxt.Edx,Serial,5,0);
MessageBox(0,Serial,"Your Serial Is :",0);
Remove_int3_BP ( &cntxt,
pinfo.hThread,
pinfo.hProcess,
(void *)0x00403FF4,
OriginalOP );
}
}
ContinueDebugEvent(DebugEvent.dwProcessId,
DebugEvent.dwThreadId,
DBG_CONTINUE);
break;
ٍ ټىي٥هُ َٔدڀص ظ٭٩دً ٔى١َ وؤ، ؽبدImageBase ؤىٹىڂ جبځر خڀـ، خأللًخغ؛ ڄؽالً بٌخ ضبٿ خڀربودڄؿ يخڀص ڄدُٟٳ ز٭١خِن ٔى
: لدڀص وُوؾ خڀربودڄؿ ڄه خڀعىٹُك
case LOAD_DLL_DEBUG_EVENT:
case CREATE_PROCESS_DEBUG_EVENT:
Set_int3_BP(pinfo.hProcess,(void *)0x005212DF,&OriginalOP);
wsprintf(SomeInfo,"Program Loaded :\nImageBase = %.8X\nEP = %.8X",
DebugEvent.u.CreateProcessInfo.lpBaseOfImage,
DebugEvent.u.CreateProcessInfo.lpStartAddress);
MessageBox(0,SomeInfo,"Some Pe Info",MB_OK);
break;
:دً ټىي لدڀص خػبُوؾ ڄه خڀعىٹُك١َ وؤ، َٔدڀص ؤؼىدء خػبُوؾ ڄه خڀعىٹُك٪ر٤
case EXIT_PROCESS_DEBUG_EVENT:
wsprintf(SomeInfo,"Program Closed , its state = %.8X",
DebugEvent.u.ExitProcess.dwExitCode);
MessageBox(0,SomeInfo,"State",MB_OK);
Result=FALSE;
break;
; )DebugActiveProcess((DWORD)1576
وخڀٕالڂ
. بذل ٌىد وىهٍ خڀًَْ وخڀٝالش وخڀٕالڂ ٬ځً ؤُ٘ٲ خػبځٷ ًُٔود ؿبمً ٬ځًُ خڀٝالش
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 47
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
السلريبتييغ يف OllyDbg
Scripting In OLLYDBG : OdbgScript
.4املكسَ١
ٌٍ : OdbgScriptڀٱص زُؾبص ودٜص زربودڄؿ خڀعىٹُك OllyDbgوٌٍ ٘سُهص بذل لًٍ ڄد زځٱص خڀعفمُ.٫
ټٽٿ ڀٱص ٔٽَُسط OdbgScriptڀً ؤوخڄُ وڄ٭ُٴدض ودٜص زً ذب٭ٿ ٬مځُص خڀعىٹُك ؤڄُخً ٔهالً وٝىٜدً ٬ىًڄد َع٥ځر خألڄُ ظىٵٍُ
٬مځُدض آڀُص ؤو ڄعٽَُش ؤو خالؼىٌن ڄ٭دً.
خؼبعٱًنخض خحملفىِش ٌٍ :ؤظبدء ودٜص يبى ٫ؤن سبىك ألٌ ڄعٱًن آوُ:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 48
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.6ايتعًٝكات
.7ادتصاشات
خعبٍخٌش ( : )labelظٕمُص ٔ ُ٥ڄ٭ٌن ڄه خڀٕٽَُسط ڀٱُ ٞخڀٹٵّ بڀًُ ٬ىً ظىٵٍُ خڀٕٽَُسط.
ڀع٭َُٳ ـٍخٌش َٽٵٍ ټعدزص خالٔڃ خؼبُخي ؽبد ڄعسى ٪زدڀُڄّ وٹ٥عدن . :
ي٬دجهد َٽعر خظبهد ز٭ً خڀع٭ځُمص خؼبىدٔسص يون ؤن ظعس ٫زدڀُڄّ وٹ٥عدن . :
الٔط
.8.1ايكٝػ ١ايعاَ١
لُػ :
خؼب٭دڄٿ خڀؽدڀػ ،وٌى خوعُدٌَ وًٰن بڀّخڄٍ؛ ڀىـىيي زٌن param3
ڄ٭ٹىٴعٌن.
.8.2ايتعًُٝات
: ADD
ADD dest, src اًضٚقج
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 49
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 50
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خضٕٚل اًؾتبرث اًرهَٚج َُ strاألشبس ( baseالخراظٚبً شخج ؽشر٘) إًٗ َوبتٌٔب الشخج ؽشر٘. اًَمؾٕل
اًِبخز ل$RESULT ٙ
atoi "30", 10. // RESULT = 1E َذــبل
atoi "1110", 2 // RESULT = 0E
: BC
]BC [addr اًضٚقج
ضذك ِوعج خٕهك فٚر َشرٕعج ؽِد اًؾِٕاُ addr اًَمؾٕل
bc 6A0000 // َذــبل
bc eip //
: BD
]BD [addr اًضٚقج
خؾعٚل ِوعج خٕهك فٚر َشرٕعج ؽِد اًؾِٕاُ addr اًَمؾٕل
bd 6A0000 َذــبل
bd eip
BEGINS
]BEGINSEARCH [start اًضٚقج : EARCH
ِشخ اًيٕد اًَِوص اتخداءً َُ اًؾِٕاُ startإًٗ اًذايرث . اًَمؾٕل
ٕخشخؾَل تبًَٕازاث َؼ ENDSEARCHفبًتًب ًخشرٚؼ ؽٌَٚج اًتضد تبألَر . FIND
mov count, 0 ; َذــبل
mov start, eip ;
beginsearch start ; ِشخ اتخداءً َُ eip
loop: ;
find start, #60# ; اًتضد اتخداءً َُ eipؽُ اًخؾٌَٚج pushad
cmp $RESULT,0 ; لضص ِخٚسج اًتضد
je end ; خرٕر إذا ًٍ خٕسد
mov start, ; ِول اًؾِٕاُ اًخبً ٙاًذ٘ ٕسدح ل ْٚاًخؾٌَٚج إًٗ
$RESULT+1 start
add count, 1 ; زٚبدث اًؾداد
jmp loop ;
end :
end : ;
endsearch ; خمرٚـ اًذايرث
msg count ; إغٔبر ؽدد َراح ٕرٕد اًخؾٌَٚج
: BP
BP addr اًضٚقج
خمؾٚل ِوعج خٕهك فٚر َشرٕعج ؽِد اًؾِٕاُ addr اًَمؾٕل
bp 6A0000 َذــبل
bp eip
: BPCND
BPCND addr, cond اًضٚقج
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 51
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٕظؼ ِوعج خٕهك َشرٕعج تبًشرع condؽِد اًؾِٕاُ ً addrخدٕ ُٚاًؾتبرث expr اًَمؾٕل
خدٕ ُٚهَٚج eaxؽِد يل خٕهك ؽٌٗ اًؾِٕاُ ; "bpl addr, "eax", "ecx ==0 َذــبل
; 64A000
ٕ ؽِد اشخٚمبء اًشرع ecx=0
BPMC
]BPMC [addr اًضٚقج
ضذك ِوعج خٕهك ل ٙاًذايرث ؽِد اًؾِٕاُ addr اًَمؾٕل
BPRM
BPRM addr, size اًضٚقج
ظؼ ِوعج خٕهك ل ٙاًذايرث ؽِد اًوراءث ؽٌٗ اًؾِٕاُ addrتعٕل size اًَمؾٕل
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 52
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
COE
COE اًضٚقج
خٕاضل خِمٚذ اًشيرٚتح تؾد َضبدلج اشخذِبء .خٌق ٙؽَل األَر EOE اًَمؾٕل
َذــبل
DBH
DBH اًضٚقج
إخمبء اًَِوص اًَمؾٕل
DBS
DBS اًضٚقج
إغٔبر اًَِوص .خٌق ٙؽَل األَر DBH اًَمؾٕل
DEC
DEC var اًضٚقج
عرش ٕاضد َُ اًَخقٚر var اًَمؾٕل
mov var, B َذــبل
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 53
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
dec var
msg var ; خرسؼ A0000000
DIV
DIV op1, op2 اًضٚقج
خوش op1 ٍٚؽٌٗ ٕ op2ضمغ اًِبخز لop1 ٙ اًَمؾٕل
mov op1, 12. َذــبل
mov op2, 6
op1 = 2 div op1, op2خرسؼ
DM
DM addr, size, file اًضٚقج
شية (َ ) dumpضخٕٖ اًذايرث َُ اًؾِٕاُ ٕ addrتعٕل sizeإًٗ اًٌَك file اًَمؾٕل
"dm eip, 1000, "c:\dump.bin َذــبل
DMA
DMA addr, size, file اًضٚقج
شية ذٍ إظبلج َضخٕٖ اًذايرث َُ اًؾِٕاُ ٕ addrتعٕل sizeإًٗ اًٌَك fileإذا ٕسد اًَمؾٕل
"dma eip, 1000, "c:\dump.bin َذــبل
DPE
DPE file, ep اًضٚقج
شية َضخٕٖ اًذايرث ًٌٌَك اًخِمٚذ٘ اًَِوص إًٗ اًٌَك ٕ fileسؾل ِوعج دخًْٕ ep اًَمؾٕل
dpe "c:\dump.exe", َدــبل
eip
EOB
EOB label اًضٚقج
خضٕٚل خِمٚذ اًشيرٚتح إًٗ اًسذاذث labelؽِد ِوعج اًخٕهك اًخبًٚج اًَمؾٕل
EOE
EOE label اًضٚقج
خضٕٚل خِمٚذ اًشيرٚتح إًٗ اًسذاذث labelؽِد االشخذُاء اًخبًٙ اًَمؾٕل
eoe end: َذــبل
ERUN
ERUN الضٚقج
َشبتٔج ًٌظقع ؽٌٗ . SHIFT-F9خِمٚذ دُٕ اًخٕهك ؽِد االشخذِبءاح اًَمؾٕل
ESTI
ESTI اًضٚقج
َشبتٔج ًٌظقع ؽٌٗ . SHIFT-F7 اًَمؾٕل
ESTO
ESTO اًضٚقج
هدَٚج ًيُ َشبتٔج ًألَر . ESTI اًَمؾٕل
َذــبل
EVAL
"}EVAL "string with {var اًضٚقج
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 54
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خنَ٘ ٍٚخقٚر داخل ؽتبرثٕ .اًَخقٚر ٚسة أُ ٚؾرك ت ُٚؽالَخ ٙخِضٚص " ". اًَمؾٕل
mov x, 1F َذــبل
"}eval "the value of x is {x ; "$RESULT= "the value of x is 1F
EXEC/E
EXEC … ENDE اًضٚقج NDE
خِمذ خؾٌَٚبح ًقج اًخسَٚؼ اًَضضٕرث ت ENDEٕ EXEC ُٚل ٙةٚئج اًترِبَز اًَِوص. اًَمؾٕل
اًَخقٚراح اًَؾرلج ت ُٚؽالَخ ٙخِضٚص ،خؾٕط توَٚخٔب.
"mov x, "eax َذــبل
"mov y, "401000
exec
}xor {x}, {x ; xor eax,eax
}add {x}, {y ; add eax, 401000
ende
FILL
FILL addr, len, value اًضٚقج
َلء اًذايرث ؽِد اًؾِٕاُ addrتبًوَٚج ٕ valueتعٕل lenتبٚح اًَمؾٕل
fill 401000, FF, 90 ٌَئ اًذايرث ؽِد 401000تـ 128خؾٌَٚج NOP َذــبل
FIND
FIND addr, expr اًضٚقج
لًتضد ؽُ اًوَٚج exprاتخداءً َُ اًؾِٕاُ . addr اًَمؾٕل
خرسؼ ؽِٕاُ إٔل َضبدلج ًٌوَٚج ل. RESULT$ ٙ
find eip, #6AFFE8# اًتضد ؽُ أ٘ خؾٌَٚج َ push -1ختٕؽج تِداء َذــبل
FINDCA
]FINDCALLS addr [,name اًضٚقج LLS
للتضد ؽُ سَٚؼ اًِداءاح اًوٚبشٚج ( ) dll callsاتخداءً َُ اًؾِٕاُ َٕٚ addrيُ اشخؾَبل اًَرشص name اًَمؾٕل
findcalls eip, reg اًتضد ؽُ اًِداءاح اًخبضج تبًرسشخر٘ َذــبل
FINDC
FINDCMD addr, cmdstr اًضٚقج MD
FINDM
FINDMEM val [, StartAddr اًضٚقج EM
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 55
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 56
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
َمٚدث ؽِد اًضبسج ًٕظؼ ِوبع خٕهك ؽٌٗ دٕال . API
"gpi "CreateFileW", "kernel32.dll َذــبل
GPI
GPI key اًضٚقج
خرسؼ َؾٌَٕبح ؽُ اًـ processاًَِوص. اًَمؾٕل
اًتبرَٕخر َٚ keyيُ أُ ٚأخذ ٕاضدث َُ اًو ٍٚاًخبًٚجHMAINTHREAD, PROCESSID, HPROCESS, :
, MAINTHREADID,
, CURRENTDIR EXEFILENAME, PROCESSNAME, MAINBASE,
SYSTEMDIR
gpi PROCESSID خرسؼ اًـ PIDاًضبًٙ َذــبل
GREF
]GREF [instance اًضٚقج
خرسؼ اًؾِٕاُ اًخبًًِ ٙخٚسج اًتضد ،ضٚد instanceخدل ؽٌٗ رهٍ اًِخٚسج اًخبًٚج. اًَمؾٕل
َ مٚدث ؽِد اًضبسج إلٚسبد أيذر َُ ِخٚسج تضد.
" " wrt "found.txt", خٔٚئ اًٌَك اًذ٘ شٚيخة ل ْٚاًِبخز (ضذك َذــبل
َضخٕٖ اًشبتن إُ ٕسد)
mov instance,1 خٔٚئج اًؾداد
"find eip, "xor al,al تضد ؽُ اًخؾٌَٚج
next:
cmp $RESULT, 0
je finish إُ ًٍ خٕسد << خرٕر
gref instance سٌة اًؾِٕاُ اًخبًٙ
wrta "found.txt", $RESULT, يخبتج اًؾِٕاُ اًضبً ٙل ٙاًٌَك اًِضٕ( ٙاضد
تبًشعر)
inc instance االِخوبل إًٗ ِخٚسج اًتضد اًخبًٙ
jmp next
finish:
msg "check the file found.txt for
"search results
ret
INC
INC var اًضٚقج
خظٚك ٕاضد ًٌَخقٚر . var اًَمؾٕل
mov x, 0 خؾرك ٕ xخؾع ْٚاًوَٚج ضمر َذــبل
inc x خزٚد ٕاضد
ITOA
]ITOA n [, base=16 اًضٚقج
خضٕل اًوَٚج اًؾددٚج nإًٗ ؽتبرث ؽددٚج ل ٙاألشبس ( baseالخراظٚبً شخج ؽشر٘) اًَمؾٕل
mov y, 01F2 َذــبل
itoa y
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 58
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
LEN
LEN str اًضٚقج
خرسؼ عٕل اًؾتبرث . str اًَمؾٕل
"len "AT4RE is my team َذــبل
msg $RESULT
LM
LM addr, size, filename اًضٚقج
خضَل ٌَك اإللراؿ dumpذٕ االشٍ filenameل ٙاًؾِٕاُ ٕ addrتعٕل . size اًَمؾٕل
خؾيس ؽَل األَر . DM
lm 40100, 1000, َذــبل
""dump.bin
LOG
]LOG src [,prefix اًضٚقج
خدُٕ اًوَٚج srcلِ ٙبلذث اًَدِٕج OllyDbg Log Window اًَمؾٕل
إذا يبِح srcخَذل ؽتبرث ذبتخج ،لخٌى اًؾتبرث شخدُٕ يَب ٓ.ٙ
إذا يبِح srcخَذل َخقٚر إٔ َشسل ،لشٚخٍ خدٕ ُٚهَٚج اًَخقٚر إٔ اًَشسل.
mov x, 1E َذــبل
mov eax, x
"log "AT4RE is the best خدُٕ اًؾتبرث ت"" ُٚ
log x خدُٕ "" x: 0000001E
log eax خدُٕ "" eax: 0000001E
""log eax, خدُٕ "" 0000001E
MOV
]MOV dest, src [,size اًضٚقج
يَذٌٚخٔب لً ٙقج اًخسَٚؼ.
اًَمؾٕل
خِول اًوَٚج srcإًٗ اًَخقٚر ٕ destتعٕل . size
ؽشر٘ ،هَٚج ؽددٚجَ ،شسل إٔ راٚج.
ث src هد خيُٕ ؽتبرث ِضٚج ،ؽتبرث شخج
mov x, 0F َذــبل
"mov y, "Hello world ِول ؽتبرث ِضٚج إًٗ َخقٚر
mov eax, ecx ِول َشسل إًٗ َشسل
mov [ecx], #DEADC0DE# ؽشر٘ إًٗ اًؾِٕاُ اًَؤشر
ث ِول ؽتبرث شخج
تـ ecx
mov !CF, 1 خمؾٚل راٚج االضخمبغ
! mov !DF, ِول ضبًج راٚج االزدٕاسٚج إًٗ راٚج االخسبّ
mov [403000], "Hello ِول اًؾتبرث اًِضٚج إًٗ اًؾِٕاُ 403000
"world
MEMCP
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 60
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
opendump eip خمخص ِبلذث شية ًٌذايرث ؽِد اًؾِٕاُ eip َذــبل
opendump eip, eip, 1000
خمخص ِبلذث شية ًٌذايرث ؽِد اًؾِٕاُ eip
تعٕل h1000
OPENT
OPENTRACE اًضٚقج RACE
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 62
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
POP
POP dword اًضٚقج
يَذٌٚخٔب تٌقج اًخسَٚؼ ،خوٍٕ تئخرار إٔل هَٚج ل ٙاًَيدس إًٗ اًَخقٚر dword اًَمؾٕل
pop eax إٔل هَٚج ل ٙاًَيدس إًٗ eax َذــبل
]pop [58C000 اًوَٚج اًخبًٚج ل ٙاًَيدس إًٗ اًؾِٕاُ C00058
PREOP
PREOP addr اًضٚقج
خرسؼ ؽِٕاُ اًخؾٌَٚج اًشبتوجًٌ ،خؾٌَٚج إًَسٕدث ؽٌٗ اًؾِٕاُ . addr
اًَمؾٕل
خِت :ْٚال خرسؼ تبًظرٕرث آخر خؾٌَٚج ِمذح ،أ٘ ًُ خرسؼ َذال ؽِٕاُ همزث َشخٕلبث.
تَؾِٗ آخر PREOP ،خرسؼ لوع ؽِٕاُ اًخؾٌَٚج ل ٙاًشعر هتل اًضبً.ٙ
preop eip َذــبل
PUSH
PUSH dword اًضٚقج
يَذٌٚخٔب تٌقج اًخسَٚؼ ،خوٍٕ تدلؼ هَٚج اًَخقٚر dwordإًٗ اًَيدس اًٍ لؾٕل
push eax eaxإًٗ اًَيدس َذــبل
]push [58C000 اًوَٚج ل ٙاًؾِٕاُ C00058إًٗ اًَيدس
READS
READSTR str, len اًضٚقج TR
REPL
REPL addr, find, repl, len اًضٚقج
ختدل اًؾتبرث اًرهَٚج findتبًؾتبرث اًرهَٚج replاتخداءً َُ اًؾِٕاُ ٕ addrؽٌٗ عٕل lenتبٚح اًَمؾٕل
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 63
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
repl eip, #6A00#, #6A01#, 10 ختدل push 0تـ push 1 َذــبل
repl eip, #75??#, #7500#, 1F
خٌق ٙأ٘ همزث jnz
repl 40100, #40#, #90#, 1F
ختدل inc eaxتـ nop
RET
RET اًضٚقج
خِٔ ٙخِمٚذ اًشيرٚتح إٔ خرسؼ َُ َِبداث داًج اًَمؾٕل
REV
REV dword اًضٚقج
خرسؼ اًوَٚج اًَؾيٕشج ًٌوَٚج dword اًَمؾٕل
rev 01234567 َذــبل
msg $RESULT خرسؼ 67452301
ROL
ROL op, count اًضٚقج
يَذٌٚخٔب تٌقج اًخسَٚؼ ،خوٍٕ تخدٕٚر اًوَٚج opإًٗ اًٚشبر ؽدد countتح ،اًوَٚج اًِبخسج لop ٙ اًَمؾٕل
rol eax, cl َذــبل
rol [58C000], 10
rol 12345678, 4 خرسؼ 23456781
ROR
ROR op, count اًضٚقج
يَذٌٚخٔب تٌقج اًخسَٚؼ ،خوٍٕ تخدٕٚر اًوَٚج opإًٗ اً َُٚٚؽدد countتح ،اًنَٚج اًِبخسج لop ٙ اًَمؾٕل
ror eax, cl َذــبل
ror [58C000], 10
ror 12345678, 4 خرسؼ 81234567
RTR
RTR اًضٚقج
شتٔٚج تبًظقع ؽٌٗ CTRL + F9إٔ خِمٚذ اًؾٌَٚج Run till returnلOllyDbg ٙ اًَمؾٕل
RTU
RTU اًضٚقج
خِم ٙاًؾٌَٚج Run till user codeلOllyDbg ٙ
شتٔٚج تبًظقع ؽٌٗ ALT + F9إٔ ذ اًَمؾٕل
RUN
RUN اًضٚقج
شتٔٚج تبًظقع ؽٌٗ F9إٔ خِمٚذ اًؾٌَٚج RunلOllyDbg ٙ اًَمؾٕل
SCMPI
]SCMPI dest, src [,size اًضٚقج
شتٔٚج تبألَر َ CMPؼ لبرن تشٚع SCMPI :ال خؾٚر آخَبٍاً ًيتر إٔ ضقر اًضرٕك اًَمؾٕل
اًَذبل اًحاً ٙدائَب ٚرسؼ ؽتبرث "" Good
"mov x, "at4re َذــبل
"scmpi x, "AT4RE
je Good
"msg "Bad
Good:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 64
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
"msg "Good
ret
SETOPT
SETOPTION اًضٚقج ION
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 65
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
TEST
TEST dest, src قجٚاًض
. دُٕ ضمغ اًِبخزsrc ٕ dest ُٚ تAND جٌَٚ خوٍٕ تؾ،ؼٌَٚخٔب تٌقج اًخسٚيَد اًَمؾٕل
. ضشة اًِبخزCF OF PF SF ZF بحَٚج اًراٚر هٚخق
ask "Input x:" َذــبل
cmp $RESULT, 0
je canceled
mov x, $RESULT
ask "Input y:"
cmp $RESULT, 0
je canceled
mov y, $RESULT
test x, y
eval "flags after TEST x,y : CF= {!CF} OF= {!OF} PF= {!PF}
SF= {!SF} ZF= {!ZF}"
msg $RESULT
canceled:
ret
TI
TI قجٚاًض
OllyDbg ٙ لTrane Into جٌَٚذ اًؾٚ إٔ خِمCTRL + F11 ٌٗٔج تبًظقع ؽٚشت اًَمؾٕل
TICK
TICK var قجٚاًض
ms جِٚخْ تأًك سزء َُ اًذبٚتح َِذ تداٚ اًشيرٙخِم
ٕهح ذvar رٚ اًَخقٙخرسؼ ل اًَمؾٕل
tick var َذــبل
itoa var,10. ٘ل إًٗ اًِغبٍ اًؾشرٕٚخض
eval "script took {$RESULT} ms"
msg $RESULT
TICND
TICND cond قجٚاًض
cond ُ خضون اًشرعٚ ) إًٗ ضTrace Into( خخؾوة داخل اًِداءاح اًَمؾٕل
ticnd "eip > 402000" َذــبل
opentrace
ret
TO
TO قجٚاًض
OllyDbg ٙ لTrane Over جٌَٚذ اًؾٚ إٔ خِمCTRL + F12 ٌٗٔج تبًظقع ؽٚشت اًَمؾٕل
TOCND
TOCND cond قجٚاًض
cond ُ خضون اًشرعٚ ) إًٗ ضTrace Over( خخؾوة خبرر اًِداءاح اًَمؾٕل
tocnd "eip > 402000" َذــبل
opentrace
ret
VAR
VAR var قجٚاًض
ًَ .9شل
.9.1تطبٝل عًُٞ
يف ٌٍخ خؼبؽدپ ٔىمدوپ خٔعىالَُٔ ٚدالض ظٕفُٿ خڀربودڄؿ خؼبُٴٷ وخڀيت ٌٍ غبٕه غب ٧ؿبٹىوص يف ټىي خڀربودڄؿ!
وًڂ لٌن خڀعٕفُٿَ ،٭ين ؤوً ال وـىي ػبىخَِڄُص لٕدذ ڀَُٕدپ ٜمُك.
خڀربودڄؿ َٕع٭مځهد ڄه ؤـٿ خدلٸد َوص ڄ ٫ڄد ًَوځً خؼبٕط
بٌن ټٿ ڄد ٬ځُىد ٴ٭ځً ٌى ٌٍ ًُٜي خڀَُٕدالض وذبمُ٭هد وبن ٘حىد خٔع٭مځىدٌد يف ڄىڀً ټُفٌن ٙ٬ىخجٍ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 67
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
٘دٶ.
ڀٽه ڀُٓ خألڄُ زدؽبٌن ٴدڀَُٕدالض ٘سً ڄس٭ؽُش -ټؽًنش و٤ىَځص -فبد هب٭ٿ صب٭هد ًَوَدً ؤڄُخً خً
ٌىد ظإيت ٴدجًش وشبُش ظ٥سُٷ ڄد ظ٭ځمىدي ٬ه OdbgScriptوـ٭ٿ ؤڄُ صب ٫خڀَُٕدالض َعڃ آڀُد ويف وٸط وـُّ.
ڀىځٹٍ ؤوال وُ٩ش ٬ه ټُٵُص ظىخـً خڀَُٕدالض يف خڀربودڄؿ ,وٌٍر بذل خڀ٭ىىخن 4CDDD0ؤهـً ڄد َځٍ :
ًٌٴىد ٌىد ٌى بهبدي ڄى٧وڄص ربٽڃ ظُخٜٳ خڀَُٕدالض ڀٽٍ وٕعٱځهد يف ټعدزص ٔٽَُسط َٹىڂ جبم٭هد.
يف DDh خَش زـ DEhودوص ٴُمد زُىهد ،ولىت زـخَش زـ DFhودوص ،وض يالزظح أوىل :خڀَُٕدالض ڄعسدً٬ش ض
ؤڄدټه ؤوُي ،وٌٍخ ڀُٓ زدعبًُ ألوً ال ًَپ ٬ځً خڀعُظُر وخڀعىُ٩ڃ.
ؤلُدن ؤوُي 33ودوص.
خَش 32ودوص و خً يالزظح ثاَيح :ؤ٤ىخپ خڀَُٕدالض زبعځٳ ٙ٬ىخجُدً ،ض
خَش 31ودوص ،وض
ڀٽه بٌخ ؤڄ٭ىد خڀىٔ ُ٩هـً ؤن خوعالٲَ خڀٵُٶ يف خڀعسد ً٬زٌن ټٿ َُٔدپ وخڀٌٍ َځًُ ڄعىدٔرٌ ڄ ٫خوعالٲ ٤ىپ ټٿ وخلًٍ ڄىهمد،
وزدڀعدرل وٕعىځ ٛؤن خڀعسد ً٬زٌن ؤوپ ودوص يف ټٿ َُٔدپ وؤوپ ودوص ڀځَُٕدپ خڀٌٍ َځًُ ٌٍ ٸُمص ؼدزعص وظٕدوٌ FFhودوص.
زًخَص ٔىٹىڂ زع٭َُٳ ڄعٱًنَه خؼىٌن ،خألوپ وٕمًُ addrوو٭٬ ًُ٥ىىخن ؤوپ َُٔدپ لىت وسًؤ خڀ٭ً ڄه ٌىدٺ.
ٌد :
وخپؼدين وٕمًُ instanceوخڀٌٍ ُٔځ٭ر يوَ خڀ٭ًخي ڀ٭ًي خڀَُٕدالض خڀيت ٔىفځر
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 68
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
وٹىڂ ز٭ًٌد زةوٙدء ڄځٳ و ٍٝوٕمًُ serials.txtو ٫١ٴًُ خڀَُٕدالض خؼب٥ٝديش ،ووٽعر ٴًُ ټٹُمص ؤوڀُص خڀى"Valid :ٛ
".Serials:
ٔىٕع٭مٿ خألڄُ WRTڀعًڄًن ؿبعىي ؤٌ ڄځٳ وبمٿ وٵٓ خالٔڃ بن ټدن ڄىـىيخً:
وىٵٍ خڀٕٽَُسط يف OllyDbgڀىمٝٿ ز٭ًٌد ٬ځً ڄځٳ ( serials.txtقبًي جبدور ڄځٳ خڀربودڄؿ :خؼبٕدَ خالٴعُخ )ٍ٠وزً ټٿ
خڀَُٕدالض ڄى٩مص.
Vcodes .9.2
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 69
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.1املكسَ١
ٌٍخ خڀربودڄؿ ًَوٿ يف ٬دجځص زُخڄؿ خڀـ Licensingوَٹ ًٝزٍڀٻ ؤوىد زدٔع٭مدپود ؽبٍخ خڀربودڄؿ ڀه كبٝٿ ٴٹ٬ ٣ځً زُودڄؿ ؿبمٍ
ً٠خؽبىًٔص خڀ٭ٽُٕص زٿ يبٽىىد ٬ه َُ٤ٹً بيڄدؾ آڀُص ظٕفُٿ ټدڂڀص وڄعىى٬ص لٕر خحلخـص .خغبٝىپ ٬ځً زُودڄؿ ٸدزٿ پپظٕفُٿ
وؿبًوي يف خڀّڄه وخالٔع٭مدپ..
ڀٽٍ ال وعُ٥ٶ بذل ُ٘ق ټٿ وٝدج ٛخڀربودڄؿ يبٽىٻ ؤوٍ خڀٹدَت ذبُزص خڀىٕىص خؼبُٴٹص وخڀع٥ځ٬ ٫ځً ټٿ وٝدجٝهد ألوىد
ْنلدوپ يف ٌٍخ خڀًَْ بن ٘دء خهلل ب٥٬دء ظىُ٠ك ٬ه ټُٵُص ٴٻ ضبدَص خڀربودڄؿ زدٔعٱالپ خڀـ Exceptionsخڀىدذبص ٬ه خڀععس ٫زدؼبىٹك.
وٸسٿ خڀسًخَص يبٽىىد خڀٹىپ :بن ً٬ڂ ټٵدءش ٌٍخ خڀىى ٪ڄه خغبمدَص ڄ ٫خٔع٭مدپ ودُٜص خڀـ Licensingڄُٙو ٢زسٹدء خڀـ
َ Loader٭ين ٴٻ ؤٌ زُودڄؿ ؿبمٍ زًٌي خڀَُ٥ٹص خؼبٍټىَش ٔدزٹدً هب٭ځً ټدڄالً يون ؤٌ ربًًَخض يف خالٔع٭مدپ.
ٌٍخ خڀًَْ ڄىـً بذل خؼبٕعىي خڀٙسً ڄعىٔ ،٣وٌى ڄً٬ىڂ زدڀٝىَ ڀُٽىن ؤي ً٬ڀځٵهڃ بن
٘دء خهلل.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 70
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.2.1ؾشل ايدلْاَر
خٔع٭مدپ زُخڄؿ ٴم ٛڄؽٿ PEiDؤو AT4RE FastScannerڀځعإټً ڄه وـىي ضبدَص ؤو ٠ٱ ٣ؤو ڄ٭ُٴص خڀځٱص خؼبٕع٭مځص يف خڀربؾبص
ؤڄُ ؤٔدٍٔ يف ٬ددل خؽبىًٔص خڀ٭ٽُٕص.
والل ٧ؤن خڀربودڄؿ ڄ١ٱى ٢وڄٙٵُ زىخٔ٥ص زُودڄؿ PC-Guard 5.0ويبٽه خڀعإټً ڄه خؼب٭ځىڄدض خؼب٭٥دش ڄه ُ٤ٲ ؤيخش خڀٵك ٚڄه
.AT4RE والپ ڄعدز٭ص خڀربودڄؿ يف خؼبىٹك ڀعٵديٌ خڀىٸى ٪يف ؤو٥دء ٔسسهد ؤيوخض ٜممط ڀعّوَُ زٝمدض خڀربخڄؿ ڄؽٿ
Signs_Imitator
اٍ Loader
.2.2ـ
كبمٿ خڀربودڄؿ يف خؼبىٹك وز٭ًٌد ْوالل ٧وٹ٥ص يوىپ خڀربودڄؿ خڀٱًن لٹُٹُص 00483000وٌٍ زًخَص خڀـ Loaderخؼبٕاوپ ٬ه ٴٻ
خغبمدَص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 71
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸسٿ و ٫٠خغبمدَص وٹ٥ص يوىپ خڀربودڄؿ ڄىـىيش يف خڀٹٕڃ .textويبٽىىد ٸُخءش خڀـ Stringsوخالٔعً٬دءخض زى٠ىق يف خؼبىٹك.
.1ضبدَص خڀربودڄؿ خؽبًٲ :زُودڄؿ خغبمدَص َٙٵُ١َ ،ٱ ، ٣يٌڂؾ خڀـ Loaderيف خڀربودڄؿ خؽبًٲ ًٌٰٗن وٹ٥ص خڀًوىپ خغبٹُٹُص
ڄه خڀٹٓڂ .textبذل خڀٹٕڃ خڀٌٍ وبعىٌ خڀـ .Loader
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 72
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.2خڀـ Loaderوبعىٌ ٬ځً ظ٭ځُمدض ٴٻ خڀعٙٵًن ٗخڀ١ٱٗ ٣بَـد ٪وٹ٥ص خڀًوىپ خغبٹُٹُص ،وټٿ ٌٍي خڀ٭مځُدض ظعڃ يف
خڀٍخټُش ،وي و َكظىٌ ؤَ١د ٬ٿي ټٿ خػبً ٪خؼب٭ُوٴص إلَٹدٲ خؼبىٹك ٗظٙىَٗ ٗظٙٵًن خڀٽىي عب٭ٿ ظعس ٫خڀـ Loaderؤڄُخً ٫ٜخًذٗفبالً،
ووبىٌ ؤَ١د بـُخءخض خڀعٕفُٿ وخڀعمًًَخض خػبدٜص زّڄه وڄًش خٔعىًخڂ خڀربودڄؿ يف خڀربخڄؿ خڀيت ربعىٌ ٬ځً ودُٜص .Licensing
.2.3ؾو اذتُا١ٜ
.2.3.1إعسازات املٓكح
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 73
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
يبٽىىد ظ٭ًَٿ وُدَخض خؼبىٹك ټٿ ڄُش ٗلٕر وى ٪خغبمدَص خڀيت وًَُ يَخٔعهد.
وٌٍر بذل View :مث Logمث كبدوپ ظٙٯَٿ خڀربودڄؿ زدٔع٭مدپ Shift F9ڀعى ٍ٥خڀـ Exceptionsټمد ٌى ڄى٠ك يف َُ٘٣
خؼبىٹك:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 74
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
. خڀىدذبص ٸسٿ ؤن َ٭مٿ خڀربودڄؿExceptions ًي خڀـ٬ ٗكبٕرLog خِن وٌٍر بذل
تشغيل البرنامج F9
00483343 Access violation when writing to [657EAB6E] Shift + F9
00483564 Access violation when writing to [B4E6507E] Shift + F9
004836D8 Single step event at PCGWIN32.004836D8 Shift + F9
00483A0D Single step event at PCGWIN32.00483A0D Shift + F9
7C911230 INT3 command at ntdll.DbgBreakPoint
7C911230 INT3 command at ntdll.DbgBreakPoint
7C911230 INT3 command at ntdll.DbgBreakPoint
00492999 Single step event at PCGWIN32.00492999 Shift + F9
0049698F Single step event at PCGWIN32.0049698F Shift + F9
0046E343 Access violation when writing to [657EAB6E] Shift + F9
0046E564 Access violation when writing to [B4E6507E] Shift + F9
0046E6D8 Single step event at PCGWIN32.0046E6D8 Shift + F9
0046EA0D Single step event at PCGWIN32.0046EA0D Shift + F9
7C911230 INT3 command at ntdll.DbgBreakPoint
7C911230 INT3 command at ntdll.DbgBreakPoint
7C911230 INT3 command at ntdll.DbgBreakPoint
0047D999 Single step event at PCGWIN32.0047D999 Shift + F9
58B50000 Module C:\WINDOWS\system32\COMCTL32.dll
76C40000 Module C:\WINDOWS\system32\IMAGEHLP.dll
76340000 Module C:\WINDOWS\system32\comdlg32.dll
77F40000 Module C:\WINDOWS\system32\SHLWAPI.dll
7C9D0000 Module C:\WINDOWS\system32\SHELL32.dll
77390000 Module
C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-
Controls_6595b64144ccf1df_6.0.2600.2180_x-
ww_a84f1ff9\comctl32.dll
0048198F Single step event at PCGWIN32.0048198F Shift + F9
Set Memory Breakpoint on Access هنا نضع
77BD0000 Module C:\WINDOWS\system32\VERSION.dll
5B090000 Module C:\WINDOWS\system32\uxtheme.dll
تظهر نافذة البرنامج
ص خڀسًخَص٥ ألوً ُٔعڃ خڀًوىپ بذل وٹSet Memory Breakpoint on Access ص ظىٸٳ٥ وٹ٫١ وException ُز٭ً آو
.Loader خغبٹُٹُص ڀځربودڄؿ وخػبُوؾ ڄه خڀـ
لبعدَ خڀٹٕڃ codeمث و ٫١وٹ٥ص ظىٸٳ ،يف لدڀص خڀًوىپ ؽبٍخ خڀٹٕڃ ٴةن خؼبىٹك َْعىٸٳ.
ٗخالٔعً٬دءخض، خڀـ Strings ڀىعإټً ؤوىد يف وٹ٥ص خڀسًخَص خغبٹُٹُص ڀځربودڄؿ :وٌٍر بذل ودٴٍش
بٲٌخ خٔع٥٭ىد ٸُخءهتد زى٠ىق ٴدڀ٭مځُص ودـمص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 76
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 77
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً ظٙٱُٿ ؤيخش ب٬ديش زىدء خڀـ importsوٌٍر بذل Attach to an Active process :ولبعدَ زُودڄؿ خڀًَْ.
زُودڄؿ خڀًَْ ؿبمٿ يف خڀٍخټُش ٬ه َُ٤ٷ خؼبىٹك وڄعىٸٳ يف وٹ٥ص خڀسًخَص خغبٹُٹُص ،ڀٍخ ال
هبىِ ؤن وٱځٷ خؼبىٹك لىت ظىعهٍ خڀ٭مځُص ټدڄځص ټمد ٌټُود ٔدزٹدً.
وٌٍر بذل IAT Infos Neededڀى٬ ٫١ىىخن وٹ٥ص خڀسًخَص خغبٹُٹُص خؼب٭ُوٴص زُڄّ : OEP
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 78
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٌٍي خڀـ Importsخڀيت ظ٭ُٲ ٬ځُهد خڀربودڄؿ ،وخڀيت َٕع ٫ُ٥ظؽسُط ٬ىدوَىهد ،وڀٽه ٸسٿ خڀعؽسُط هبر ٴم ٛخڀـ importsڀُعڃ
بٜاللهد ًَوَدً.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 79
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
دبد ىب ٛخڀـ Importخڀعدرل خڀٯَُ ڄ٭ُوٲ ٴال َىـً ڀًَىد خٔڃ خؼبٽعسص وؽبٍخ ٔىٽعٵٍ حبٍٴهد ڄه خڀٹدجمص وڀٽه وىعسً ؽبٍي خڀ٭مځُص ألين
يف ز٭ ٟخغبدالض ال َؿوِ لٍٲ خڀـ Importخڀٱًن ڄ٭ُوٴص وؿبدوڀص بٜاللهد ًَوَدً؛ ألن لٍٴهد َاؼُ ٬ځً خڀربودڄؿ ،و١ٱ ٣خڀَّ
خأليبه ڀځٵإَش مث لبعدَ .Cut Thunks
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 80
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً بسبدڂ ټٿ ڄُخلٿ خپ٪ڄځُص كبدوپ ظٙٱُٿ خڀربودڄؿ وخڀعُټُّ ٬ځً ذبَُر وٝدج.ًٝ
وٹىڂ ز٭مٿ ٴم ٛـًًَ ز٭ً ٴٻ خغبڃخَص ڀىٙدًٌ وعُفص خڀ٭مځُص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 81
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
آوٳ خػبدٜص
ڀٵٻ ضبدَص ڄځٳ خؼبٽعسص خڀًَىدڄُٽُص PCGW32.dllوعس ٫وٵٓ خڀَُ٥ٹص خؼبٍټىَش خً
زدٔعٱالپ Exceptionsڀځىٜىپ بذل وٹ٥ص خڀسًخَص خغبٹُٹُص ڀځمځٳ.
مث :
OllyDbgال وبڃٍپ ڄځٵدض خؼبٽعسص خڀًَىدڄٽُص ظځٹدجُدً؛ ڀٍخ هبر ٬ځُىد خٔع٭مدپ زُودڄؿ ودَـٍ ڀعىٹُك ٌٍخ خڀىى٪
ڄه خؼبځٵدضٗ ،يبٽىىد خٔع٭مدپ زُودڄؿ Loaddll.exeڄ ٫خؼبىٹك.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 82
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خظسد ٪خڀَُ٥ٷ خڀٕدزٹص ؤوٍ خڀ٭َّّ ٔعٝٿ لعمدً بذل وٹ٥ص خڀسًخَص خغبٹُٹُص ؼبځٳ : Dll
ذ
و ٌىد ٬مځُص لٵ ٧خؼبځٳ ڄسدُ٘ش ڄه خڀٍخټُش ڄ ٫وٹ٥ص خڀسًخَص خغبٹُٹُص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 83
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ال يبٽىىد ربمُٿ ڄځٳ Dllڄسدُ٘ش ڄه خڀـ Processڀٍخ ْنلڃٍ پ زُودڄؿ Loaddll.exeخڀٌٍ ضبٿ زًوَي ڄځٳ
Dllمث و١ٱ٬ ٣ځً .Pick DLL
وًوٿ ٬ىىخن وٹ٥ص خڀًوىپ خغبٹُٹُص ڀځمځٳ مث و١ٱ٬ ٣ځً ، AutoSearchويف لدپ خڀ٭ؽىَ ٬ځً وعُفص بهبدزُص ظ٩هُ ڀىد َٔدڀص قبدق
خڀ٭مځُص.
و ٬ىً خڀ١ٱ٬ ٣ځً Get Importsوالل ٧ؤوً ال َىـً ؤو٥دء يف خڀ٭ىدوَه :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 84
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.4ارتامت١
خغبمً هلل مت ٌٍخ خڀًَْ ووٕإپ خهلل ظ٭دذل ؤن َٽىن ُ٩٬ڃ خڀىٵ ٫ؤهٿ خڀٵهڃ.
خؼبځٵدض خڀيت ٬مٿ ٬ځُهد ٌٍخ خڀًَْ ڄُٴٹص ڀُعٕهَّ ڀٻ ؤوٍ خڀٽُمي خڀعفُزص
ڄ ٫خظسد ٪ټٿ خؼبُخلٿ وخڀىٜىپ بذل خڀىعُفص خؼبُُ٠ص .ويبٽىٻ ربمُځهد ڄه
ي ود.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 85
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.1األٖساف
خغبٝــىپ ٬ځً ڄ٭ځىڄدض خڀعٕفُـٿ و٬مٿ ڄىڀً ڄٵدظُك .Serial Fishing and Keygening
َ .2كسَ١
ڀٱص خڀربؾبص يڀٵٍ ڄه خڀځٱدض خؼبع٥ىَش وخپٔهځص خالٔع٭مدپ وخڀعى ،ُٛٝوظىٴُ بڄٽدوُص ب٠دٴص ڄٽىودض ـًًَش ذب٭ځهد ٸديَش ٬ځً
خڀعإٸځڃ ڄ ٫ڄع٥ځسدض ټٿ ڄربڄؿ ڄهمد ټدن ڄٕعىخي.
ڄؽالً َٕع ٫ُ٥ڄربڄؿ ٌدوٌ خٔع٭مدپ ؤ٬ٹً وىخَِڄُدض خڀعٙٵًن خؼبىـىيش يف ڄٽعسدض ـدٌّش يون ڄ٭ُٴص وٵدَدٌد ،وٌٍخ ٔدٌڃ يف ٨هىَ
ُ٘ټدض ڄعىٝٝص ٴٹ ٣يف زُؾبص ڄٽىودض يڀٵٍ وظٕىَٹهد.
يڀٵٍ ڄّوي زإيخش ـبعٝص زة٠دٴص ڄٽىودض ـًًَش ،وظؽسُعهد زُٝٱص :
ڀځمًَّ ڄه خؼب٭ځىڄدض ٬ه ڄٽىودض يڀٵٍ وَُ٤ٹص خڀعىُٝر يبٽىٽڃ َِدَش ڄىٸ ٫يڀٵٍ
ڀځ٭ُذ خؼبعى ٛٝيف خڀربؾبص خذپيڀٵٍ ٬ځً خڀُخز ٣خڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 86
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.2.2األزٚات املػتدسَ١
خؼبىٹك .OllyDbg
ڄكََ ٌٽٓ . HexWorkshop v5
زُودڄؿ خڀسمػ ٬ه خڀـ Search and replace – Strings
.Delphi 7 Entreprise
ڄه ؤـٿ ظىُ٠ك ٌٍخ خڀًَْ ٸڃود زربؾبص ڄٽىن يڀٵٍ ،وؤ٠ٵىد بڀًُ خڀُ٥ٶ خڀٽالُٔٽُص خڀيت ظ٭عمً ٬ځً خڀعإټً ڄه ظٙٱُٿ يڀٵٍ
ڀٽٍ َ٭مٿ خؼبٽىن زَُ٥ٹص ًٰن ؿبًويش ،وخڀُ٥ٶ خعبًًَش خڀيت ظ٭عمً خغبٝىپ ٬ځً ڄ٭ځىڄدض ظٕفُٿ يون خڀځفىء بذل ٴم ٛظٙٱُٿ
يڀٵٍ.
.3.1ايتشً ٌٝاألٚيٞ
وٹىڂ زةوٙدء ڄُٙو ٪ـًًَ وز٭ً بسبدڂ خڀ٭مځُص وٌٍر پڀعسىَر خعبًًَ AT4REووُ١ٳ خؼبٽىن IsTRIALTESTبذل خؼبُٙو ٪مث كبٵ٧
خڀٽٿ مث وٙٱٿ خؼبُٙو ،٪خو ُ٩خڀٝىَش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 87
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
والل ٧ؤن خڀربودڄؿ َ٭مٿ ذَُ٤ٹص ٬ديَص ،وڄ٩هُي ڄ٥دزٷ ڀځمُٙو ٪يون ؤٌ ظٱًُن ؤو ب٠دٴدض :
والل ٧ؤوً ؤوُؾ َٔدڀص َ٭ځمىد ٴُهد زإوىد وٕع٭مٿ وٕىص ذبَُسُص : Trial Version
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 88
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً خڀٹُدڂ زةٰالٶ خڀُٔدڀص َ٩هُ ڀىد خڀربودڄؿ وڀٽه َىـً ظٱًُنخض يف خؼب٩هُ ،وٌىدٺ ٬سدَش Trial Versionؤُ٠ٵط بذل Caption
خڀربودڄؿ؟
خؼبٽىن ٸدڂ زدڀعٱًُنخض خڀعدڀُص يف لدڀص بيودپ ڄ٭ځىڄدض ظٕفُٿ ًٰن ٜمُمص وً٬ڂ ظٙٱُٿ يڀٵٍ :
بٌن ٲ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 89
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.3.2ايتٓكٝح ٚايتتبع
وٹىڂ زعممُٿ خڀربودڄؿ يف خؼبىٹك OllyDbgمث وسمػ ٬ه خڀُٔدڀص خؼبّ٬فص بڄد ٬ه َُ٤ٷ خڀٽځمدض خؼبٕع٭مځص يف خڀُٔدڀص ڄؽٿ
Trialيف Text strings referencedؤو ٬ه َُ٤ٷ خٔعً٬دءخض خڀُٔدڀص .Windows API
دبد ؤوً ال َىـً ظٙٵًن ڀځـ Stringsٴدڀٽځمدض خؼبٕع٭مځص يف خڀُٔدڀص ظ٩هُ زى٠ىق يف خؼبىٹك ٔىٹىڂ خِن زدڀسمػ وخڀععس.٫
و ټمد ٌټُ آوٵد يف زًخَص خڀًَْ بوىد وٕع ٫ُ٥ظ٭ٹًُ ظعس ٫خڀُٔدجٿ وخڀٽځمدض خڀيت َ٭عمً ٬ځُهد خڀٽؽًن ڄه خڀـ Reverse
engineerيف خڀسمػ ٬ه ٬ىدوَه خڀٵم ٛز٭مٿ Obfuscationڀځمىد٤ٷ خغبٕدٔص.
وُي يف خڀٝىَش ٴىٶ زى٠ىق ؿبعىَدض خڀُٔدجٿ وؤَ١د ټځمص TRIAL VERSIONخڀيت ؤُ٠ٵط بذل ٬ىىخن خڀربودڄؿ.
1
2
3
4
6
5
7
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 90
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
يف خعبًوپ زدٸٍ خالٔعً٬دءخض - Callsخؼبٕاوڀص ٬ه ظٱًُن ڀىن وخـهص خڀربودڄؿ وـ٭ځهد ٘ٵدٴص -ظ٩هُ ؤَ١د زٌن خڀٹٵّخض خؼبٍټىَش.
انؼُىاٌ ذفكيك ذؼهيك يالزظح انزلى
004541AB PUSH EBP خڀسًخَص و ٫١وٹ٥ص ظىٸٳ 01
004541C5 CALL 00454118 خٔعً٬دء وىخَِڄُص خڀعٕفُٿ و ٫١وٹ٥ص ظىٸٳ 02
004541D0 CALL 00453D44 خٔعً٬دء وىخَِڄُص خڀعإټً ڄه وـىي يڀٵٍ يف خڀٍخټُش و ٫١وٹ٥ص ظىٸٳ 03
004541CC JNZ 00454235 خڀٹٵّ ز٭ً خڀعمٹٷ ڄه ڄ٭ځىڄدض خڀعٕفُٿ خڀٝمُمص 04
004541D7 JNZ 00454235 خڀٹٵّ ز٭ً خڀعمٹٷ ڄه وـىي يڀٵٍ يف خڀٍخټُش 05
004541DE CALL 004273B0 خٔعً٬دء خڀُٔدڀص خؼبّ٬فص 06
004541F3 CALL 00404150 ب٠دٴص Trial Versionبذل Captionخڀربودڄؿ 07
.3.3اذتكــ ٍٛعًَ ٢عًَٛات ايتػذٝـٌ ٚعٌُ َٛيس َؿاتٝح Serial Fishing + Keygening
َسًؤ خٔعً٬دء وىخَِڄُص ڄ٭ځىڄدض خڀعٕفُٿ ټمد ٌى ڄى ٫٠يف خڀٝىَ خڀعدڀُص :
@Project1_00454118:
push ebp ي٬دء
زًخَص خالٔط
mov ebp,esp
add esp,-8
push ebx
xor edx,edx
mov dword ptr ss:[ebp-8],edx
mov ebx,eax
xor eax,eax
push ebp
push Project1_0045419e
]push dword ptr fs:[eax
mov dword ptr fs:[eax],esp
xor eax,eax
mov dword ptr ss:[ebp-4],eax
]mov eax,dword ptr ds:[ebx+$038
call @Project1_00404148
test eax,eax
jl @Project1_00454157
inc eax
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 91
AT4RE :انفريك انعرتي نههُذسح انعكسيح وانذهىل انًرمذيحOlly . خطىج إنى األياو:انهُذسح انعكسيح
xor edx,edx
@Project1_00454148:
mov ecx,dword ptr ds:[ebx+$038]
movzx ecx,byte ptr ds:[ecx+edx- ڄ٭دعبص خٔڃ خؼبٕع٭مٿ سبُ ز٭مځُدض لٕدزُص
1]
add dword ptr ss:[ebp-4],ecx
... يف خؼبىٹك٫ص ٔهځص خڀٵهڃ وخڀععس٥ُٕز
inc edx
dec eax
jnz @Project1_00454148
@Project1_00454157:
mov eax,dword ptr ss:[ebp-4]
mov ecx,$0256
cdq
idiv ecx
imul eax,edx,$01024
lea ecx,dword ptr ss:[ebp-8]
mov edx,$010
call @Project1_00407E38
mov edx,dword ptr ss:[ebp-8] ...مُك خڀىدظؿ ز٭ً خؼب٭دعبصٝزبَّه َٸڃ خڀعٕفُٿ خڀ
mov eax,dword ptr ds:[ebx+$03c]
...ث خؼبًوٿ٤زبَّه َٸڃ خڀعٕفُٿ خػبد
خڀع٭ًَٿ زدڀسدظُٙىٯ ڀُٓ ٬مځُص ظٱًُن زدَعدض ٴٹ ٣يون ؿبدوڀص ٴهڃ ڄد ًَوَ يف خڀربودڄؿ خؼبٕعهًٲ،
يف ټؽًن ڄه خغبدالض ظٱًُن زدَط وخلً ٴٹَ ٣ٽٵٍ ؤن هب٭ٿ خڀربودڄؿ ڄٕفالً زٙٽٿٍ ټدڄٿٍ يون
ظٱًُن ً٬ش ٸٵّخض ٌىد وي ودٺ.
والل ٧ؤن خڀٹٵّش خألوذل خػبدٜص زٵم ٛڄ٭ځىڄدض خڀعٕفُٿ ظٹٵّ ؤَ١دً ٴىٶ خٔعً٬دء خڀعمٹٷ ڄه وـىي يڀٵٍ يف خڀٍخټُش فبد هب٭ځىد
وُ١ذ ٝ٬ٵىََه حبفٍُ وخلً.
call @Project1_00454118
test al,al
jmp @Project1_00454235 JNZظٝسك JMP
mov eax,ebx
call @Project1_00453D44
test al,al
jnz @Project1_00454235
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 93
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
َخج !!٫خڀربودڄؿ َ٭مٿ زٽٵدءش وڀٽه ٌٿ هبر ٬ځُىد يف ټٿ ڄُش ٬مٿ زدظُٙىٯ ڀٽٿ ڄُٙو ٪ـًًَ؟
خعبىخذ :ال ٤س٭دً ،وخغبٿٌ :ى خڀع٭ًَٿ خؼبسدُ٘ يف خؼبٽىن ٬ه َُ٤ٷ خحملَُ .HexWorkshop v5
ـًُ ،يبٽىىد خِن ٴعك خؼبځٵدض خؼبٕاوڀص ٬ه خڀُٔدجٿ وخڀعٱًُنخض خػبدٜص زـ Trial Versionوڀٽه ٸسٿ ٌڀٻ وإوٍ خڀٹُڃ خؼبسُىص يف
خڀٝىَش خڀعدڀُص :
004541C5 E8 4EFFFFFF CALL Project1.00454118 وإوٍ ٌٍخ خعبّء ڄه خڀٽىي :
004541CA 84C0 TEST AL,AL
004541CC 75 67 JNZ SHORT Project1.00454235 84C075678BC3
004541CE 8BC3 MOV EAX,EBX
004541D0 E8 6FFBFFFF CALL Project1.00453D44 ظٕهُٿ خڀسمػ يف ؿبَُ
004541D5 84C0 TEST AL,AL Hex
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 94
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸسٿ :
ز٭ً :
ٸسٿ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 95
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً :
.compilation ز٭ً خالوعهدء ڄه خڀع٭ًَٿ وٹىڂ زة٬ديش ظؽسُط ڄٽىن يڀٵٍ بٌخ خٸع١ط خڀُ١وَش ،ووٝىٜدً يف لدالض ٬مٿ
وزدڀىٕسص ڀعمَُىىد ٴال َٹع ٍ١خألڄُ ٌڀٻ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 96
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
.OllyDbg
.Plugin Development Kit 1.10
ْنٔعىًڂ C/C++ IDE (ٔىٕع٭مٿ A c/c++ compiler/linker
.)vs2008
ّ .1قسَ١
ب٠دٴدض ٬ OllyDbgسدَش ٬ه ڄځٵدض ٬ DLLديَص ،ڀٽه َٙعُ ٢ؤن ظ٬ ًٍَٝځً خألٸٿ يخڀعٌن ڄه ؤٜٿ 14يخڀص ڄ٭ُٴص يف ڄځٳ
. plugin.h
٬ىًڄد َسًؤ ٬ OllyDbgمځً ٴةوً َٹىڂ زعممُٿ صبُ ٫خؼبځٵدض ٌخض خالڄعًخي " "DLLيف ؾبځً خإل٠دٴدض وخلًشً ظځى خألوُي ،وَٵم ٛبٌخ
ڄد ټدوط ظٌٍ ًَٝي خڀًوخپ.
_ODBG_Plugindata
_ODBG_Plugininit
بٌخ ټدن ڄځٳ "ٌ ًََٝ "DLLدظٌن خڀًخڀعٌن ٴةن – OllyDbgڄسًجُدًَ -٭عرب ؤن خؼبځٳ ٬سدَش ٬ه ب٠دٴص ٜدغبص.
بٌن :خِن ڀًَىد ڄ٭ځىڄدض ټدٴُص زٙٽٿ و ٌُ٩إلوٙدء ب٠دٴص ڀـ ،OllyDbgؤىٹىڂ زدِيت :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 97
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خِن ٔىٹىڂ زة٠دٴص ڄځٳ ټىي ـًًَ\ٴدَٮ ڀځمُٙو ٪زإٌ خٔڃ وزدڄعًخي cppولدن وٸط ټعدزص خڀٽىي :
ٌٍي خڀًخڀص ٬سدَش ٬ه خؼبًوٿ \" "Entry pointوٌٍ ؼدزعص يف ڄ٭٩ڃ ڄځٵدض ""DLL
خِن خوعهُىد ڄه خعبّء خألوپ ؤىىعٹٿ بذل خػب٥ىش خڀعدڀُص وخڀيت ٔىٹىڂ ٴُهد زٽعدزص خڀًخڀعٌن خؼبٍټىَظٌن ٔدزٹدً.
خِن دبد ؤوىد ال و٭ُٲ ڄد خڀٌٍ ظىٸ٭ً OllyDbgڄه ٌٍي خڀًوخپ ٬ىًڄد َٹىڂ زعممُٿ خإل٠دٴص ٔىٹىڂ زدڀُـى ٪بذل ڄځٳ خؼبٕدً٬ش خؼبُٴٷ
\ ، plugin.hlpخٴعك خؼبځٳ مث خوعٹٿ بذل ٸٕڃ " ،"Plugin callback functionsؤعُي 14ظ٭َُٵدً ڀځًوخپ خڀيت يبٽه ڀإل٠دٴص
ًٌَُٜدٌٍ .ي خڀًوخپ ٌٍ ؤُځص خڀعىد٤ر زٌن خإل٠دٴص و ، OllyDbgوڄد َهمىد ڄىهد لدڀُد خڀًخڀعٌن ODBG_Plugindata
ض
و.ODBG_Plugininit
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 98
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٌٍي خڀًخڀص هبر ؤن ظٽىن ڄىـىيش يف صبُ ٫ب٠دٴدض ، OllyDbgووُ٨ٵعهد زدوعٝدَ وٕه خٔڃ خإل٠دٴص ڀځمعٱًن shortname
وبَـدَ ٪ٸڃ وٕىص OllyDbgخڀيت وربڄؿ خإل٠دٴص ؽبد ،ويف صبُ ٫خغبدالض ٔعٽىن ٌٍي خڀٹُمص ڄٕدوَص ڀځؽدزط
.PLUGIN_VERSION
خڀًخپ :
خِن ڀىٹڃ زع٥سُٷ ٌٍي ش
{ )int ODBG_Plugindata(char *shortname
;)"lstrcpy(shortname, "MyOlly
;return PLUGIN_VERSION
}
ٸمىد زدٔعىًخڂ خڀًخڀص lstrcpyڀىٕه خٔڃ خإل٠دٴص خڀيت وٹىڂ زةوٙدجهد بذل خؼبعٱًن shortnameمث ٸمىد زةَـد٪
خڀٹُمص PLUGIN_VERSIONوخڀيت ظٽدٴث َ 110ٸڃ بًٜخَ OllyDbgخڀٌٍ وربڄؿ خإل٠دٴص ڀً.
خِن ڀىىعٹٿ بذل خڀًخڀص خڀؽدوُص خڀيت هبر ؤن وٹىڂ زع٥سُٹهد يف خإل٠دٴص .ODBG_Plugininit
( int ODBG_Plugininit
int OllyDbgversion, َٸڃ بًٜخَ .OllyDbg
HWND hw, ڄٹس ٟخڀىدٴٍش خڀُجُُٕص يف . OllyDbg
ulong *features ٸُمص ؿبفىِش إلًٜخَخض ٸديڄص ڄه OllyDbgوزدڀعدرل ال هتمىد.
;)
خڀًخڀص هبر ؤن ظ٭ًُ خڀٹُمص 0بٌخ ؤَيود ؤن َٹىڂ OllyDbgزعممُٿ خإل٠دٴص زىفدق ؤو 1 -ڀٽٍ َٹىڂ
Return value
OllyDbgزعفدٌٿ خإل٠دٴص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 99
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
;g_hOlly=hw
;return 0
}
يف خڀٕ ُ٥خألوپ وٹىڂ دبٹدَوص خڀؽدزط PLUGIN_VERSIONوخڀٌٍ َٕدوٌ 110ڄ ٫خؼبعٱًن OllyDbgversionخڀٌٍ يبَُي
OllyDbgڀإل٠دٴص ،بٌخ ټدوط ٸُمص OllyDbgversionؤٜٱُ ڄه PLUGIN_VERSIONٴةوىد ٔىٹىڂ زةَـد 1 - ٪ڀٽٍ َعڃ
ذبدٌٿ خإل٠دٴص.
ټمد ظ٭ُٲ ٴةن خڀىٕىص خألوًنش ڄه 1.10 ٌٍ OllyDbgوٌٍ خڀىٕىص خڀيت وٹىڂ زربؾبص ٌٍي خإل٠دٴص ؽبد.
ظٝىَ ڀى ؤن ؤلًخً ڄد ال َّخپ َٕعىًڂ وٕىص ٸًيبص ڄؽال ،1.08يف ٌٍي خغبدڀص ٬ىًڄد ظٹىڂ ٌٍي خڀىٕىص خڀٹًيبص ڄه
OllyDbgزعممُٿ خإل٠دٴص ُٔعڃ ظىٵٍُ خڀًخڀص ODBG_Plugininitوڄه مث خڀعمٹٷ ڄه خڀ٢ُٙ
.OllyDbgversion<PLUGIN_VERSION
دبد ؤوىد زُؾبىد خإل٠دٴص ڀىٕىص 1.10 OllyDbgٴٕعٽىن ٸُمص PLUGIN_VERSIONظٕدوٌ ،110ڀٽه
خِن َعڃ ربمُٿ خإل٠دٴص يف وٕىص ٸًيبص ڄه OllyDbgڀٍڀٻ ٔعٽىن ٸُمص OllyDbgversionظٕدوٌ َٸڃ
ٌٍي خڀىٕىص خڀٹًيبص يف خغبدڀص خڀيت خٴعُ٠ىدٌد .108
ٔاخپ آوُ :ڄدٌخ ڀى ٸَُود ذبدٌٿ ٌٍخ خألڄُ ،وٴ١ځىد خؼبعدز٭ص يف ربمُٿ خإل٠دٴص ،دب٭ىن آوُ ؤَـ٭ىد خڀٹُمص 0؟
ټؽًن ڄه خألُ٘دء ًٰن خؼبعىٸ٭ص يبٽه ؤن ربًغ خزعًخءً ڄه ؤن خإل٠دٴص ال ظ٭مٿ زٙٽٿ ٜمُك وخوعهدءً زعم٥ڃ
. OllyDbg
ٌىد ُ٬ٴىد ڄعٱًن ٬دڂ " "g_hOllyڀٽٍ كبٵ ٧ڄٹس ٟودٴٍش OllyDbgٴًُ ،وخڀيت ٔىٲ ربعدـهد اللٹدً زدڀعإټًُ بٌخ ٸَُض خٔعىًخڂ
ز٭ ٟيوخپ خڀـ . API
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 100
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
يف خڀٕ ُ٥خڀٌٍ َځًُ ٸمىد زةَـد ٪خڀٹُمص 0ڄه خڀًخڀص ڀٽٍ َٕعمُ OllyDbgيف ربمُٿ خإل٠دٴص.
خِن ڀًَىد ب٠دٴص َٹسځً خ OllyDbgڀٽه ظسٹٍ زٱًن ٴدجًش ,ڀىٹڃ زع٥ىٌَُد ٸځُال..
ب٠دٴص ٬ى ُٝبذل ٸدجمص ٬ OllyDbgىً ظٵ٭ُځً َٹىڂ زععس ٫ظ٭ځُمص خألظبسځٍ خؼبىعدَش يف ودٴٍش خڀًڄر.
ڀٽٍ وٹىڂ زة٠دٴص ٬ىد ُٜـًًَش بذل ٸىخجڃ OllyDbgخؼبىعځٵص َځّڄىد ظ٥سُٷ يخڀعٌن ؤوُظٌن ڄه خڀًوخپ خڀـ 14خڀيت َؤَىدٌد يف ڄځٳ
": "plugin.hlp
ؤوپ يخڀص ٌٍ ODBG_Pluginmenuوٌٍ خڀًخڀص خڀيت ظٕمك ڀىد زة٠دٴص ٬ىد ُٜـًًَش ڀځٹىخجڃ.
خڀًخڀص خڀؽدوُص ٌٍ ODBG_Pluginactionخڀيت َٕعًُ٬هد ٬ OllyDbgىً ظٵ٭ُٿ ؤلً ٬ىد ُٜخڀٹىخجڃ خػبدٜص زدإل٠دٴص.
ڀىُي خڀًخڀص خألوذل :
( int ODBG_Pluginmenu
int origin, ڄ٭ُٲ خڀىدٴٍش خغبد٠ىص ڀځٹدجمص خڀيت مت ظٵ٭ُٿ ؤلً ٬ىدٌُٜد.
ـبّن َعڃ ٴًُ وٕه ؤظبدء خڀ٭ىد ُٜخڀيت وًَُ ب٠دٴعهد .الل ٧ؤن ؤٸ ًٝلفڃ ڄٕمىق زً ٌى 4096
char data[4096],
زدَط.
void *item ٬ىىخن ڀځ٭ى ُٝخؼبىعدَ يف ؤقي وىخٴٍ .OllyDbg
َ OllyDbgعىٸ ٫ڄىد ؤن و٭ًُ خڀٹُمص 1بٌخ ؤ٠ٵىد ٬ىد ُٜـًًَش إللًي خڀٹىخجڃ ؤو خڀٹُمص ٜٵُ
;)
يف لدپ دل وٹڃ زة٠دٴص ؤٌ ٬ىد ُٜـًًَش.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 101
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸمىد زع٥سُٷ صبځص خالوعُدَ ٬ switchځً خؼبعٱًن originوخڀٌٍ وبعىٌ ٬ځً ڄ٭ُٲ أللً وىخٴٍ OllyDbgخؼبىعځٵص.
ڄد َهمىد ڄه ٌٍي خؼب٭ُٴدض خِن PM_DISASMخڀيت ظًٙن بذل ودٴٍش OllyDbgخڀيت ظ٭ُ ٞظ٭ځُمدض خألظبسځٍ.
ڀىٌُ خڀٽىي يف خأل٬ځً لُػ ٸُمص originظٕدوٌ .PM_DISASM
ٸمىد زةوٙدء ـبّن ټسًن زٙٽٿ ټديف " 1024زدَط" ڀعىَّه ؤظبدء خڀ٭ىد ُٜخعبًًَش خڀيت ُٔعڃ ب٠دٴعهد بذل خڀٹدجمص خػبدٜص زىدٴٍش
خألظبسځٍ ،مث ٸمىد زىٕه خڀٕځٕځص خڀىُٝص بذل خؼبىّن زىخٔ٥ص ، lstrcpyوؤً٬ود خڀٹُمص 1ڀٽٍ لبرب OllyDbgؤوىد ؤ٠ٵىد ٬ىدُٜ
ڀځٹدجمص ووعىٸ ٫ؤن ظ٩هُ يف خڀٹدجمص خػبدٜص زىدٴٍش خألظبسځٍ.
يف ڄؽدڀىد خڀٕدزٷ ٸمىد زىٕه " "Follow selection 0بذل خؼبىّن dataڄد َ٭ىًُ ٌٍخ ؤوىد وًَُ ڄه OllyDbgؤن َُ١ٳ ٬ىُٝ
ـًًَ بذل خڀٹدجمص زدٔڃ " "Follow selectionوَ٭ٌٍ ٍ٥خ خڀ٭ى ُٝڄ٭ُٲ ٸُمعً .0
( void ODBG_Pluginaction
int origin, ڄ٭ُٲ خڀىدٴٍش خغبد٠ىص ڀځٹدجمص خڀيت مت ظٵ٭ُٿ ؤلً ٬ىدٌُٜد.
int action, ڄ٭ُٲ خڀ٭ى ُٝخڀٌٍ مت ظٵ٭ُځً ڄه خڀٹدجمص ( 0يف لدڀعىد ,خَـ ٫ڀځًخڀص خڀٕدزٹص).
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 102
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸمىد زدوعسدَ ڄد بٌخ ټدوط ٸُمص originظٕدوٌ PM_DISASMبٌخ ټدوط خڀىعُفص بهبدزُص ٴةوىد ٔىىعٹٿ بذل خػب٥ىش
خألوُي وٌٍ خوعسدَ ٸُمص actionڄ. 0 ٫
دب٭ين آوُ ٌٿ ٸدڂ ڄٕعىًڂ خإل٠دٴص زعٵ٭ُٿ خڀ٭ى "Follow selection" ُٝخڀٌٍ وبمٿ ٸُمص ڄ٭ُٲ 0؟
بٌخ ټدوط خڀىعُفص بهبدزُص ٴٕىٹىڂ زعىٵٍُ يخڀص Setcpuوٌٍ وخلًش ڄه زٌن ُٙ٬خض خڀًوخپ خڀيت َىٴٌُد OllyDbgؼبربؾبٍ خإل٠دٴدض.
ڄد ظٹىڂ زً ٌٍي خڀًخڀص ٌى ب٨هدَ ٬ىىخن ڄ٭ٌن زبعدَي ؤوط يف ؤلً وىخٴٍ OllyDbgخڀؽالؼص .Cpu,dump,stack
خِن خوعهُىد ڄه زُؾبص خإل٠دٴص وزٹٍ ٬ځُىد ز٭ ٟخألُ٘دء خڀسُٕ٥ص :
.1ظ ًَُٝخڀًوخپ خألَز ٫ڀـ ٔ : OllyDbgىٹىڂ ز٭مٿ ٌڀٻ زة٠دٴص ز٭ ٟخڀٽځمدض خحملفىِش بذل ظُوَٕص ٌٍي خڀًوخپ:
زًال ڄه
)void ODBG_Pluginaction(int origin,int action,void *item
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 103
AT4RE انفريك انعرتي نههُذسح انعكسيح: Ollyوانذهىل انًرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸڃ زىٕه ٌٍَه خؼبځٵٌن بذل ؤٌ ڄُٙو ٪ـًًَ ظٹىڂ زةوٙدجً وٶڂ زٕمسهمد بذل يخوٿ خؼبُٙو." Darg and Drop" ٪
.3ٸڃ زعٵ٭ُٿ وُدَ خڀٽمسدَځُ . /J
ظٕع٬ ٫ُ٥مٿ ٌٍخ يف خڀٵُفىخپ ٔعىيَى زدظسد ٪خػب٥ىخض خڀعدڀُص Option > Configuration Properties > :
C/C++ > Language > Defualt Char Unsigned > Yes
زٹٍ ؤن وًٙن بذل ؤن ٌٍي خؼبٹدپ ڄد ٌى بال زًخَص ڀٻ بٌخ ؤَيض ؤن ظربڄؿ ب٠دٴدض ڀـ .OllyDbg
هبر ؤن ذبًُ بلًي ڀٱدض خڀربؾبص وظٕع٭مٿ ڄځٳ plugin.hlpڀإلـدزص ٬ه ؤٔحځعٻ خؼبٕعٹسځُص خؼبع٭ځٹص هبٍخ خؼبى٠ى.٪
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 104
الباب الثاىي :التعامل مع احلنايات املتقدمة
105
AT4RE :انفريك انعرتي نههُذسح انعكسيح دًاياخ يرمذيح . خطىج إنى األياو:انهُذسح انعكسيح
.OllyDbg v1.10
.HideOD+OdbgScript v1.65
) (يف خؼبُٴٹدض.Aspr2.XX_unpacker_v1.14aE.osc
. PEiD v0.95
.Import REConstructor F v1.6
.aspr crc locator
. DUP v2.19
.Stripper v2.13 beta9 or above
.ASProtect SKE
.Inline Patchinger v0.2
...ځً زُټص خهلل٬ و ڀىسًؤ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 106
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
مث خوٹُ ٬ځً Open RAR Fileوخوعُ ڄځٳ rarخؼبُخي ټُٕي ،مث خوٹُ ٬ځً : Add to project
1
2
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 107
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
وخِن ٪وً ب٠دٴص خؼبځٳ خڀؽدين – زىٵٓ خڀَُ٥ٹص – ظ٩هُ ٌٍي خڀُٔدڀص خؼبّ٬فص :
ال زإْ ٔىَّځهد ٴُمد ز٭ً ،خوٹُ ٬ځً Nextو٬ىًٌد ٔع٩هُ ٌٍي خڀُٔدڀص – ال ٬ځُٻ ڄىهد –خوٹُ ٬ځً : OK
ز٭ًٌد ٸڃ زدڀىٹُ ٬ځً addوؤ٠ٳ 3ڄځٵدض txtهبڃ صبٿ ؤو ټځمدض ؤو ؤٌ ٍ٘ء وخوٹُ ٬ځً Nextڀعٙدًٌ ٌٍي خڀُٔدڀص خؼبّ٬فص
ؤَ١دً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 108
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ڄځٳوخلًخً ڄه ڄځٵدض txtوخوٹُ ٬ځً Nextمث خلٵ ٧خٔڃ خؼبُٙو ٪يف ؤٌ ڄٽدن وخوٹُ ٬ځً ، Nextز٭ًٌد ٔىٝٿ بذل ٌىد :
خلٍٲ خً
ظٹَُسدً ٌٍي ؤزُِ خألڄىَ خؼبّ٬فص يف خڀربودڄؿ ٌ ،ىدڀٻ ؤڄىَ ؤوُي ٔىع٭ُٲ ٬ځُهد ؤټؽُ ٬ىً ظىٹُك خڀربودڄؿ.
بوً ڄٙٵُ زـ ، ASProtect 2.1x SKEوٌىدڀٻ خڀ٭ًًَ ڂن خڀُ٥ٶ ڀٵٻ ٌٍي خغبمدَص و ټُٕ خڀربودڄؿ :
)1ٴٻ خڀربودڄؿ زدٔعىًخڂ : Stripper v2.13 beta 9وٌٍخ خڀربودڄؿ َٹىڂ زٵٻ خڀربخڄؿ خؼبٙٵُش زـ ASProtect 2.1x
، SKEڀٽىً ال َ٭مٿ ٬ځً خڀٵُٕعد.
)2ٴٻ خڀربودڄؿ زدٔعىًخڂ : OdbgScript v1.65يف خِووص خألوًنش خ٘عهُض ٌٍي خأليخش وخڀيت َعڃ ب٠دٴعهد بذل خؼبىٹك
OllyDbgوٌٍ زبع ُٝخڀَُ٥ٷ ڀٵٻ خڀٽؽًن ڄه خڀربخڄؿ ،وڄ ASProtect ٫زةًٜخَخظً خؼبعىى٬ص َٙعهُ ْټٌُزط
Aspr2.XX_unpacker_v1.14aE.oscڄه زُؾبص ؤلً خڀُٝىٌُن.
٬ )3مٿ : Loaderوٌٍي ٔعع٥ځر ڂوٻ بِخڀص CRC checkوز٭ ٟخڀُٔدجٿ خؼبّ٬فص ،وٌىدڀٻ ز٭ ٟخڀربخڄؿ خؼبعىٝٝص يف
٬مٿ Loadersڀځممدٌخض خؼبٙهىَش ،وؤلً ٌٍي خڀربخڄؿ ٌى ، Advanced Loader Generatorوټٍڀٻ ٌىدڀٻ
ٔىَْ ټىي c++ڄه زُؾبً ٴَُٷ ARTeamوىبع ٛٴٹ ٣ز٭مٿ Loaderپـ .asprotect
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 109
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
٬ )4مٿ : Inline Patchingوٌٍي خڀَُ٥ٹص ظٹىڂ ٬ځً ؤٔدْ بهبدي ڄٕدلدض ودڀُص يف خڀربودڄؿ ،حبُػ َعڃ و ٫٠خڀسدَعدض
خؼبُخي ظ٭ًَځهد يف خڀربودڄؿ يف ظځٻ خؼبٕدلدض ،وٌڀٻ ڄه والپ methodڄ٭ٌن .وٌىدڀٻ زُخڄؿ ودٜص أليخء ٌٍي خؼبهمص ؤو
ظٕهُځهد ڄؽٿ .ASProtect SKE Inline v0.2
)5خپٴٻ خڀًُوٌ : MUPوَعڃ ٬ځً ؤٔدْ بهبدي OEPو٬مٿ Dumpمث ظٝمُك ًَ Importsوَدً ،وٸً َعىځٿ ٌڀٻ ً٬ش
٬مځُدض ٸً ظٽىن بهبدي خڀسدَعدض خؼبُٕوٸص ؤو ػبس٥ص يف خپـ ، Importsوَ٭عمً ٌڀٻ ٬ځً خڀ١مُص ،ڀٽهود ال نوٝك هبٍخ
خػبُدَ بال يف خغبدالض خغبُـصٌ ،ىدڀٻ ڄؽٿ َٹىپ " :آوُ خڀًوخء خڀٽٍ".
ڀٹً ٸدڂ ز٭مٿ حبػ ڀٿـ OEPمث dump victimمث fixing importsمث ، Fixing Dump Fileوٌٍخ خغبدپ َعڃ ڄ ٫ؤٌ
زُودڄؿ ڄٙٵُ زَُ٥ٹص ٬ديَص وَُخي ٴٽً.
ضبٿ خڀربودڄؿ خڀ١مُص يف ، OllyDbgمث ڄه خڀٹدجمص خٌٌر بذل Plugins >>>OdbgScriptمث خٴعك ٔٽَُسط خڀٵٻ
Aspr2.XX_unpacker_v1.14aE.osc
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 110
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
وٌ ٬ځً ودُٜص خڀسدَعدض خؼبُٕوٸص يف وُدَخض خڀعٙٵًن ،وٌٍخ ڄه لٕه خغب..٧
لٕىدً ،بوً َٹىپ :بن خڀربودڄؿ خڀ١مُص ال َكض
خِن خٴعك زُودڄؿ ImpRecو RVA of OEP ٫٠و RVA of IATو Size of IATيف ؤڄدټىهد خؼبىٝٝص وخوٹُ ٬ځً Get
Imports
وؤوًنخً خ٠ٱ٬ ٣ځً Fix Dumpوخوعُ ڄځٳ de_AtomicRarPasswordRecovery.exeوز٭ً ٸځُٿ ٔعفً خؼبځٳ خؼبٵٽىٺ
زدٔڃ de_AtomicRarPasswordRecovery_.exe
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 111
AT4RE :انفريك انعرتي نههُذسح انعكسيح دًاياخ يرمذيح . خطىج إنى األياو:انهُذسح انعكسيح
ځً ټٿ وخلًش ڄىهد٬ٽٓ خڀٹٵّش خؼبىـىيش ؤ٬ َُٷ٤ ه٬ فص يبٽه بِخڀعهد وٌڀٻ٬ّټٿ ظځٻ خألُ٘دء خؼب
ASCII “To find passwords witch have a dynamic part longer than 3 characters in …”
ASCII “To crack more than 2 files simultaneously you must register software”
ASCII “Sorry, this file can’t be cracked with already placed ones simultaneously”
ASCII “Sorry, this file can’t be cracked with already placed ones simultaneously”
Free بڄد ظ٭ٽٓ خڀٹٵّش خڀيت ٴىٸهد وبڄد ظ٭ٽٓ خڀٹٵّش خڀيت ٴىٶ: ٴإوط ـبًنFully Functional version وؤڄد ٌٍي
evaluation version
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 112
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤ٠ٳ ؤَ١دً ؤوً يبٽىٻ ظٱًُن ؿبعىخٌد ز٭ً ٬ٽٕهد بذل خظبٻ ڄؽالً by AT4RE/heKCEr Fully :
ؤو ڄسدُ٘ش ظٱًن ؿبعىخٌد ڄه Free evaluation versionبذل by AT4RE/heKCEr Fully :
زٹُط ٌىدڀٻ ڄٙٽځص وخلًش ،وٌٍ٬ :ىًڄد وُ١ٳ ؤټؽُ ڄه ڄځٳ ظ٩هُ ٌٍي خڀُٔدڀص،
وغبٿ ٌٍي خؼبٙٽځص ،خوٹُ زٙٽٿٍ ڄّيوؾ ٬ځً ٌٍي خڀُٔدڀص مث خٜ٭ً ڀأل٬ځً ٸځُالً بذل ؤن ظٝٿ ڀځ٭ىىخن 00404FEFو٬ىًٌد ٸڃ ز٭ٽٓ
خڀٹٵّش،
ألن rpc.exeوٕىص ڄه ، AtomicRarPasswordRecovery.exeويف ز٭ ٟخأللُدن ٌمت ٴعك خڀـ Projectخڀٌٍ لٵ٩عً
ؤوط يف ، rpc.exeوؽبٍخ وـر لٵ ً٩هبٍخ خالٔڃ ؤَ١دً.
زةڄٽدوٻ ؤن ظٝى ٫زدظٗ ؤو ڀىيَ ؤو ظ٭مٿ Inline Patchingوټٿ ٌڀٻ ْنظُ٥ٶ بذل ُ٘لً.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 113
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خٴعك وخـهص خڀربودڄؿ خڀُجٍُٕ مث خ٠ٱ٬ ٣ځً New Projectوٸڃ زع٭ًَالظٻ خػبدٜص ،وټدڀ٭ديش خ٠ٱ ٣خڀَّ خأليبه وخوعُ addمث
Offset Patchوڄه خأل٬ځً يف Target File Tabٸڃ زدوعُدَ خؼبځٳ خألٜځٍ ( خؼبٙٵُ ) ،ويف Compare Files Tabو٬ىً
Original Fileٸڃ زدوعُدَ خؼبځٳ خألٜځٍ خؼبٙٵُ ڄُش ؤوُي ،و٬ىً Patched Fileخوعُ خؼبځٳ خؼبٵٽىٺ خؼبٽٕىَ ،مث خ٠ٱ٬ ٣ځً
٘دًٌ خڀسدَعدض ٸسٿ خٔعىًخڂ زدظٙٻ خػبد ٚوز٭ً خٔعىًخڂ زدظٙٻ خػبد ،ٚؤٌ خڀٵُٶ زٌن خڀسدَعدض يف خؼبځٵٌن،
Compareو٬ىًٌد ٔط
خ٠ٱ save ٣ڀځمٵ.٧
ٸڃ ز٭مٿ ظځٻ خػب٥ىخض خڀٕدزٹص ڄُش ڄ rpc.exe ٫وخؼبځٳ خؼب٭ًٍپ ،وڄُش ڄ٫
AtomicRarPasswordRecovery.exeوخؼبځٳ خؼب٭ًٍپ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 114
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹىڂ ز٭مٿ Inline Patchingڀځربودڄؿ وٌڀٻ زىخٔ٥ص زُودڄؿ ASProtect SKE Inline Patchinger 0.2
ؤَ١دً ٔىٹىڂ زٽُٕ خڀربودڄؿ زَُ٥ٹص ؤوُي ،وٌٍ خڀَُ٥ٹص خألٴ١ٿ ،وٌڀٻ زعٕفُٿ خڀربودڄؿ ڄه خڀسًخَص يون خغبدـص بذل بِخڀص ټٿ ودٴٍش
ڄّ٬فص ٬ځً لًش.
وڀځىٜىپ بذل ٌٍخ خؼبٽدن خڀٕمٌُ خڀٌٍ ٔىٕفٿ ٴًُ خڀربودڄؿ ظٕفُالً ټدڄالً ٌىدٺ ً٬ش ُ٤ٶ وؤٔهځهد ٌٍ خڀَُ٥ٹص خِظُص :
٬ىً ؿبدوڀعىد إلِخڀص خڀىدٴٍش خؼبّ٬فص ڄؽالً ٌٍي “To crack more than 2 files simultaneously you must register :
”ٔ the softwareهالل ٧وـىي ڄٹدَوص ٌدڄص ـًخً :
ٌٍي خؼبٹدَوص خؼبىـىيش ٬ىً خڀ٭ىىخن 00402FBEوڀى ټدنض خڀٹُمص خؼبىـىيش يف 425AA0ظٕدوٌ 1ٴةن خڀٹٵّش خؼبىـىيش ز٭ًٌد
ٔىٲ ظىٵٍ ،وزٍڀٻ ٔىعى ً٥ټٿ خڀىدٴٍش خؼبّ٬فص ،ؤَ١دً ٌٍي خؼبٹدَوص ظعٽَُ يف ً٬ش ؤڄدټه ڄه خڀربودڄؿ؛ لُػ ىبعرب ٴُهد خڀربودڄؿ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 115
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
خڀعٕفُٿ ٴةٌخ ټىط ڄٕفالً بٲن خڀٹٵّش ٔععڃ وپن َ٭ُ ٞڀٻ ؤٌ ودٴٍش ڄّ٬فص ؤو Limitationڀٍڀٻ ُٔىٝر ٬مځىد ٬ځً و٫٠
خڀٹُمص 1يف خڀ٭ىىخن 425AA0يخجمدً لىت َعڃ ظٕفُٿ خڀربودڄؿ.
وڀځىٜىپ بذل خؼبٽدن خؼبىدٔر ڀ٭مٿ ٌڀٻ خحبػ ٬ه خپـٔعَُىٯ KEYISNOTCOMPATIBLE
ڀ٭مٿ ٔ InlinePatchىٹىڂ زةَٹدٲ خڀربودڄؿ ٬ىً خڀ٭ىىخن 00406C88مث وٹىڂ زى 1 ٫٠يف ٬ 425AA0ه َُ٤ٷ خألڄُMOV :
DWORD PTR DS:[425AA0],1ڀٍڀٻ خلٵٌٍ ٧ي خڀسُدودض ألوىد ٔىٲ وٕعىًڄهد اللٹدً :
PATCH = MOV DWORD PTR DS:[425AA0],1
RVA = 6C88
BYTES = 742E68B4
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 116
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىًوٿ خڀسُدودض ټمد يف خڀٝىَش خڀٕدزٹص مث لبعدَ خؼبځٳ ،وٌى ڄځٳ خڀربودڄؿ خحملمٍ زـ Asprotectمث و١ٱ٬ ٣ځً : Patch
خوّپ ڀألْٴٿ لىت ذبً ؾبمى٬ص ڄه خڀـ NOPوٌٍ ـبٝٝص إليودپ ؤټىخي خڀسدظٗ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 117
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
بن ڄُّش َ InlinePatchخج٭ص ـًخً؛ لُػ ٔعمٝٿ ڄه والؽبد ٪پي زدظٗ ٜٱًن خغبفڃ ڄٹدَوصً ٴُمد ڀى ٸمط زٵٻ خغبمدَص ٬ه خؼبځٳ
وټُٕي.
ټمد ٴ٭ځىد يف خڀـ ٔ Inline Patchingىٹىڂ ز٭مٿ ڀىيَ َٽعر يف خڀٍخټُش ي ٌخ خألڄُ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 118
AT4RE انفريك انعرتي نههُذسح انعكسيح: دًاياخ يرمذيح انهُذسح انعكسيح :خطىج إنى األياو.
وٌٍخ خألڄُ ٌى خڀٌٍ ُٕٔفٿ خڀربودڄؿ ،ويبٽىٻ ڄ٭ُٴص خڀسدَعدض ڄه والپ خڀٝىَش خڀٕدزٹص ز٭ً ټعدزعىد ڀألڄُ :
00406CB8 = A1 >= C7
00406CB9 = 20 >= 05
00406CBA = 5B >= A0
00406CBB = 42 >= 5A
00406CBC = 00 >= 42
00406CBD = 85 >= 00
00406CBE = C0 >= 01
00406CBF = 74 >= 00
00406CC0 = 15 >= 00
00406CC1 = 68 >= 00
00406CC2 = 00 >= 90
00406CC3 = 5A >= 90
00406CC4 = 42 >= 90
00406CC5 = 00 >= 90
ؤيوٿ خڀسُدودض خؼبىـىيش يف خعبًوپ ٬ه َُ٤ٷ Add and Editوال ظىٓ خوعُدَ ، VirtualAddress modeمث خ٠ٱ٬ ٣ځً
Saveمث ، Create loaderوزٍڀٻ ُٔعڃ بوٙدء خڀځىيَ خڀٌٍ ٔعٹىڂ زى٠٭ً ـدور ڄځٳ خڀربودڄؿ وڄه مث ظٙٱځً ڀُٹىڂ زعممُٿ
خڀربودڄؿ وبـُخء خڀعٱًُنخض خڀالِڄص ڀُٝسك خڀربودڄؿ ڄٕفالً زٙٽٿٍ ټدڄٿ.
ضبٿ ڄه خؼبُٴٹدض ڄځٳ ڄُٙو dup patcher ٪خػبد ٚزدڀربودڄؿ ؼبه ؤَخي ربمُځً
ڄسدُ٘ش ڀـ .dup
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 119
الباب الثالث :اهلاشييغ وخوارزميات التصفري
120
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ٔىسًؤ دبٹًڄص ٬ه خؽبدُ٘ىٯ ووىخَِڄُدض خڀعٙٵًن ,مث وٕٹ ٣خؼب٭ځىڄدض ٬ځً ڄؽدپ ٬مځٍ َٕعىًڂ وىخَِڄُص.
)5كتابة الكيحً.
و ٌٍ ٬سدَش ٬ه ٔځٕځص ڄه خڀ٭مځُدض ظ٥سٷ ٬ځً خڀسُدودض ڀعمىَههد .وؤٌڃ ڄد ظعمُّ زً :
ؤهند ٌخض خذبدٌٌن :خذبدي ظٙٵًن خڀسُدودض ( ( Encryptionوخذبدي ٴٻ ظٙٵًن خڀسُدودض ( ) Decryption
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 121
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ؤٌ ؤن خػبىخَِڄُص :ظٹىڂ زدڀعٙٵًن مث يبٽىهد ٴٻ ظٙٵًن خڀسُدودض وبَـد٬هد بذل ؤٜځهد.
وٌى َٕعىًڂ ڀځعٙٵًن ٴٹ ،٣وڀُٓ ڀً خذبدي كبى ٴٻ خڀعٙٵًن ،وَٕعىًڂ ڀٵٻ ظٙٵًن ڄد َ٭ُٲ زـ Brute Force :
لُػ َٕعىًڂ ـًخوپ ودٜص وَٹىڂ زعٙٵًن ً٬ي ٌدجٿ ڄه خڀ٭سدَخض وَ٥دزٷ ودظؿ خڀعٙٵًن ڄ ٫خڀٽځمص خؼبٙٵُش خڀيت نحبػ ٬ه ٴٻ
ظٙٵًنٌد.
ٸدڂ ً٬ي ڄه خؼبربؾبٌن خحملعُٴٌن زةوٙدء ڄٽعسدض ڀٽٿٍ ڄه وىخَِڄُدض خڀعٙٵًن وخؽبدُ٘ىٯ ،وٌڀٻ هبًٲ ظٌُٓٿ خؼبهمص ٬ځً خؼبربؾبٌن يف
خٔعىًخڂ ټال خڀىىٌ٬ن خڀٕدزٹٌن.
و ٸً ظىٴُض ٌٍي خؼبٽعسدض ألٰځر ڀٱدض خڀربؾبص ,وَٽٵُٻ ٴٹ ٣خٔعً٬دء خإلـُخء ؤو خڀعدز ٫وخؼبٽعسص ظعٽٵٿ زدڀسدٸٍ وظ٭ُ٥ٻ خڀىدظؿ .
ڄؽالً :ڀى ؤَيض ؤن ؤ٘ٵُ ټځمص Helloزىخٔ٥ص وىخَِڄُص ، DESٴإٸىپ ؾبدِخً :
يف خغبٹُٹص ٌٍخ ٌى خڀع٭سًن خجملدٌِ ،وإلٔٹد٬ ً٤ځً خڀٽعدزص خڀربؾبُص وٹىپ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 122
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ٌٍخ ٘ٽٿ ڄه ؤ٘ٽدپ خؼبځٵدض ڀٽٿ ڀٱص ،وٸً َعڃ ظ١مٌن خؼبٽعسدض يف ولًخض DLLوَٕعًُ٬هد خؼبربڄؿ زىخٔ٥ص خڀـ
.Export Tables
بن خٔعىًخڂ خؼبٽعسدض وظ٥ىَ٭هد ىبعځٳ لٕر ڄهدَظٻ خڀربڄؿَص ولًوي خڀځٱص خڀيت ظٕعىًڄهد.
بٌخ ٴعمط ٌٍي خؼبٽعسص زدڀځٱص خڀيت ظٕعىًڄهد ٔع٭ؽُ ٬ځً خإلـُخء ؤو خڀعدز ٫خڀٌٍ وبٹٷ ڀٻ ڄد هتًٲ بڀًُ.
ڀىإوٍ ٬ځً ٔسُٿ خؼبؽدپ خؼبٽعسص DESوڀىٵعمهد يف يڀٵٍٔ ،ىفً خإلـُخء خڀعدرل :
;Function EncryStr (Str, Key: String): String
: Key Stringڄٵعدق خڀعٙٵًن ،وَ٥ځر ڄىٻ خڀعدز ٫ؤن َٽىن ڄه خڀىى ٪خڀى String ٍٝوال يبٽه ؤن َٽىن َٸمُدً . Integer
ٴةٌخ ؤَيض ظٙٵًن خڀٽځمص Helloدبٵعدق خڀعٙٵًن RobenEDH56وو ٫٠خڀىدظؿ يف خؼبُز ٫خڀى Text1 ٍٝٴدټعر :
; ) Text1.Text := EncryStr ( Hello , RobenEDH56
َإيت خڀٕاخپ ٌىد :ټُٳ ؤُ٬ٲ ڄد ٌى خڀعدز ٫خڀٌٍ ٔإٔعىًڄً؟ وڄد ٌٍ زدَخڄُعُخظً؟
ڄه خڀىخ٠ك ؤوً ڀعٙٵًن ٬سدَش زدٔعىًخڂ ، RSAوڀٽه ټُٳ رل ؤن ؤُ٬ٲ ڄد ٌٍ خڀربخڄُعُخض خڀيت ٔإڄٌَُد ڀً؟
٬ځً ٔسُٿ خؼبؽدپ modb : TFCInt :ڄد ٌى؟ وڄد ٌى خڀىى ٪خؼب٭ُٲ زً وټُٳ ؤٔعىًڄً؟
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 123
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
)4خڀسمػ يف خإلوعُوط ٬ه ڄ٭ځىڄدض ظٵًُ يف خٔع٭مدپ ٌٍي خؼبٽعسص ز٭ً ؤن ظٽىن ٸً ٸمط زدڀسىً ).(3
٤س٭دً ڀه َٙمٿ لًَؽىد ڄٽعسدض ، DLLوڀه وٕع ٫ُ٥ټٍڀٻ خڀعٽځڃ ٬ه صبُ ٫خڀُ٥ٶ.
ؤڄؽځص :
: Visual Basic 6يبٽه ؤن ظٹىڂ زة٠دٴص خؼبىيَٿ Des.basؤو خڀٝىٳ Des.Clsبذل ڄُٙو٬ٻ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 124
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وڀًي خٔعٽٙدٲ خڀربودڄؿ زربودڄؿ DEDEخػبد ٚزدڀربخڄؿ خؼبربؾبص زدڀًڀٵٍ ،وټىن خڀعمَُه ال وبىٌ ٬ځً ؤَِخَ ،ٴهى ٌٸدَن زٌن
خڀَُٕدپ خؼبًوٿ وخڀَُٕدپ خڀٝمُك ٬ىً خغبًغ ، MKEYChangeويوځىد بڀًُ وظإټًود ڄه ٌڀٻ وؤوٍود ٬ىىخن خڀسًخَص ؽبٍخ خإلـُخء
:
-مث وٹىڂ زى ٫٠وٹ٥ص ظىٸٳ ٬ىً زًخَص خإلـُخء ٬ MKEYChangeىً خڀ٭ىىخن 00453E7وكبدوپ ظٱًُن خڀَُٕدپ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 125
AT4RE :انفريك انعرتي نههُذسح انعكسيح انرشفيـــــــــــــــــــــر . خطىج إنى األياو:انهُذسح انعكسيح
00453EBF JE 00453FE2
00453EC5 LEA EAX, [LOCAL.7]
00453EC8 CALL 00403E88
00453ECD LEA EAX, [LOCAL.1
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 126
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
هبر خالوعسدي ٌىد بذل ؤن ودظؿ وىخَِڄٍش ظٙٵًن َ DESٽىن يف خڀٹدً٬ش (Base 64) 64وٌى يف لدڀعىد :
}٤ ( ÷?°ŸË-$س٭ًد ڄٹځىزص ڄه خڀُمٌن بذل خڀُٕدَ )
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 127
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
بٌخ يوځىد بذل ٌٍخ خالٔعً٬دء ٔىالل ٧لځٹص خڀعمىَٿ خڀعدڀُص :
و خڀىدظؿ ٌى 7D242D9FCBB03FF7 :ټمد ظالل٩ىن.
ڀځعإټً :
يف زُودڄؿ SND : ؤيوٿ خڀٹُمص 526F6265 :
Reverser Toolيف خغبٹٿ Input
وڄٵعدق خڀعٙٵًن : DES خوعُ وىخَِڄُص خڀعٙٵًن
RobenCrackMe1ForElite01
خوعُ UPPER CASEڄه خڀـ Option
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 128
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
00453F61 CALL 00453828 ظٙٵًن خڀٹُمص :خڀَُٕدپ خؼبًوٿ ) (1234567890خبىخَِڄُص خڀعٙٵًن Rijndael
ٌىد َٕعىٸٵىد ؤڄُ وٌى ؤوً :بٌخ ټدن خڀَُٕدپ خؼبًوٿ = ودظؿ Des + Hexڀالٔڃ
ٴهٍخ َ٭ين ؤن ودظؿ ظٙٵًنٌڃ خبىخَِڄُص ُٔ Rijndealٽىن ڄعٕد ٍو ( ألن خڀٹُمعٌن ڄعٕدوَعٌن وَعڃ ظٙٵًننبد زىٵٓ خؼبٵعدق ) .
وزدڀعدرل ٴةن وىخَِڄُص Rijndaelو٠٭ط ٴٹ ٣لىت َعڃ سبىًَ خؼبٹدَوص زٌن خڀَُٕدپ خڀٝمُك وخڀَُٕدپ خؼبًوٿ .
00453F7C JNZ SHORT 00453FBF خڀٹٵّ ؿبٹٷ بذل خڀ٭سدَش خػبد٤حص ٬ىً ً٬ڂ خڀعٕدوٌ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 129
AT4RE :انفريك انعرتي نههُذسح انعكسيح انرشفيـــــــــــــــــــــر . خطىج إنى األياو:انهُذسح انعكسيح
.) Hex ىً خڀعمىَٿ بذل٬ ىپ خالٔڃ هبر ؤن َٽىن لُٴٌن ؤو ؤټؽُ (ألن خڀربودڄؿ وبٍٲ خغبُٲ خألوًن٤ )1
.ځً ؤٌ ڀٱص زُؾبص ذبًٌُد٬ هد٥ ويبٽه ؤن ظٕٹ،مُكٌٍٝي خػبىخَِڄُص غبٕدذ خڀَُٕدپ خڀ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 130
AT4RE :انفريك انعرتي نههُذسح انعكسيح انرشفيـــــــــــــــــــــر . خطىج إنى األياو:انهُذسح انعكسيح
Exit;
End;
For I:=1 To ( Length(UName)-1 ) do
Begin
HexName:= HexName + IntToHex(Ord(UName[I]),2); { حتْٓل االضه إىل ىظاو الطت٘ عشسٖ ماعدا احلسف األخري
}
End;
Key:= 'RobenCrackMe1ForElite01';
StrDES:= EncryStr( HexName, Key ); { } تشفري الياتج
For I:=1 To Length(StrDES) do
Begin
StrHex:= StrHex + IntToHex(Ord(StrDES[I]),2); { } حتْٓل الياتج إىل ٍٔكظ
End;
TXTSerial.Text := UpperCase (StrHex); { ٗ} حتْٓل إىل أحسف كبري
End;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 131
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
خوارزمية اجلنل
ElGamal Algorithm
َ .1كسَ١
وٹًڂ ٌىد ُ٘لدً ڄسٕ٥دً ػبىخَِڄُص خڀعٙٵًن خعبمٿ ElGamalڄه والپ ڄؽدپ ٬مځٍ ،مث ٔىعُ٥ٶ ڀٽُٵُص ټعدزص ټُفه ڀځعمَُه.
)6كتابة الكيحً.
مت ظ٥ىَُ وىخَِڄُص خعبمٿ ( ) ElGamalيف ڄهظربخض Hewlett –Packard Labsيف ټدڀُٵىَوُد يف خڀىالَدض
خؼبعمًش خألڄَُٽُص ٬ځً ًَ خڀ٭ددل خؼب٤" ٌُٝدٌُ خعبمٿ" Taher ElGamalوڀٍڀٻ ظبُط خػبىخَِڄُص زدظبً.
ظىًَؾ وىخَِڄُص خعبمٿ ربط ٬ىىخن ټسًنَ :٭ُٲ زدٔڃ :ـب ٣٥خڀعٙٵًن زدؼبٵعدق خڀ٭دڂ Public-Key Encryption
. Schemeوظٕعىًڂ ټٹدً٬ش ؽبد. Discrete algorithm problem & Diffie-Hellman Problem :
و٭عٹً ؤن خؼب٥ٝځمٌن خألوًنَه حبدـص بذل خوعٝد ٍٜيف خڀ٭ځىڂ خڀَُدُ٠ص ڀُٙلهمد ،وٌٍخ ڀُٓ ـىٌُ ڄى٠ى٬ىد.
خألڄُ خؼبهڃ يف ٌٍي خػبىخَِڄُص ٌٍ خٔعىًخڄهد ؼبى ٣٥خڀعىٸُ ٫خڀُٸمٍ ،وخڀٌٍ َ٭ُٲ زدالٔڃDigital Signatures :
. Schemeوٌٍي ظٕعىًڂ غبمٿ خڀ٥دز ٫خڀٙى ٍٝڀځٙى ٛخڀٌٍ ٸدڂ زدڀعٙٵًن ،وپؼبى ٫ڄه خڀ٭سػ زدڀُٔدڀص خؼبٙٵُش.
ٌٍخ خؼب٥ٝځك زُٙلً خڀٕدزٷ َى٥سٷ زٙٽٿ ؤټرب ٬ځً ٬مځُدض خڀىٹٿ خإلڀٽعُوين ٬رب خڀىَر.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 132
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ټمد ٔسٷ وٌټُود ٴةن خػبىخَِڄُص ظىًَؾ ربط زىً :وىخَِڄُدض خڀعٙٵًن زدؼبٵعدق خؼب٭ځه ؤو خڀ٭دڂ.
و ٌٍخ َ٭ين ؤن خػبىخَِڄُص ظٕعىًڂ ظىڀُٵص ڄه خؼبٵدظُك خڀ٭دڄص ( ) Publicوخػبدٜص ( .) Private
ڀىسًؤ خِن زع٭َُٳ ؼىخزط خػبىخَِڄُص يون خڀًوىپ يف خؼب٭ديالض خڀَُدُ٠ص :
انزيش ( : ) Pوٌى ڄٵعدق ٬دڂ ( ؤٌ ؤوً ڄ٭ځه وڄىـىي يخوٿ خڀربودڄؿ ) وهبر ؤن َٽىن ٌٍخ خؼبٵعدق ٬سدَش ٬ه ً٬ي ؤورل وټسًن
وى٬دً ڄد؛ ڀُمٹٷ ظٙٵًن ڄعٌن ڀځسُدودض.
انزيش ( : ) Yڄٵعدق ٬دڂ ( ؤٌ ؤوً ڄ٭ځه وڄىـىي يخوٿ خڀربودڄؿ ) وًَ. Power : ً٬
انزيش ( : ) Gڄٵعدق ٬دڂ ( ؤٌ ؤوً ڄ٭ځه وڄىـىي يخوٿ خڀربودڄؿ ) وًَ. Base : ً٬
انزيش ( : ) Xخؼبٵعدق خػبد ( ٚوڀً ؤنبُص زدڀٱص يف ٴٻ خڀعٙٵًن وڄهڃ ـًخً يف لٕدذ خڀعىخٸُ ٫خڀُٸمُص ).
انزيشيٍ ( : ) a , bوًَُ٬دن زدڀعىخٸُ ٫خڀُٸمُص ونبد خؼبٕاوالن ٬ه خڀعإټً ڄه خڀُٔدڀص خؼبٙٵُش ،وَعڃ لٕدهبڃ خ٪سبديخً ٬ځً
خؼبٵعدق خػبد. ) X ( ٚ
بٌخ ڄه والپ خڀ٭ُ ٞخڀٕدزٷ ڀځؽىخزط :قبً ؤن خڀٹُمص خڀىلًُش خجملهىڀص ٌٍ :خؼبٵعدق خػبد X ٚوَ a, bعڃ لٕدهبد ڄه
والڀً.
إلهبدي ٌٍخ خؼبٵعدق خ٬عمديخً ٬ځً خڀٹُڃ خؼبعىٴُش ڀًَىد كبه حبدـص بذل ظ٥سُٷ خؼب٭ديڀص خڀعدڀُص وخجملهىپ خڀىلًُ ٴُهد ٌى : X
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 133
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ظ٭عرب خؼبٽعسص FGIntوولًخهتد خڀربؾبُص خؼبُٴٹص ڄ٭هد ڄالٌخً ـًُخً ؼبربڄؿٌ يڀٵٍ ڀٽعدزً ظ٥سُٹدض ظٕعىًڂ ز٭ ٟوىخَِڄُدض
خڀعٙٵًن وخؽبدُ٘ىٯ.
ال َهًٲ ُ٘لىد بذل ظىدوپ خؼبٽعسص جبمُ ٫بڄٽدوُدهتد ،زٿ ٔىُټّ ٬ځً خألڄىَ خڀيت زبٝىد يف ئَىد ٌٍخ.
ظإيت خؼبٽعسص ڄ ٫خؼبځٵدض خڀعدڀُص :
FGInt.pas – FGIntElGamal.pas – FGIntPrimeGeneration.pas
يف ئَىد ٌٍخ ٔىٕعىًڂ خؼبځٵٌن خألوپ وخڀؽدين ،ؤڄد خڀؽدڀػ ( )FGIntPrimeGeneration.pasٴهى َٕعىًڂ ڀعٽىَه
خؼبٵدظُك خڀ٭دڄص وخػبدٜص ،ڄ ٫ؤن ٌىدڀٻ ز٭ ٟخڀربؾبُدض خڀيت ظٹىڂ هبٍخ خألڄُ وؤوط ظٕعىًڂ خڀٹُڃ ـدٌّش ( ڄُٴٷ ڄ ٫خڀًَْ
خڀربودڄؿ ElGamal :وخڀٌٍ َىـً ڀٻ خڀٹُڃ خڀٕدزٹص )
ڀىٹڃ زٵعك خڀىقيش ڄه والپ زُحص خڀع٥ىَُ يڀٵٍ ( ڄه ال يبځٻ يڀٵٍ يبٽىً ٴعمهد زإٌ ؿبَُ و. ) ٍٝ
ڀىعدز ٫خِن خإلـُخجُدض خؼبهمص يف ئَىد ٌٍخ :
Procedure ElGamalEncrypt (P : ;String ;)Var g, y, k, modp : TFGInt; Var E : String
Procedure ElGamalDecrypt (E : ;String ;)Var x, p : TFGInt; Var D : String
Procedure ElGamalSign (M : ;String ;)Var p, g, x, k : TFGInt; Var a, b : String
Procedure ElGamalVerify (Var g, y, p ;): TFGInt; a, b, M : String; Var ok : Boolean
َٕ oعىًڂ خإلـُخء خڀُخز ElGamalVerify ٫يف خڀعمٹٷ ڄه ٜمص خڀُٔدڀص خؼبٙٵُش خ٬عمديخً ٬ځً خڀعىخٸُ ٫خڀُٸمُص
. a,b
: G , Y , Pخڀٍَه ُ٬ٴىدٌڃ يف خؼبٹًڄص ،وڀٽه خوعسً بذل ؤوً َ٭ُٴهڃ ٬ځً ؤهنڃ ڄه خڀٝىٳ TFGIntوڀٽه ڄدٌى خڀٝىٳ
TFGInt؟
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 134
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
يف خغبٹُٹص ٌى ٜىٳ ظٵهمً وظع٭دڄٿ ڄ٭ً خؼبٽعسص FGIntٴإوط ظٹًڂ ؽبد خڀُٸڃ Decimal ٌُٙ٬وٌىدٺ ظىخز ٫ربىڀً بذل خڀٝىٳ
، TFGIntوڀٵهڃ ؤټؽُ ؽبٍي خڀ٭مځُص ي٬ىود وځٹٍ وُ٩ش ٬ځً خڀىلًش : FGInt.pas
…
…
;)Procedure ConvertBase256StringToHexString (Str256 : String; Var HexStr : String }{1
;)Procedure ConvertHexStringToBase256String (HexStr : String; Var Str256 : String }{2
…
;)Procedure Base10StringToFGInt (Base10 : String; Var FGInt : TFGInt }{3
-خإلـُخء }َٕ :{3عىًڂ ڀځعمىَٿ ڄه خڀٹدً٬ش خڀ٭َُٙص بذل خڀٛوٳ TFGintوٌٍ ڄد ٔىٕعىًڄً يف ټعدزص ټُفه ؽبٍخ خڀعمَُه.
بٌخ ټدوط خڀعىخٸُ ٫خڀُٸمُص ٜمُمص ڄه خـٿ خڀُٔدڀص خؼبٙٵُش Mٴدڀىدظؿ ٌى و٭ڃ ؤو Trueؤو 1
بٌخ ټدوط خڀعىخٸُ ٫خڀُٸمُص ًٰن ٜمُمص ڄه ؤـٿ خڀُٔدڀص خؼبٙٵُش Mٴدڀىدظؿ ٌى ال ؤو Falseؤو . 0
;)Procedure ElGamalSign(M : String; Var p, g, x, k : TFGInt; Var a, b : String
…
;)FGIntToBase256String(temp1, a
…
;)FGIntToBase256String(temp3, b
;End
وواللٌ ٧ىد ؤن خڀسدَوڄُعُخض خؼب٥ځىزص ٌٍ ( ) P,G,X,Kوټځهد ڄ٭ځىڄص ڀًَىد ڄدً٬خ Xڄ٥ځىذ لٕدزً.
ټمد والل ٧ؤن وُؾ ٌٍخ خڀعدزَ ٫ٽىن يف خڀٹدً٬ش .) Base 256 ( 256
ڀًي ٴم ٛخڀعمَُه زربودڄؿ PEIDوؤلً ب٠دٴعً خؼبٕدً٬ش وٌٍ ٔ Kanalىفً :
خڀربودڄؿ ڄربڄؿ زځٱص Delphiوٌى ًٰن ڄ١ٱى ٢ؤو ڄٙٵُ.
خڀربودڄؿ َٕعىًڂ ظىخز ٫ظٙٵًن ًًَ٬ش ،وڄه والپ خؼبٹًڄص خڀٕدزٹص قبً ؤن ؤنبهد ڄد َځٍ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 135
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وڀًي خٔعٽٙدٲ خڀربودڄؿ زربودڄؿ ، DEDEوټىن خڀعمَُه ال وبعىٌ ٬ځً ؤَِخَ ٴهى َٹدَن زٌن خڀَُٕدپ خؼبًوٿ وخڀَُٕدپ خڀٝمُك
٬ىً خغبًغ ، MKEYChangeويوځىد بڀًُ وظإټًود ڄه ٌڀٻ وؤوٍود ٬ىىخن خڀسًخَص ؽبٍخ خألـُخء :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 136
AT4RE :انفريك انعرتي نههُذسح انعكسيح انرشفيـــــــــــــــــــــر . خطىج إنى األياو:انهُذسح انعكسيح
: أكبدوپ ظٱًُن خڀَُٕدپ00455A88 ىً خڀ٭ىىخن٬ MKEYChange ىً زًخَص خألـُخء٬ ص ظىٸٳ٥ وٹ٫٠ مث وٹىڂ زى-
: خؽبدڄص٢ځً خڀىٹد٬ ٣ُ ٴٹٝ ووٹع٫مځُص خڀععس٬ ً ڄ٭د٫ىد وعدز٬ ڀٽه ي،َعىٸٳ خؼبىٹك ٌىد
00455A88 PUSH EBP ; ;زًخَص خإلـُخء
….
00455AE9 DEC EAX
00455AEA JGE SHORT 00455B45 ُٵٝ خڀ٫ىپ خالٔڃ ڄ٤ ; ڄٹدَوص
….
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 137
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
لىت وٽىن وخٸ٭ٌُن يف خڀعمځُٿ ٴُفر خڀعىسًُ بذل ؤن خڀععس ٫يف خؼبىٹك ال َٽٵٍ ڄد دل يبٽه ٬ىًٺ وځٵُص ـًُش يف ؼىخزط
خػبىخَِڄُص وبـُخجُدض خؼبٽعسص FGIntElGamalوٸىخ ً٬خڀٹُڃ خڀيت ظع٭دڄٿ ڄ٭هد.
ٴځى ؤوٍود خألـُخء : ElGamalVerify
Procedure ElGamalVerify (Var g, y, p : TFGInt; a, b, M : String; Var ok : ;)Boolean
G = 878977914
٤ -س٭دً ( : ) G, Y, Pزدڀى٩دڂ خڀ٭ ٌُٙوهبر ربىَځهد بذل خڀٝىٳ Y = 972424840
. TFGInt P = 4150976723
: ) a, b ( -زدڀى٩دڂ خپٔعص ( ٌُٙ٬لٹٿ خڀَُٕدپ ال َٹسٿ بال =a ڄه ؤوپ 8ؤلُٲ
و٩دڂ , ) hexوهبر ربىَځهد بذل خڀٹدً٬ش 256الٔعىًخڄهد يف خڀَُٕدپ
خإلـُخء َ ( ElGamalSignخـ ٫ظ٭ځُمدض ٌٍخ خإلـُخء
خين 8ؤلُٲ ڄه خڀَُٕدپ = b
غ
ؤعالل ٧خڀعمىَٿ يف خڀسًخَص 256بذل خڀٝىٳ .) TFGInt
خالْڂ = M
بٌن خڀَُٕدپ خڀٝمُك يبؽٿ صب ٫خڀٹُمعٌن ( ) a , bوڀٽه ټُٳ يبٽه خغبٝىپ ٬ځً ٌٍي خڀٹُڃ ڄه والپ خالٔڃ ؟
ٌىد هبر ٬ځُىد خٔعىًخڂ خإلـُخء ElGamalSignخڀٌٍ َىعؿ ڀىد خڀٹُمعٌن ( ) a,bخڀٝمُمعٌن ڀالٔڃ.
ڀىٕع٭ٌٍُ ٞخ خإلـُخء وڀىٙدًٌ ڄد َىٹٝىد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 138
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ټٿ خڀٹُڃ ڄعىٴُش ڀًَىد زدٔعؽىدء خڀٹُمص Xوإلهبدي ٌٍي خڀٹُمص ڀًَٻ بلًي خڀَُ٥ٹعٌن خڀعدڀُعٌن :
ٌٍخ خڀربودڄؿ وبٕر ڀىد ٸُمص Xوڀٽىً َ٥ځر خڀٹُڃ زدڀى٩دڂ Hexوزعمىَٿ خألَٸدڂ بذل Hexقبً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 139
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
٤س٭دً خؼبًش خڀيت َٕعٱُٸهد لٿ خؼب٭ديڀص زبعځٳ لٕر ٤ىپ خؼبٵعدق خؼبٕعىًڂ ،وٸً خٔعىًڄىد يف ٌٍخ خڀعمَُه ڄٵعدلدً ٜٱًنخً وٕسُدً ز٥ىپ
٬ځُڃ ،وخألڄُ ُٔٽىن ؤٜ٭ر زٽؽًن يف لدپ . 1024 bits
32 Bitsهبًٲ خڀط
ٔىٕعىًڂ ٌىد ڀٱص Delphi 7ؤىٽعر خڀُٙٵُش خػبدٜص زعمُٝٿ خڀَُٕدپ ( خڀٕىَْ ټىي ڄُٴٷ ) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 140
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
;'g:='878977914
;)Base10StringToFGInt(g,FGInt_g
;'p:='4150976723
;)Base10StringToFGInt(p,FGInt_p
;'X:='2176008062 } إعداد الثْابت ّحتْٓلَا إىل { FGInt
Base10StringToFGInt(X ;),FGInt_x
;)Base10StringToFGInt('1',FGInt_k
;)ElGamalSign(tname.text,FGInt_p,FGInt_g,FGInt_x,FGInt_k,str256_a,str256_b
;)ConvertBase256StringToHexString(str256_a,strhex_a
;)ConvertBase256StringToHexString(str256_b,strhex_b
;Tpass.text:=strhex_a + strhex_b } الطسٓال اليَائٕ {a+b
;end
.8نًُ ١ختاَ١ٝ
مت خڀعُ٥ٶ ٌىد بذل خڀعمٹٷ ڄه خڀعىخٸُ ٫خڀُٸمُص خػبدٜص خبىخَِڄُص ElGamalوٌىدٺ ڄهمعٌن ب٠دٴُعٌن ظٹىڂ هبمد ٌٍي
خػبىخَِڄُص ،ونبد :خڀعٙٵًن وٴٻ خڀعٙٵًن ،ؤُٽىن خألڄُ ٔهالً ٬ځُٻ بن ٴهمط خڀُٙق خڀٕدزٷ .
ال َٽٵٍ ٌٍخ خڀُٙق ولًي إلَٝدڀٻ بذل ڄٕعىيً ڄعٹًڂٍ .،زٿ َىسٱٍ ٬ځُٻ خال٤ال ٪وخڀٹُخءش ڀًَخٔص خؼبًَّ ڄه خألٔدڀُر
وخإلـُخجُدض خؼبعس٭ص يف خڀعٙٵًن وٴٻ خڀعٙٵًن وڄځمٹدهتد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 141
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
بن وىخَِڄُص RSAظ٭ً وخلًش ڄه ؤټؽُ وىخَِڄُدض خڀعٙٵًن خٔع٭مدالً يف ؾبدپ خغبدٔسدض ،وٌٍ ٬سدَش ٬ه Public_key_cipher
ٜممط يف ڄ٭هً ظٽىىڀىـُد ڄدٔدظٙىٔعٓ MITخڀٙهًن دبًَىص ټدڄربًَؾ ٬دڂ . 1978
خالٔڃ ڄٹعسٓ ڄه خأللُٲ خألوذل ؼبٝممٍ خػبىخَِڄُص خڀؽالغRon Rivest , Adi Shamir & Les Andleman :
ڄىٍ ظدََه 2000/9/20ؤٜسمط ٌٍي خػبىخَِڄُص ڄعدلص ڀځفمُ ٫ؾبدودً ،ودل ظ٭ً لٽُخً ٬ځً لٽىڄص خڀىالَدض خؼبعمًش.
َ٭عمً خڀعٙٵًن ًٰن خؼبعىد٬ ُ٨ځً ڄٵعدلٌن ال َٙسً ؤلًنبد خِوُ وَ٥ځٷ ٬ځُهمد خٔڃ Public keyو Private keyلُػ ؤن خؼبٵعدق
خڀ٭دڂ ڄعدق ڀځفمُ ٫وزً َعڃ ظٙٵًن خڀسُدودض ،وؤڄد خؼبٵعدق خخلخ ٚٴُعڃ زً ٴٻ ظٙٵًن ظځٻ خڀسُدودض.
بٌن ڄه ٬مٿ ٌٍخ خألوًن َعسٌن ڀىد ؤوً هبر ٬ځُىد بوٵدئي ،وڄه خظبً ټٍڀٻ ظ٩هُ ؤنبُعً.
ٸدڂ ټُمي زعٙٵًن ڄ٭ځىڄدض زدؼبٵعدق Nمث ؤَٔځهد بذل ضبّش .مث ٸدڂ ضبّش زٵٻ ظٙٵًنٌد وٌڀٻ زدؼبٵعدق D؛ لُػ ؤن ظځٻ خؼب٭ځىڄدض ال
يبٽه ٸُخءهتد بال ڄه ٸسٿ ضبّش.
ٌٍخ ڄد وبًغ يف خڀربخڄؿ خڀيت ظ٭عمً يف ضبدَعهد ٬ځً ٌٍي خػبىخَِڄُدض .وظ٭عرب ټٍڀٻ ڄه زٌن خػبىخَِڄُدض خألټؽُ ٜ٭ىزص يف خڀٽُٕ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 142
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
RSAencryptوؤڄد خڀًخڀص يف ڄؽدڀىد خڀٌٍ كبه زًٝي ُ٘لً ٔىٕع٭مٿ ڄٽعسص خڀـ RSACryptخڀيت ٔىٕعىًڂ ڄىهد خڀًخڀص
RSAdecryptٴهٍ خؼبٕع٭مځص يف خڀربودڄؿ.
ػًههًا:
: RSAencrypt
ؽبٍي خڀًخڀص ؤَز ٫زدَخڄعُخض ،و٬مځهد ٌى ټدڀعدرل :
: RSAdecrypt
ؽبٍي خڀًخڀص ټٍخڀٻ ؤَز ٫زدَخڄعُخض ،وڄسًؤٌد يف ٴٻ خڀعٙٵًن ٌى ټدڀعدرل :
بٌن :خڀًخڀص خألوذل ٌٍ خؼبىـىيش يف ڄؽدڀىد ٌٍخ ،وٌٍخ زًَهٍ ألهند ظٕع٭مٿ ٸُمعٌن ڄ٭ُوٴعٌن ونبد Nو ، Eوؤڄد خڀًخڀص خڀؽدوُص ٴهٍ زُط
خڀٹ ًُٝلُػ ؤهند ظٕع٭مٿ خڀٹُڃ Nو.D
زدڀىٕسص ڀـ Nٴىمه و٭ُٴهد وؤڄد Dٴال و٭ځڃ ٬ىهد ُ٘حدً .وڀځمٝىپ ٬ځً خڀٹُمص Dٴةوىد وٹىڂ ز٭مځُص Factoringؤٌ خڀعمځُٿ بذل
٬ىخڄٿ ،وٌڀٻ زدأليخش Msieveؤو خأليخش .RSA Tool
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 143
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
٬ىً ٴعمٻ ؼبُز ٫خغبىخَ خػبد ٚزدڀعٕفُٿ ُٔ٥ځر ڄىٻ يف خڀٹٕڃ خألوپ ټعدزص خظبٻ ،ويف خڀٹٕڃ خڀؽدين ټعدزص ظٙٵًن الظبٻ؛ لُػ ؤوً
ُٔٹىڂ زٵٻ خڀعٗٴًن خؼبًوٿ وڄٹدَوعً ڄ ٫خالٔڃ خؼبًوٿ ،وٌڀٻ دبٕدً٬ش خؼبٽعسص ،RSACryptوٌٍي خألوًنش ٌٍ زُط خڀٹًُٝ؛ لُػ
ؤوٻ بٌخ ؤَيض ٴٻ ظٙٵًن و ٛڄد ٴةوٻ ظٕع٭ٌن زـ :
خؼبٵعدق .N
خؼبٵعدق .D
زدڀىٕسص ڀألْ ٴىمه و٭ُٴً ،وخؼبٵعدق Nټٍڀٻ و٭ُٴً ،وڀٽه خؼبٵعدق Dال و٭ُٲ ٬ىً ُ٘حد ٴهى ؾبهىپ!!
زًخَص ي٬ىد وٹىڂ زٵٻ ٠ٱ ٣خڀربودڄؿ زدڀربودڄؿ خڀٙهًن QuickUnpack؛ ألن خڀربودڄؿ خڀ١مُص ڄ١ٱى ٢ټمد ؤو٠ك ڀىد زُودڄؿ
خڀٵم.PEiD ٛ
Krypto ز٭ً ٌڀٻ ڀىٹڃ زٵم ًٝڄُش ؤوُي زربودڄؿ PEiDڀى٭ُٲ ؤٌ ڄٽعسدض خڀعٙٵًن َٕع٭مٿ وٌڀٻ زىخٔ٥ص خأليخش خؼبٕدً٬ش
ANALyzerخؼب١دٴص ڀربودڄؿ خڀٵم ،PEiD ٛوخڀىعُفص ټمد ظالل : ٧بوً َٕع٭مٿ خؼبٽعسص .FGint
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 144
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ْوٹىڂ زىٕه ڄد وُخي وڀٝٹً يف خؼبٵٽُش ،وٌڀٻ زىخٔ٥ص خڀَّ Exportخڀٌٍ ظُخي يف خڀٝىَش خڀٕدزٹص هبٍخ خڀىمى:
وؤڄد خڀًخڀص خڀؽدوُص وخڀؽدڀؽص وخڀُخز٭ص ٴال ؤنبُص ؽبڃ ٬ىًود يف ًٌخ خڀًَْ ،ٴىمه وًَُ ؤن و٭ُ٥ٻ خػبُ ٣وؤوط ظٽمٿ خؼبٙىخَ ،ٴةن ظ٭ځمط
ُ٘حدً ـًًَخً ٴال ظسىٿ ٬ځُىد زً.
ڀىىٕه خڀ٭ىىخن 4D61E0وخڀ٭ىىخن 4D8644مث وععس٭همد يف OllyDbgخڀٌٍ َٹىيود بذل زًخَص خڀًخڀص Base10StringToFgint
يف خڀ٭ىىخن خألوپ ټمد َ٩هُ يف خڀٝىَش خڀيت ؤڄدڄٻ :
FGInt
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 145
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وڀٽه ٌٍخ ڀُٓ ټٿ ٍ٘ء؛ ٴةن زُودؾبىد ڀه َعىٸٳ ٬ىً وٹ٥ص خڀعىٸٳ؛ ألوً َٹُؤ ڄ٭ځىڄدض خڀعٕفُٿ خڀيت ؤيوځعهد ٔځٵدً ،وٌڀٻ ؤؼىدء ظىٵًُ
خڀربودڄؿ ،وٌٍي خؼب٭ځىڄدض لٵ٩هد خڀربودڄؿ يف ڄځٳ .swftovideo.ini
بٌن :هبر ڄٿء ڄ٭ځىڄدض خڀعٕفُٿ إلوٙدء خؼبځٳ ټٍ َعٕهَّ ڀٻ خڀعىٸٳ ٬ىً خڀىٹ٥ص خڀ٩دٌُش يف خڀٝىَش.
لٕىد ٔىعىٸٳ ٬ىً ظځٻ خڀىٹ٥ص ڀىٙدًٌ وو٭ُٲ ڄه ؤٌ ٬ىىخن مت خٔعً٬دء ٌٍخ خڀُوظٌن؟
وٹ٥ص خڀعىٸٳ
ٔىٌٍر بذل خپـ Stackمث زدڀَّ خأليبه ڀځٵإَش لبعدَ خڀسىً ، Follow in Disassemblerوز٭ً خڀ١ٱ٬ ٣ځً ٌٍخ خػبُدَ ٔىٽىن ٌىد
ټمد ٌى وخ٠ك زدڀٝىَش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 146
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ٌىد
ڀى ٫١وٹ٥ص ظىٸٳ ٬ىً خڀ٭ىىخن 4D90D0ټٍ لبُؾ ڄه خڀُوظٌن خڀٌٍ ؤوٍود ٴٽُش ٬ه ڄدٌُص ٬مځً ،مث ز٭ً ٌڀٻ وٹىڂ زدڀععس ٫بذل ؤن
وٝٿ بذل خڀ٭ىىخن 4D90E5خڀٌٍ ُٔ٩هُ ٬ىًي خؼبٵعدق Nټمد يف خڀٝىَش :
بٌن :وٕعىځ ٛفبد ٔسٷ زإن خؼبٵعدق ُٔ Nمىپ ټٍڀٻ بذل خڀـ َ .FGint٭ين َعڃ ذبهُّ خؼبٵعدلٌن ڀ٭مځُص ٴٻ خڀعٙٵًن.
لٕىدً ڀىٽمٿ ...ز٭ً خڀععسٔ ٫ىفً ؤوٵٕىد ٬ىً وٹ٥ص خڀعىٸٳ خػبدٜص زدڀًخڀص RSAdecryptټمد ظٙدًٌ يف خڀٝىَش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 147
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٵ٫پ ټمد ٴ٭ځىد ٔدزٹدً؛ لُػ ٔىٹىڂ زدڀُـى ٪بذل خڀىًخء خڀٌٍ َٕعًٌٍ ٍ٬ي خڀًخڀص وٌڀٻ زىخٔ٥ص خڀـ ، Stackوز٭ًٌد ٔىٽىن ٌىد
:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 148
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
بٌنٌ :ىد َعڃ ٴٻ خڀعٙٵًن ،مث ظإيت ز٭ً ٌڀٻ ٬مځُص خؼبٹدَوص ؤٌ ڄٹدَوص خالٔڃ خؼبًوٿ ڄ ٫خڀعٙٵًن خڀٌٍ مت ٴٽً٘ .دًٌ خڀٝىَش خڀيت ظى٠ك
ٌڀٻ :
ټمد ٌى ٨دٌُ يف خڀٝىَش ٴهىدڀٻ خٔعً٬دء ڀځمٹدَوص ز٭ًٌد ظإيت ٸٵّش ُُ٘٤ص ،ؤٌ خٸٵّ بٌخ دل ظعمٹٷ خؼبٹدَوص وال ظٹٵّ بٌخ ربٹٹط خؼبٹدَوص.
ڄه والپ ڄد ٌټُودي ٔدزٹدً ٬ه RSAdecryptؤ RSAencryptىٕع٭مٿ خڀًخڀص خڀؽدوُص ،وٌٍ RSAencryptخڀيت ظٹىڂ زعٙٵًن
خالٔڃ ،ڄ ٫خڀ٭ځڃ ؤهند ظٕعىًڂ خؼبٵعدق Dوٌٍخ خؼبٵعدق ؾبهىپ زدڀىٕسص بڀُىد! وٌىد َإيت يوَ خأليخش .Msieve
ٔعٹىپ :ؼبدٌخ ٌٍي خأليخش Msieve؟ وڄد ٴدجًش خأليخش خألوُي RSA Tool؟
ٔىٹىپ ڀٻ :بن خأليخش خڀيت ٔىٲ وٕع٭مځهد ٔعُٕ ٪ٸځُالً ٬مځُص خڀـ Factoringؤع٭ُ٥ىد خڀُٸمٌن pو qڀُعٕهَّ ڀىد لٕدذ
خؼبٵعدق ٬ Dرب خأليخش .RSA Tool
وٙٽُ ڄربڄؿ ٌٍي خأليخش خؼبمُّش ًٰن ؤن ٴُهد ُ٬سدً وخلًخً ،وٌى ؤهند ال ظٕعٹسٿ بال خألً٬خي خڀ٭َُٙص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 149
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وٵعك خأليخش Msieveمث وىٕه ٴُهد خؼبٵعدق Nخڀٌٍ لٝځىد ٬ځًُ ؤؼىدء خڀعىٹُك ،وٌى:
=N 111111918347621113761551267126198454426053267642844509165651820825173537473218924746426621953200773
خٔعٱُٶ خعبهدِ خڀٌٍ و٭مٿ ٬ځًُ يف خٔعىُخؾ خڀُٸمٌن pو qلىخرل .11:35:53
وخِن ټُٳ ٔىٕعىُؾ خؼبٵعدق D؟ خعبىخذ ٬ :رب خأليخش .RSA Tool
٘ٱٿ خأليخش مث ٸڃ زىٕه خڀُٸمٌن pو qوز٭ًٌد خ٠ٱ٬ ٣ځً خڀَّ Calc.Dټمد َ٩هُ يف خڀٝىَش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 150
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ؤوالً :لًيود خڀٹدً٬ش خڀيت ٔىع٭دڄٿ ڄ٭هد ،وٌڀٻ زدڀٌٍدذ بذل وُدَ خڀـ Number Baseوخوعُدَ10؛ ألوىد وع٭دڄٿ ڄ ٫ؤَٸدڂ زدڀى٩دڂ
خڀ٭.ٌُٙ
ؼدوُدً :وٕىىد ټالً ڄه خڀُٸمٌن pو qيف خؼبٽدن خؼبى ٛٝؽبمد ،مث ٠ٱ٥ىد ٬ځً خڀَّ Calc.Dغبٕدذ خؼبٵعدق Dوٌٍخ ټٿ ٍ٘ء.
بٌن ڀًَىد Nو ، Dوڄدٌخ ز٭ً؟ خِن ٔعإيت زُؾبص خڀٽُفه ،ؤىٹىڂ زربؾبعً زځٱص خڀًڀٵٍ ،ؤىٕع٭مٿ ڀٍڀٻ خڀًخڀص RSAencypt
وخؼبٵعدلٌن Nو Dټمد ظٙدًٌ ؤڄدڄٻ يف خڀٙٽٿ :
ټمد َ٩هُ يف خڀٝىَش N ٌٍ N1و ، D ٌٍ D1وخڀًخڀص Base10StringToFGintټمد ٌټُود آوٵدً ظٹىڂ زعمىَٿ خألً٬خي
C = M^D mod N خڀ٭َُٙص بذل خڀـ FGintوخڀًخڀص RSAencryptظٹىڂ هبٍي خڀ٭مځُص :
ٌ Mى testوټٍڀٻ ٌى Cودبد ؤن خڀٹُمص ٔععٱًن ڀځمعٱًن testز٭ً خڀًخڀص RSAencryptٴځُٓ ٌىدٺ ؤٌ ڄٙٽځص يف
ظٽُخَي.
ٌ eى d1ز٭ً يخڀص خڀعمىَٿ بذل خڀـ . FGint
n1 ٌٍ nز٭ً يخڀص خڀعمىَٿ بذل . FGint
test ٌٍ Cټمد َ٩هُ يف خڀٝىَش .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 151
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وهبٍخ وٽىن ٸً خوعهُىد ڄه ُ٘ق ؤټؽُ خػبىخَِڄُدض خٔعىًخڄدً وُ٘ى٬دً ،وڄ ٫ڄُوَ خڀىٸط ٔعفً ؤوٻ ٸديَ ٬ځً ٴهڃ ٌٍي خػبىخَِڄُص
ؤټؽُ وؤټؽُ..
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 152
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
.1املكسَ١
بن ټعدزص ټُفه ؽبٍخ خڀربودڄؿ ٰدَص يف خڀٕهىڀص ودٜص بٌخ ُ٬ٴىد ټُٵُص خڀع٭دڄٿ ڄ ٫خڀربخڄؿ خڀيت ظٕعىًڂ وىخَِڄُدض خڀعٙٵًن وٌٍخ ڄد
ٔىٹىڂ زعىُ٠مً بن ٘دء خهلل.
.2ؾشل ايدلْاَر
بن ؤٌڃ و٥ىش هبر ؤن ظٹىڂ هبد زًخَص ڀځع٭دڄٿ ڄ ٫ؤٌ ًٌٲ ظًَُ ټُٕي ٌى يَخٔعً ٸسٿ زًء خڀع٭ٹر ( )Tracingزـ F8وF7
وٌٍي خػب٥ىش وَٰڃ ؤنبُعهد خڀسدڀٱص َٱٵځهد ټؽًن ڄه خڀىدْ.
وٌٍي خؼبُلځص ظعڃ ٬رب ؼالغ ؤيوخض PEeditor :ٌٍ ،و PEIDو IDA
ٌٍي خؼبُلځص نٸىڂ هبد يخجمدً ٬ځمدً ؤهند ًٰن بڀّخڄُص ،وڀٽىهد ٰدڀسدً ڄد ظىٴُ ٬ځُٻ خڀٽؽًن ڄه خعبهً وخڀىٸط.
خأليخش خألوذل : PEeditorوڄه والؽبد يبٽىٻ ڄ٭ُٴص ٌٿ خؼبځٳ ڄٙٵُ ؤڂ ال ؟ ويف خڀ٭ًًَ ڄه خغبدالض يبٽىٻ ڄ٭ُٴص وى٪
خڀعٙٵًن لىت ٸسٿ زُخڄؿ خڀٵم ٛټـ PEiDؤو AT4RE FastScannerټمد سبٽىٻ ڄه ڄ٭ُٴص خڀًوخپ خؼبٕعىَيش
خػبدَـص ٬ه خؼبٽعسدض خؼب٭عديش ،وٌٍخ َٕهٿ ربًًَ خؼبٽعسص خڀيت ربعىٌ وىخَِڄُص خڀعمٹٷ ڄه خڀَُٕدپ.
سبٽىٻ ٌٍي خؼبُلځص ؤَ١د ڄه ٬مٿ ب٤الڀص ٬ځً ز٭ ٟخڀٹُڃ خؼبهمص يف خڀـ PE Headerوخڀيت ٸً ظُمًغ ڀٻ هتىُفًد يف
خعبهدِ ،ټمد ٌى خغبدپ ڄ Private exe Protector ٫ڄؽالً؛ ٴدڀُٕٽٙه خڀٽسًنش خڀيت َُ١ٵهد هتىؿ خعبهدِ ؤوظىڄدظُٽُدً.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 153
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
خأليخش خڀؽدوُص : PEiDوٌٍ ٰىُص ٬ه خپظ٭َُٳ ،ڀٽه ڄد َهمىد ٌىد ٌى خأليخش خؼبٕدً٬ش Pluginخؼب١دٴص ؽبد ،وٌٍ Kanal :
Krypto Analyzerوخڀيت ٸً ظ٭ُ٥ٻ ز٭ ٟخؼب٭ځىڄدض خڀيت ذب٭ځٻ ظعٹًڂ زـ 80ؤو % 90يف ټُٕٺ ڀځربودڄؿ لىت
ٸسٿ خڀىٜىپ بذل خؼبىٹك ،ټمد ٌى خغبدپ ڄًٌ ٫ٴىد خغبدرل : Absolute sound recorder :
وظُصبعهد ؼبه دل َٝديٲ ٌٽٍخ ڄؽدپ ڄه ٸسٿ :ؤن خڀربودڄؿ َٕعىًڂ RSAټمد ظًپ ٬ځً ٌڀٻ خڀٽځمص RSAEncryptؤڄد خڀٽځمص
FGintٴع٭ين ؤن خڀربودڄؿ َٕعىًڂ خؼبٽعسص FGintؤو FGintRSAڀځعٙٵًن ،ونبد ڄٽعسعدن ڄٙهىَظدن ٬ىً ڄربؾبٍ خڀًڀٵٍ ويبٽه
خغبٝىپ ٬ځًُ ڄد ڄه ـىـٿ.
.3نػط ايدلْاَر
خأليخش خڀؽدڀؽص ٤ : IDAس٭دً ڀه و ٫ُ١خڀىٸط يف زُدن ټُٵُص خڀىٜىپ بذل خؼبٽدن خؼبهڃ يف وىخَِڄُص خڀعمٹٷ ،ٴإټؽُود َٕع٫ُ٥
خڀىٜىپ بڀُهد زٕهىڀص ٬ه َُ٤ٷ OllyDbgؤو لىت . Dede
وٌٍي ٜىَش خڀربودڄؿ ز٭ً خڀعمځُٿ خألورل ٬ىً خڀىٹ٥ص خؼبهمص وز٭ً ظٕمُص خڀًوخپ خؼبهمص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 154
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 155
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ظالل٩ىن ؤن خڀًخڀص ٌٍ CHECK_SUBROUTINEؤٌڃ ڄىٸٌ ٫ىد ڀٍخ ٔىًوٿ بڀُهد .ؤعالل٩ىن ؤوً ال َىـً ٍ٘ء يبٽه
خٔعىعدـً ڄه خڀعمځُٿ خالٔعدظُٽٍ ( Static Analysisوٌى ربځُٿ خڀٻوي يون ظ٭ٹر) ،ٴهٿ َعىـر ٬ځُىد خٔعىًخڂ خؼبىٹك؟ خعبىخذ:
ٸ٥٭دً ًال؛ ألوً ڄدِخپ ٌىدڀٻ خڀٽؽًن ڄه خؼبٵدـأض خڀيت ىبسإٌد ڀىد !! IDA
ٔىٕعىًڂ يف ٌٍخ خڀًَْ ودُٜص Flirt signaturesپټه ٸسٿ ٌڀٻ ٌٍخ ُٔي ػبىخَِڄُدض خڀعمٹٷ ٸسٿ ؤٌ ظٱًُن:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 156
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
ټىن خڀربودڄؿ ڄربڄؿ زځٱص خڀًڀٵٍ ٴٕىٕعٱٿ ٌٍي خڀىٹ٥ص ،وخالٔعٱالپ َٽىن ټدڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 157
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وٌٍخ ڄ٩هُ وىخَِڄُص خڀعمٹٷ ز٭ً ظ٥سُٷ خڀعىٸُ ٫وٸً ؤٜسك ؤَ١د ؤټؽُ و٠ىلدً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 158
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
وخِن ٔىٕعٱٿ وٹ٥ص ؼدوُص ،وٌٍ ؤن خڀربودڄؿ َٕعىًڂ خؼبٽعسص FGIntRSA :و FGIntوخالٔعٱالپ زىٵٓ خڀَُ٥ٹص ڀٽه ٌٍي خؼبُش
زدوعُدَ خإلڄ١دءَه خؼبىخٴٹٌن ڀځمٽعسعٌن خڀٕدزٹعٌن.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 159
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
*:
**:
***:
;)Procedure RSAEncrypt(P : String; Var exp, modb : TFGInt; Var E : String
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 160
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
لُػ :
ٌ Pى خڀى ٛخؼبُخي ظٙٵًني زدپـ ( RSAيف لدڀعىد ٌى :خالٔڃ ).
ٌ Espى خألْ ( ( ) Exponentيف لدڀعىد ٌى .) 65537 :
ٌ Modbى زدٸٍ خڀٹٕمص ( ويف لدڀعىد ٌى .) 175717224553016661212919810587:
ٌ Eى ٌخټُش خڀعىَّه خؼباٸط ( )Bufferخڀٌٍ ُٔعځٹً خڀىدظؿ خؼبُٙٵُ ( :يف لدڀعىد ٌى خڀـ Bufferخڀٌٍ ُٔعځٹً خڀَُٕدپ
).
وټمد ظ٭ځمىن ٴةن خڀعٙٵًن زـ RSAوبٹٷ خؼب٭ديڀص :
زٹځُٿ ڄه خڀعمځُٿ ُٔعسٌن ڀٻ ؤن خڀًخڀص ٌٍ sub_49F368ڀځعمىَٿ ڄه Stringبذل ً٬ي ټسًن ـًخً ( ) TFGIntوٌٍ ڄ٭ُٴص يف
FGInt.pasټدڀعدرل :
;)Procedure Base10StringToFGInt(Base10 : String; Var FGInt : TFGInt
ڄىخٴٷ ڀً.
خً حبُػ ٌ Base10ى stringفبؽٿ ڀ٭ًي زدڀى٩دڂ خڀ٭ ٌُٙوٌ FGIntى خڀـ Bufferخڀٌٍ ُٔعځٹً ً٬يخً ټسًنخً ـًخً
****:
;)Procedure ConvertBase256to64(Const str256 : String; Var str64 : String
لُػ :
ٌ Str256ى خڀـ stringخؼبُخي ربىَځً ( يف لدڀعىد ٌى خڀَُٕدپ خڀىدظؿ ٬ه .) RSAEncrypt
ٌ Str64ى ٌخټُش خڀعىَّه خؼباٸط ( )Bufferخڀٌٍ ُٔعځٹً خڀـ stringخحملىپ.
begin
;P := edName.Text
;)Base10StringToFGInt('65537', Exp
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 161
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرشفيـــــــــــــــــــــر انهُذسح انعكسيح :خطىج إنى األياو.
;)Base10StringToFGInt('175717224553016661212919810587', Modb
;)RSAEncrypt(P, Exp, Modb, E
;)ConvertBase256to64(E, mySerial
;edSerial.Text := mySerial
;end
.4املطؾكات
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 162
الباب الرابع :أفلار وحلول بردلية يف اهليدسة العلسية
ًٌخ خڀًَْ ڄٹًڂ بذل خؼبٕعىي خؼبعىٔ ،٣و٬ځً ؤٔدْ ؤوٻ ٸً ٸمط زعىُٝر
MASMو RadAsmؤو WinAsmوذبًُ خڀع٭دڄٿ ڄ٭هڃ.
َ .1كسَ١
مت ظ٥سُٷ خڀًَْ ٬ځً زُودڄؿ X-Netstat 5.0ويبٽه ظ٥سُٹً ٬ځً ؤٌ زُودڄؿ آوُ.
163
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
لٕدذ . offset
خغبٝىپ ٬ځً ٸدڀر وظ٭ًَځً زىخٔ٥ص . RadAsm
خڀع٭ُٲ ٬ځً خڀًوخپ خألٔدُٔص خؼبٕع٭مځص يف زُؾبص . Patch
خڀُٙو ٪يف زُؾبص خڀـ . Patch
ذبُزص خپـ . Patch
ب٠دٴص ربُٕىدض ڀٿـ . Patch
وٝدجك وڄالل٩دض.
.2.1سػاب offset
خڀُص :
يبٽه لٕدذ offsetزد٬عمدي خؼب٭ديڀص خڀط
Offset = RVA – Virtual Offset + Row Offset
RVA = VA – ImageBase
ز٭ً ظىُٝر زُودڄؿ X-Netstatضبځً بذل زُودڄؿ LordPEمث خو ُ٩خألٸٕدڂ وٌڀٻ زدڀ١ٱ٬ ٣ځً خڀَّ Sectionsڀځمٝىپ ٬ځً
ؤٸٕدڂ خڀربودڄؿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 164
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خِن ٸڃ زعممُٿ خڀربودڄؿ خڀ١مُص بذل خؼبىٹك ، OllyDbgوڀه نُ٘ق َُ٤ٹص ټُٕي ألوً ڀُٓ ڄى٠ى ٪خڀًَْ.
الل ٧ڄ٭ٍ ٌدظٌن خڀٝىَظٌن ڀځمٹدَوص ٸسٿ خڀع٭ًَٿ وز٭ً خڀع٭ًَٿ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 165
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً خڀعٱًُن والل ٧ؤوً مت زعٱًُن زدَط وخلًش ڄه 75بذل ٬ 74ىً خڀ٭ىىخن 004A22C7hيف خڀٍخټُش.
و خِن ڀىٹڃ حبٕدذ خپـ offsetخؼبىخٴٷ ڀًٌ خ خڀ٭ىىخن زد٬عمدي خؼب٭ديڀص خؼبٍټىَش يف ؤوپ خڀًَْ:
VA = 004A22C7h
RVA = VA – ImageBase = 004A22C7h – 00400000h = A22C7h
= Offset = RVA – Virtual Offset + Row Offset = A22C7h – 1000h + 400h A16C7h
بٌن offsetخؼب٥ځىذ ٌى ,A16C7hولٌن وعمًغ ٬ه offsetٴةوىد وعمًغ ٬ه و٠٭ُص خؼبځٳ ٬ځً خڀٹُ ٚخڀٝځر وڀُٓ يف
خڀٍخټُش .
يبٽه خڀعإټً زىخٔ٥ص ؿبَُ ٌٽٓ ڄؽٿ WinHexؤو HexWorkshop v5وٌڀٻ زدڀ١ٱ٬ ٣ځً Ctrl + Gؤو ڄه والپ خڀٹىخجڃ :
… Edit Gotoزدڀىٕسص ڀربودڄؿ : HexWorkshop
خٴعك زُودڄؿ RadAsmمث خ٠ٱ File New Project ٣مث ظدز: ٫
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 166
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 167
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يخڀص بوٙدء ڄځٳ ـًًَ ؤو ٸُخءظً وخغبٝىپ ٬ځً خؼبٹس ٟخػبد ٚزدؼبځٳ
( HANDLE CreateFile
وًَٴٌٍ ٫خ خألوًن بذل خؼبٕفٿ EAX
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 168
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 169
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
اٍ Patch
.2.4ايؿطٚع يف بطزت ١ـ
وًٌخ ڄٹ ٫٥خڀسُدودض ٔىخء زٹُڃ ڄسًجُص ؤو زًووًخ ،وٸً مت ٴُهد ظ٭َُٳ ز٭ ٟخڀُٔدجٿ وڄٕدَ خؼبځٳ وڄٕدَ خڀىٕىص وز٭ ٟخؼبعٱًنخض خڀيت
ٔىمعٵ ٧هبد ؼب٭ځىڄدض خؼبځٳ :
ٌٍخ خؼبٹ ٫٥خؼبىخٴٷ ڀځَّ Patchؤُعڃ ُ٘لً ُٔ٥خً ُٔ٥خً ټٍ ظٵهڃ خڀٵٽُش وظُٔه يف ٌٌىٻ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 170
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
invoke CreateFile, addr FileName, GENERIC_READ + يخڀص بوٙدء ؤو ٸُخءش ڄځٳ ,ويف ٌٍي خغبدڀص ٸً ـهّود ٌٍي
GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, خڀًخپ خبدُٜص OPEN_EXISTINGوخڀٕمدق ڀىد زدڀٹُخءشش
FILE_ATTRIBUTE_NORMAL, 0
وخڀٽعدزص يف خؼبځٳ ويٴ ٫خؼبٹس ٟڀځمٕفٿ EAX
mov [hFile], eax زٕسر ظٱًن خؼبٕفالض ٔىٹىڂ حبٵ ٧ڄٹس ٟخؼبځٳ يف خؼبعٱًن
hFileخو ُ٩ٸٕڃ خڀسُدودض زًون ٸُمص ڄسًجُص ? data.
cmp eax, -1 خؼبٹدَوص بن مت ٸُخءش خؼبځٳ ؤڂ ال؟ وٌڀٻ ألن ٌٍي خڀًخڀص
CreateFileظًٴ ٫ڀځمٕفٿ EAXخڀٹُمص 1 -بن دل َعڃ
ظىٵٍُي ،ؤڄد زدڀىٕسص ڀځ٭ٽٓ ٴعٹىڂ زًٴ ٫ڄٹس ٟخؼبځٳ
ڀځمٕفٿ EAX
jz Exit بن دل ظىٵٍ ٌٍي خڀًخڀص ٴٕىىُؾ زٕالڂ ؤڄد بٌخ وٵٍض ٴعدز٫
خألٔ ُ٥خڀعدڀُص
invoke GetFileSize, [hFile], 0 يخڀص ـځر لفڃ خؼبځٳ خو٥الٸدً ڄه ڄٹس ً١خڀٌٍ مت زبَّىً
يف خؼبعٱًن hFileويٴ ٫لفڃ خؼبځٳ ڀځمٕفٿ EAX
mov [sizeF], eax خاللعٵد ٦حبفڃ خؼبځٳ يف خؼبعٱًن sizeFخو ُ٩ٸٕڃ خڀسُدودض
زًون ٸُمص ڄسًجُص ? data.
invoke CreateFileMapping, [hFile], 0, PAGE_READWRITE, 0, ٌٍي خڀًخڀص ڄه ؤـٿ ؤن هتُث خؼبځٳ ڀځعى ٣ُ٥يف خڀٍخټُش
[sizeF], 0
وٌٍ خبدُٜص خڀٹُخءش وخڀٽعدزص ،وظًٴ ٫ڄٹس ٟخڀعى٣ُ٥
ڀځمٕفٿ EAX
invoke MapViewOfFile, eax, FILE_MAP_WRITE+ يخڀص خڀعى ٣ُ٥يف خڀٍخټُش ،ؤعًٴ ٫ڀځمٕفٿ ٬ EAXىىخن
FILE_MAP_READ, 0, 0, 0
خؼبځٳ خؼبى ٣٥يف خڀٍخټُش وبن ٸمط زعىٹُك خڀسدظٗ و٬مٿ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 171
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
invoke SendDlgItemMessage, hWin, 14, LB_ADDSTRING, 0, خڀٽعدزص يف ٸدجمص خڀى ٛخؼبىـىي يف خؼبعٱًن FilePatched
addr FilePatched خو ُ٩ٸٕڃ خڀسُدودض data.
]invoke UnmapViewOfFile, [maping بهندء خؼبځٳ ڄه خڀٍخټُش
]invoke CloseHandle, [hFile مث بٰالٶ خؼبځٳ
ret خػبُوؾ زٕالڂ
Exit : يف لدڀص خٔع٭ ًٝٴعك خؼبځٳ ؤو ً٬ڂ ،ٴُٕعڃ خڀٹٵّ بذل ٌٍخ
خڀ٭ىىخن ڄه خألڄُ خڀٕدزٷ jz Exit
invoke SendDlgItemMessage, hWin, 14, LB_ADDSTRING, 0, خڀٽعدزص يف ٸدجمص خڀى ٛخؼبىـىي يف خؼبعٱًن FileNotFound
addr FileNotFound
خو ُ٩ٸٕڃ خڀسُدودض data.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 172
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڀىمُ بذل خعبّء خػبد ٚدبٹ ٫٥ټىي ټٿ ڄه ٌَِ Aboutو .Exitڀه نُ٘لهمد وڀٽه ْنټعٵٍ زىٜ ٫٠ىَش ؼبٹ ٫٥خڀٽىي؛ ألن
خألڄُ ٔهٿ ټمد ؤوً َعىـر ٬ځُٻ ڂُ٬ٴعً ڄه خعبّء خألوپ ڄه خڀٽعدذ.
اٍ Patch
.2.5جتطب ١ـ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 173
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يٌ Patch
.2.6إناؾ ١حتػٓٝات ـ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 174
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
اٍ Patch
.2.6.3إناؾْ ١ؿٝس َٔ ْٛع Midإىل ـ
ٔىمعدؾ زُودڄؿ Table Extractor 1.34ڀعمىَٿ خؼبځٳ بذل زُدودض ڀًؾبً ڄ ٫خپـ patchټدڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 175
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً خڀ١ٱ٬ ٣ځً َِ !ٔ Goعمٝٿ ٬ٿي خؼبځٳ جبدور خڀربودڄؿ زدٔڃ ، result.txtٸڃ زعٱًُن خظبً ڄه ؤـٿ خڀعىُ٩ڃ ٴٹ ٣بذل
Music.inc
مث ؤ٠ٳ خألټىخي خڀعدڀُص :
ؤڄد يف خڀٹٕڃ .codeٴٹمط زة٠دٴص ز١٭ص ؤٔ ُ٥ڀًخڀص ٸُخءش خؼبځٵدض ڄه وى: Mid ٪
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 176
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ـ : Dialog
مث يف ڄٹ ٫٥خڀٽىي خػبد ٚذ
ؤڄد خڀٹُمص 8F0hٴهٍ لفڃ ڄځٳ خڀى ًُٙخڀٌٍ ؤ٠ٵىدي ,وخڀٌٍ ټىد ٸً لٝځىد ٬ځًُ زربودڄؿ Table Extractor 1.34
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 177
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڄى٠ىٌٍ ٪ي خڀٵٹُش َ٭عرب ڄه ؤٔدُٔدض خؽبىًٔص خڀ٭ٽُٕص؛ ٴدؽبًٲ ڄه ٌٍخ خڀ٭ځڃ ڀُٓ ٺُٔ خڀربخڄؿ ٴٹ ،٣ٴهىدڀٻ خڀٽؽًن فبد هبر ٬ځُٻ
ظ٭ځمً وخالّ٤ال٬ ٪ځًُ ،وڄه ٌڀٻ ؤن ظىمٍ وربظٻ يف ؾبدپ ربٌٕن ضبدَص خڀربخڄؿ.
ال وٹىپ بهند خڀځٱص خڀىلًُش خڀيت يبٽه زُؾبص CrackMeهبد ،ڀٽىهد ظسٹً خألٴ١ٿ وُ٩خً ڀٕهىڀص ظىٹُك زُخؾبهد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 178
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
بن خؽبىًٔص خڀ٭ٽُٕص يف ظ٥ىَ ڄٕعمُ ،ويف ټٿ َىڂ قبً ُ٘حدً ـًًَخً وضبدَص ڄ٭ٹًّش ،وؼبدٌخ خغبمدَص ؟ خعبىخذ زٌُٕ :٣ى خڀعفدَش
وخڀُزك وخڀسُ ،٫وڀٍڀٻ ذبً صبُ ٫خڀربخڄؿ خڀعفدََص ؿبمُص ،وظعىى ٪لٕر وربش خؼبربڄؿ ولدڀعً خؼبديَص ,ٴهىدٺ زُخڄؿ ضبدَص ًٰن ؾبدوُص؛ ڄؽٿ:
ExeCryptorو Armadilloو TheMidaبذل ًٰن ٌڀٻ ڄه زُخڄؿ خغبمدَص خڀٙهًنش خڀيت ٤دؼبد ٜديٴعىد ڄه ٸسٿ.
ٌىدٺ ً٬ش ؤ٘ٽدپ ڀځممدَص :ڄؽالً ب٠دٴص ودٴٍش ڄّ٬فص زعٕفُٿ ؤو ظٙٵًن ڀٹُڃ PEؤو ٠ٱ ٣خڀٽىي وًٰن ٌڀٻ.
ڄى٠ى ٪خڀًَْ ُٔٽىن لىپ ودٴٍش خڀعٕفُٿ وڄىهد مت خٔعٹدء ٴٽُش ، KeyGenMEټمد مت خٔعٹدء ٴٽُش خڀـ CrackMEڄه
خڀىدٴٍش خؼبّ٬فص خڀيت ظ٩هُ ٬ىً بٸال ٪ز٭ ٟخڀربخڄؿ.
ؤدل ظعٕدءپ ڄه ٸسٿ :ؼبدٌخ ظع٭ًي زُخڄؿ خغبمدَص زُ٥ٶ ـًًَش؟ ٸً ظٹىپ :مت ټُٕ خڀٕدزٹص .ڀٽه ؼبدٌخ؟
ٌڀٻ ڄد وًَُ خڀعىىًَ ڀً وٌى لًوي ٌٍي خغبمدَص لىت َعڃ ټٌُٕد.
ٌىدٺ ً٬ش ؤٔسدذ ،ڄىهد خڀربودڄؿ يف خڀٍخټُش ٴهٍخ ٸً ٘ٽٿ ٬دجٹدً ټسًنخً يف خؼبًُخن ،وڄ٨ ٫هىَ يوخپ خڀع٭ًَٿ يف خڀٍخټُش مت ذبدوِ
ٌٍخ بذل ٍ٘ء ؤټؽُ ظ٥ىَخً.
ؤدل ظعٕدءپ ڄه ٸسٿ :ؼبدٌخ ال َٽىن ٌىدڀٻ ظٕفُالً وخقيخً ڀځربودڄؿ ،حبُػ َٝ٭ر لىت ٴعك خڀربودڄؿ ڄه يووً؟ ڀٽه ڄدٌخ ڀى خوعُٙ
خڀعٕفُٿ؟ ؤټًُ ُٔمٿ وُخذ زدڀُٙټص.
هبر ؤن هبُذ خڀربودڄؿ ٸسٿ ؤن َعڃ خٸعىدئي وڀٍڀٻ ذبً ً٬ش زُخڄؿ . Trial
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 179
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خڀٵٽُش خألوذل ٌٍ :خڀىدٴٍش خؼبّ٬فص ،وظعمؽٿ يف ب٠دٴص ودٴٍش Windowؤو Dialogٸسٿ ظىٵٍُ خڀربودڄؿ خألٜځٍ وٌٍ
ڄّ٬فص ٴ٭الً.
خڀٵٽُش خڀؽدوُص :وٌٍ ً٬ڂ ظٵ٭ُٿ ز٭ ٟخألَِخَ وخڀٹىخجڃ ،وٌٍ ٴٽُش زًخجُص ُ٘حدً ڄد ڀٽه ڄٌ ٫ڀٻ ذبًٌد ٘دج٭ص وظعمؽٿ يف ً٬ڂ
ظٵ٭ُٿ ز٭ ٟخألَِخَ ؤو خڀٹىخجڃ غبفر ودُٜص ـًُش يف خڀربودڄؿ؛ ټدغبٵ ٧ڄؽالً.
ڄالل٩ص ٌدڄص :ڀُٓ ُ٘٤دً ؤن ظٵ٭ٍٿ خڀىىخٴٍ وخڀٹىخجڃ ٴٹ ،٣ٴدألڄُ ٸً َٙمٿ ڄد ٌى ؤټؽُ ڄه
ٌڀٻ.
خڀٵٽُش خڀؽدڀؽص -وٌٍ ظ٭َّّ ڀځمى٠ى ٪ٴٹ ٣ألن ٌىدٺ خڀٽؽًن ڄه خڀُ٥ٶ : -ظعمؽٿ يف ب٠دٴص ظىٸٍض ڀځربودڄؿ لُػ َ٭مٿ يٸُٹص
ؤو ؤٸٿ ؤو ؤټؽُ.
خڀٵٽُش خڀٕدئص :ضبدَص خڀٽىي زإلً خػبىخَِڄُدض ( ٔىع٭دڄٿ ڄ.) CRC ٫
ٔىٹىڂ زة٠دٴص Dialogزإلً خحملَُخض ټـ RadAsmڄؽالً ،وخڀٌٍ ٔىٕع٭مځً ٤ىخپ خڀًَْ ،ڀٍڀٻ وىٝمٻ زعممُٿ ز٭ٟ
خڀًَوْ خؼبع٭ځٹص زٍڀٻ ،وخغبمً هلل ٴهٍ خِن ڄىـىيش يف ڄىعًي خڀٵَُٷ يف يَوْ خڀـ Keygeningوٸً و٠٭ىد خڀربودڄؿ ټدڄالً ڄ٫
MASMوجبمُ ٫خؼبٽعسدض ،ذبً َوخز ً٥يف زًخَص خڀًَْ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 180
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
File New Project Win32 App (Project Name : Nag Screen) DialogApp.tpl
لٕه خِن ڀًَىد ٔ Dialogىٹىڂ زة٠دٴص آوُ زدٔڃ Nagوٌڀٻ ټدڀعدرل :
خً
ٌىدڀٻ ٍ٘ء ٌدڂ هبر ؤن ظعٍټُي ،وٌى خڀـ IDخػبد ٚزٽٿ Controlؤ٠ٵىدي؛ ڄؽالً يف ٌٍي خغبدڀص ذبً ؤن خڀـ IDڀځـ Dialog
خعبًًَ ٌى . 1000 :
ربٍَُ :ظٍټُ ؤوىد ؤ٠ٵىد ٌٍخ يف خڀىدٴٍش خعبًًَش خڀيت ؤ٠ٵىدٌد وڀُٓ يف خڀُجُُٕص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 181
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹىڂ خِن زدالوعٹدپ بذل خڀًخڀص خڀيت ٔع٥س ٫ڀىد خڀىدٴٍش ٸسٿ يوىپ خڀربودڄؿ.
خوعٹٿ بذل خڀىدٴٍش خڀُجُُٕص و ٫٠ڄد ظًَُ ڀربودؾبٻ -كبه ٔىعُټهد ٴدَٰص يف ڄؽدڀىد -مث خوعُ ڄځٳ خڀٽىي :
ظ٭َُٳ يخڀص ب٨هدَ ودٴًش ڄه خڀَُٕىَْ ،وٌٍ يخڀص ڄ٥ىَش ٔهځص خالٔعىًخڂ:
ال ظٕإپ ٬ه خڀٕهڃ خألوپ خڀٌٍ ًَٙن ڀـ 1000وبال ٴُفر ٬ځُٻ ب٬ديش خڀًَْ ٴإوط ڀٕط ڄعدز٭دً زٙٽٿ ـًُ!
ؤڄد NagScreenخڀيت ًَٙن ؽبد خڀٕهڃ خأليبه ٴهٍ خإلـُخجُص خڀيت ٔى٭ُ٥هد ڀځىدٴٍش خؼبّ٬فص ،وٌٍ ٘سُهص زةـُخجُص خڀىدٴًش خڀُجُُٕص،
وو٭ٌٍ٥د Prototypeټدڀُجُُٕص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 182
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يف خأل٬ځً ز٭ً Menu bare خِن صب ٫خؼبځٳ ڄه ٌىد :
ربط [3.1] : هبٍخ وٽىن ٸً ؤهنُىد ٴٹُش خڀىدٴٍش خؼبّ٬فص ؤعفً خؼبؽدپ ڄ ٫خڀٕىَْ ټىي يف packخڀًَْ ٌىد
ٌٍي خڀٵٽُش ظ٭عمً ٬ځً خڀَُٕىَْ ٴٹ ،٣ؤىځفإ ڀألَِخَ ٴٹ ٣ؤىعُٺ ڀٻ خڀٹىخجڃ.
ٸڃ زةوٙدء ڄُٙو ٪ـًًَ زىٵٓ ڄىخٜٵدض خؼبُٙو ٪خڀٕدزٷ زدٔڃ ، Enableمث ؤ٠ٳ ڀً ز٭ ٟخألَِخَ ؤو ؤٌ ٍ٘ءٍ ظًَُي ڄه خڀـ
Controlsوڀُٽه ٌٽٍخ ڄؽال :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 183
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
مث خذبً ڀأليوخض خڀيت ظًَُ بِخڀص ودٜص خڀعٵ٭ُٿ ٬ىهد وً٬پ وٝدجٝهد هبٍخ خڀىمى :
لىت خِن ټٿ ٍ٘ء ٬ځً ڄد َُخڂ وزُٕ ٣ڀٽه ټُٕ ٌٍي خڀٵٽُش ؤڄُ زُٕ ٣ـًخً وَعڃ زإلً ؿبَُخض خڀَُٕىَْ ڄه ResHackerؤو
ڄد ٘دزً.
خِن ڄدٌخ ڀى ؤَيود خڀٹُدڂ زٍڀٻ زُؾبُدً ،وٌى خألڄُ خألٌڃ يف ٌٍي خڀٵٹُش .ټٿ ڄد كبعدـً ٌى ڄٹس ٟخڀَّ ؤو ؤٌ Controlآوُ
وًَُي ،مث قبځسً زىخٔ٥ص خڀًخڀص , GetDlgItemربعدؾ ٌٍي خڀًخڀص ڀسدَخڄعَُه :خألوپ ٌى ڄٹس ٟخڀىدٴًش خڀيت ربعىٌ خڀـ ، Control
وخڀؽدين ٌى خڀـ IDخػبد ٚزدڀـ . Controlبن قبمط ٌٍي خڀًخڀص ٴةهند ظُـ ٫ڄٹس ٟخڀـ Contorlيف خؼبٕفٿ ، eaxمث ڀعٵ٭ُٿ ؤو
ً٬ڂ ظٵ٭ُٿ خڀـ Controlوٕعً ٍ٬خڀًخڀص EnableWindowؤَ١دً زسدَخڄعَُه :خألوپ ٌى ڄٹس ٟخڀـ ، Controlsؤڄد خڀؽدين ٴهى
ؤڄُ خڀعٵ٭ُٿ ؤو ً٬ڂ خڀعٵ٭ُٿ . FALSE or TRUS
وزدڀعدرل َٽىن خڀٽىي ڀًَىد يف ٌٍخ خؼبؽدپ إلڀٱدء ظٵ٭ُٿ َِ ID = 1002 ٌٌ TRIALټدڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 184
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٸڃ زعفُزص ؤٌ Controlظًَُ ،وهبٍخ خڀٽىي خڀٝٱًن وىهٍ ٴٹُش ً٬ڂ ظٵ٭ُٿ خألَِخَ.
ٌٍ WM_TIMERبـُخجُص خؼباٸط.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 185
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ټٿ ڄُلځص ظُخٴٹهد يخڀص مت ُ٘لهد يف خڀىٕىص خڀٕدزٹص ڄه خڀٽعدذ؛ ڀٍڀٻ ال لدـص ڀإل٬ديش ؤى ٫١خڀٽىي ڄسدُ٘ش.
ٔىمعدؾ ز٭ ٟخؼبعٱًنخض ټدؼبعٱًن خڀٌٍ وبعىٌ خڀَُٕدپ خڀٝمُك وخؼبعٱًن خڀٌٍ ٔىمٵ ٧ٴًُ خڀَُٕدپ خؼبًوٿ مث َٔدڀص خڀٙٽُ وخػب٥إ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 186
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
I : integer
X : integer
)For I = 0 to Len(Name
)X = X + Name(I
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 187
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڀى٥سٷ خڀٵٽُش ٬ځً ټځمص E = 45h ; R = 52h ; 4 = 34h ; T = 54h ; A = 41h : AT4RE
خِن ڀىٵعُ ٞؤن خڀَُٕدپ خڀٝمُك ٌى AT4REڄد ُٔٹىڂ زً خڀـ ٌ CrackMeى صب ٫ٸُڃ Hexخالٔڃ خؼبًوٿ مث ڄٹدَوعهد ڄ٫
.160h
ٸڃ زةوٙدء ڄُٙو ٪ـًًَ زدٔڃ Brute Serialزىٵٓ وٝدج ٛخڀـ CrackMEخڀٕدزٷ زَّ RegisterوEdit Text
عبځر خڀعٕفُٿ خؼبًوٿ .وزىٵٓ خڀـ . ID
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 188
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ال َٵعُ ٞزىد ؤن وُٙلً ڀٻ بٌخ ټىط ٸً ٸُؤض خڀىٕىص خألوذل ڄه خڀٽعدذ وظدز٭ط يوَش خألظبسځٍ خڀيت ؤٸدڄهد خڀٵَُٷ ٸٍ ڄىٸ٭ً وبال
ٴىمه وسين يف خڀٵُخٮ.
ڀٽه ٌىدڀٻ ُٔ يف ٌٍي خػبىخَِڄُص ،لُػ ؤوً ظىـً هبد خڀ٭ًًَ ڄه خألظبدء خڀيت ؾبمى ٪لُوٴهد َٕدوٌ !! 160h
ټٿ ڄد يف خألڄُ ٌى ذبُزص خڀ٭ًًَ ڄه خڀٽځمدض وبن ظ٥دزٹط خؼبٹدَوص ٴٍڀٻ ؤَ١د َُٔدپ.
ڄالل٩ص :خألڄُ زُٕ ٣ڀٽُٕ ٌٍي خػبىخَِڄُص وال وبعدؾ ڀىٸط ٤ىَٿ ڀٽه ٌىدٺ ز٭ٟ
خػبىخَِڄُدض وڀألٔٳ ربعدؾ ألَدڂ ؤو ؤ٘هُ ڀٵٽهد ؤعفً ُ٘حدً ڄه ٌڀٻ يف ُ٤دض ٌٍخ
خڀٽعدذ.
ربط ][3.4.2 وهبٍي خؼبالل٩ص وىهٍ ٌٍي خڀٵٹُش ،ؤعفً ٔىَْ ٘دڄٿ ڀځٵٽُش ٌىد
ٌٍي ؤٴ١ٿ ظٹىُص يف خغبمدَص وڀٽه ڀألٔٳ ؽبد ڄٕدوت ٔى٭ُٴهد يف هندَص خڀًَْ.
ٌٍي خڀٵٹُش ظع٥ځر ز٭ ٟخػبربخض خألٔدُٔص يف OP Codeؤو خڀعُصبص خؽبٽُٕص ألوخڄُ خألظبسځٍ ،بهند ظٕمُعىد ؽبد ٴٹ.٣
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 189
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خڀعفُزص.
ربًًَ خؼبٽدن خؼبىدٔر ڀځممدَص ڀُٓ زدألڄُ خڀ٭ٙىخجٍ وخڀسُٕ ،٣زٿ َع٥ځر ظىٹُك خڀربخڄؿ ؼب٭ُٴص خؼبىد٤ٷ خغبٕدٔص هبد ،ڀٽىىد يف ٌٍي خڀٵٹُش
ٔىٹًڂ ڄؽدالً زُٕ٥دً ظٵهڃ ڄىً ٌڀٻ.
ٔىٹىڂ حب ُٝخػبىخَِڄُص زٌن ٬ىىخوٌن ڀځمٝىپ ٬ځً لفڃ خڀـ : OP Code
خو ُ٩ڀځَُ٥ٹص خڀيت لُٝود هبد خػبىخَِڄُص وخغبٝىپ ٬ځً لفڃ , OP Codeبٌن ڀًَىد يف sizeOPCodeلفڃ خڀـ OP Code
خِن ولُٝود خػبىخَِڄُص زٌن ٬ىىخوٌن َڄّود ؽبمد زـ StolenBytesو . endStolenBytes
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 190
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ظځٻ خڀسدَعدض خحملد٤ص زدڀځىن زدألضبُ ٌٍ ڄد و٭ين .بٌن خڀَُٕدپ خڀٌٍ هبر ؤن وًوځً ڄد ٌى بال ؤټىخي زُؾبُص إلټمدپ خڀربودڄؿ ويف لدڀص
ټدوط و٥إ ُٔٱځٷ خڀربودڄؿ زدػب٥إ.
8B F8 33 F6 33 D2 0F BE 86 20 30 40 00 03 D0 46 3B F7 75 F2 81 FA 60 01 00 00 74 15
8BF833F633D20FBE862030400003D0463BF775F281FA600100007415
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 191
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
َىـً َُ٤ٹعدن ڀعىَُر خڀٽىي :بڄد ٬ه َُ٤ٷ OllyDbgوبڄد ٬ه َُ٤ٷ زُؾبص ؤټىخي ـبدڀٵص ٬ه َُ٤ٷ RadAsmؤو و٫٠
ڄٽدن ٴدَٮ حبفڃ خػبىخَِڄُصٔ .ىعُ٥ٶ ڀألوًنش ٴٹ ٣ألوىد وٵ١ځهد.
خؼبٙٽځص ٌٍ يف خغبٝىپ ٬ځً لفڃ خڀـ OP Codeويف لدڀعىد ٔىٕع٭مٿ ب٠دٴص ڄه زُؾبص خألن Zool@nderڀعمًًَ لفڃ
خڀٽىي ...و خڀَُ٥ٹص ټدڀعدرل :ڄد ٬ځُٻ بال ظ٩ځُٿ خػبىخَِڄُص مث َئَص خحلـڃ يف خألٔٵٿ ڄه والپ زُودڄؿ OllyDbg
لفڃ خػبىخَِڄُص ټمد ظٙدًٌ ٌى 1Chوڀى ٸمط حبٕدذ ٤ىپ خڀَُٕدپ ڀىـًظً ٌ 28dٽٓ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 192
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خألوذل :ؤن خػبدوص ال ظٹسٿ ٌڀٻ خڀٽىي زإټمځً ڀٍڀٻ ٔىًَّ ڄه ٤ىؽبد ټمٿ َُٔ .٫وخِن صب ٫خؼبځٳ و ٫٠خڀَُٕدپ ..و٥إ!! َٰڃ ؤن
و ٫٠خڀَُٕدپ خڀٝمُك؟
خوُص :ؤوً ال يبٽىىد خڀع٭ًَٿ يف ٸٕڃ خڀٽىي!! ڀٽه يبٽه ـ٭ځً ڀځٽعدزص ؤَ١دً زىخٔ٥ص زُودڄؿ ظ٭ًَٿ PEوكبه ٔىٕع٭مٿ .LordPE
خڀػ
خٴعك خڀـ CrackMEزـ LordPeمث خذبً ڀـ Sectionمث خ٠ٱ ٣زدڀَّ خأليبه ٬ځً ٸٕڃ خڀٽىي وخوعُ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 193
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.3.5.5ايتذطب١
ڄد يبُّ ڄؽٿ ٌٍي خػبىخَِڄُص ؤهند ٴ٭دڀص حبُػ ال يبٽه ذبدوٌِد بن خٔعٱځط زٙٽٿ ڄؽدرل ،ټعىَُر ټىي ودُٜص خغبٵ ٧يف زُودڄؿ
ڄد.
َُٔ ٫٠دپ ود٤ث ُٔٱځٷ زدػب٥إ ،ؤڄد خڀَُٕدپ خڀٝمُك ٴُٕمُ زٕالڂ.
ڀٽه ٌىدڀٻ ز٭ ٟخؼبٕدوت ؽبٍي خغبمدَص وٌى ؤوً ال يبٽه ذبُزص خڀربودڄؿ بال زدڀَُٕدپ خڀٝمُك ،وبٌخ خوع ُٙخپَُٔدپ ٴال لىپ وال ٸىش بال
زدهلل.
ٌٍي ټدوط ٴٽُش زُودڄؿ خغبمدَص خػبد ٚزدڀٵَُٷ ڀٹً زًؤودٌد ڀٽىهد دل ظٽعمٿٔ ،ىٽمځً يف وٸط اللٷ بن ٘دء خهلل.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 194
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ربط ][3.5.5 هبٍي خؼبالل٩ص ظىعهٍ ٌٍي خڀٵٹُش ،ؤعفً ٔىَْ ٘دڄٿ ڀځٵٽُش ٌىد
ڀٹً ظُ٥ٸىد ؽبٍخ خألڄُ يف خڀىٕىص خألوذل ڄه خڀٽعدذ وال زإْ ؤن و٭ًٌُد يف ٌٍخ خڀًَْ وُ٩خً ألنبُعهد.
ؼبدٌخ CRC؟ ٔىٹىپ ڀٻ :ال وًٌَ ؼبدٌخ!! ڀٽه ڄد وعإټً ڄىً ؤوً يبٽىٻ ؤن ربمٍ زُودؾبٻ زىٵٓ ودُٜص CRC32 Checkوخبىخَِڄُص
ڄه زُؾبعٻ.
ٌٿ ظعٍټُ ڄؽدپ خڀَُٕدپ خڀٱًن ٸدزٿ ڀځ٭ٽٓ؟ سبدڄدً ڄؽٿ ٌڀٻ ٔىٵ٭ٿ ،ڀٽه ٌٍي خؼبُش ڀه و٥ځر َُٔدپ وال ٌڃ وبّوىن زٿ ٔىُ١ٳ ڄاٸعدً
َعمٹٷ ڄه ؤن ٸُمص CRCؼدزعص يف ټٿ ـّء ڄه خألڀٳ ڀځؽدوُص.
ؤظٍټُ خؼبؽدپ Mono Serial؟ صبُٿ ٸڃ زىٕىً وظبً CRC32 Checkٴٕى٭مٿ ٬ځًُ.
ٔىٹىڂ حبٕدذ ٸُمص CRC32ؼبد وًَُي يف زًخَص خڀربودڄؿ ڀٽٍ ظسٹً ؼدزعص.
مث وُ١ٳ ڄاٸعدً و ٫١يف بـُخجُعً لٕدذ CRC32ټٿ ـّء ڄه خألڀٳ ڀځؽدوُص وڄٹدَوعً زدألٜځٍ.
غبٕدذ ٌ CRCىدٺ ً٬ش ڄٽعسدض ظعُك ٌڀٻ ،وٌىدٺ ؤَ١د خڀٽىي خؼب ًٌَٝؽبد ڄٵعىق ،ؤعفً ټٿ ٍ٘ء ڄُٴٷ ڄ ٫خڀًَْٔ .ىٕع٭مٿ
ڄٽعسص ٨هُض لًَؽدً ٴُهد ؤٰځر وىخَِڄُدض خڀعٙٵًن وخؽبدٖ ،وٌٍ CryptoHashيف خألظبسځٍ ,هبد خڀ٭ًًَ ڄه خڀًوخپ ؤى٭ُ٥ٻ خڀـ
Prototypeػبىخَِڄُص : CRC32
ټٿ ڄد ربعدـً ٌٍي خڀًخڀص ٌى خؼبعٱًن خڀٌٍ ٔىمًي CRCڀً مث لفمً ،ؤڄد خغبٵ ٧ٴهٍ ربٵ ً٩يف خؼبٕفٿ . eax
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 195
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
مث يف بـُخجُص خؼباٸط وُ١ٳ ظإټً ڄٕعمُ وؤڄُ خػبُوؾ بٌخ ظٱًن خڀـ ، CRCڀٽه ٸسٿ ٌڀٻ ال زإْ ؤن وى٠ك ز٭١دً ڄه ؤـّخء ٌٍخ
خڀٽىي خألوًن:
– CRCSize equ (EndCRCCheck ; ُ٬ٴىد ڄعٱًن زً لفڃ خؼبٽدن خڀٌٍ وًَُ ضبدَعً ڄه خڀع٭ًَٿ
)BeginCRCCheck
mov ebx,CRCSize ; وٹځىد خغبفڃ ڀځمٕفٿ ebxألن خڀًخڀص CRC32ڀه ظٹسځً بٌخ و٠٭ىد
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 196
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
CRCSizeهبد
mov eax,offset BeginCRCCheck وٹٿ ٬ىىخن زًخَص خؼبٽدن خڀٌٍ وًَُ ضبدَعً ڀځمٕفٿ eaxڀىٵٓ خڀٕسر ;
خڀٕدزٷ
invoke CRC32,eax,ebx,INIT_CRC32 ; خٔعً٬دء خڀًخڀص غبٕدذ CRCڀځمٽدن خؼبُخي ضبدَعً ؤڄد
INIT_CRC32ٴهٍ ؼدزعص وظٕدوٌ ٜٵُ
mov OriginalCRC,eax ; مث كبٵ ٧ٸُمص CRCڀځمٽدن خؼبُخي ضبدَعً يف ڄعٱًن زدٔڃ
?.data ;
OriginalCRCوحبفڃ dwordذبًي يف ٸٕڃ خڀسُدودض
? OriginalCRC dd
invoke SetTimer,hWin,0,1,0 ; وؤوًنخً يخڀص و ٫٠خؼباٸط يف خؼبُٙو٪
ؤڄد ڄد ىب ٛبـُخجُص خؼباٸط ٴهٍ ٴٹ ٣لٕدذ ڂظٽَُ پـ CRCڀىٵٓ خؼبٽدن وڄٹدَوعً ڄ ٫خؼبٽدن خألٜځٍ ټدڀعدرل :
ڄالل٩ص ٌدڄص :ټمد و٭ځڃ ٴةن خڀـ ) Break Point (BPيف خؼبىٹمدض ڄد ٌٍ بال خٔعً٬دء ڀځمٹد٤٭ص ، int3وزدڀعدرل ُٔٽىن وعُفص
خرل ُٔٱځٷ خڀربودڄؿ ٬ىً و.BP ٫٠
و ٫٠وٹ٥ص ظىٸٳ ؤن خڀٽىي ُٔعٱًن يف خؼبٽدن خڀٌٍ ضبُىدي وزدڀط
وهبٍي خؼبالل٩ص وىهٍ ٴٹُش خڀـ CrackMEوَُ٩دً وظ٥سُٹُدً زإڄؽځص زُٕ٥ص ٸدزځص ڀځع٥ىَُ ،ؤعفً زةٌن خهلل ز٭ ٟخألڄؽځص يف ؤلٕه
خالٔعٱالپ ڀًَخٔعهد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 197
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
KeyGenME CrackME
خڀع٭دڄٿ ڄ ٫خڀَُٕىَْ ؤَِخَ – ٸىخجڃ – ٜىَ ڄّ٬فص ال ٬الٸص ڀً زدڀَُٕىَْ
،و ظىٸُط.
ال ٬الٸص ڀً زدألڄُ بال ؼبه ًََُ خٔع٭ُخ١٬ ٞالظً ټـ CRC خ٬عمدي ز٭ ٟخػبىخَِڄُدض پپظ١ځُٿ
ڄى٥ٷ ََدَ ٍ٠ٹىڂ ٬ځً ٬الٸدض ََدُ٠ص ؿب١ص وٕسص خؼبى٥ٷ خڀَُد ٍ٠زً ظٽدي ظى٭ًڂ وَ٭عمً ٰدڀسدً ٬ځً
خڀعفُزص
فبع ٫وَع٥ځر وربش ََدُ٠ص زدإل٠دٴص بذل خڀعفُزص يف فبٿ ٸځُالً وَع٥ځر وربش وذبُزص
خؼبًُخن
ڄد ميَّ خڀـ KeyGenMeيف خڀٱدڀر يخڀص ظُخز ٣زٌن ً٬ش ڄعٱًنخض وؾبدٌُٿ ألـٿ ًٌٲ وخلً وٌى ظىڀًُ خڀَُٕدپ ,خڀُٝٱص خڀَُدُ٠ص
ڀًخڀص خڀـ KeyGenMeزٝٵص ٬دڄص :
)Serial = f(x,y,z,….
ً٬وال رب.ًٝ
ٸً ظًوٿ ً٬ش ٬ىخڄٿ ڄؽٿ :خٔڃ خؼبٕعىًڂ ,خٔڃ خعبهدِ ,خڀـ ... IDبذل ًٰن ٌڀٻ ڄه خڀ٭ىخڄٿ وٌٍ ال ض
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 198
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
لٕىدً ٔىسًؤ خِن زةوٙدء ڄُٙو ٪ـًًَ زدٔڃ First KeyGenMeؤو ؤٌ خٔڃ آوُ ظًَُي.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 199
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹىڂ زربؾبص KeyGenMeدبٕعىيً ًََّ يَخـدض ٬ه خڀٕدزٷ ڀٽىً َسٹً زُٕ٥دً.
ـځر خالٔڃ.
ربىَٿ ټٿ لُٲ ڄىً بذل ٸُمعً زدڀـ Hexوب٠دٴص ٸُمص ڄ٭ُىص ؽبد ،ؤىٕع٭مٿ يخڀص مت ُ٘لهد يف خڀىٕىص خألوذل وٌٍ
.wsprintf
ـځر خڀَُٕدپ.
ڄٹدَوص خڀَُٕدپ زىدظؿ خػبىخَِڄُص.
خڀىعُفص.
مث ـهّ خڀـ Templateټدؼبؽدپ خڀٕدزٷ زىٵٓ خڀـ IDڀځـ Controlsوڀىسًؤ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 200
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڄد ٔىُ١ٵً ٌىد ٴٹ ٣ؤن خڀٹُمص خڀيت ؤ٠ٵىدٌد ڀٽٿ لُٲ ٌٍ 5Chوٌٍ خوعُدََص.
ڄدِڀىد يف خألڄؽځص خڀسُٕ٥ص لىت مبُ ٬ځً خألٔدُٔدض ،وڄد ٸًڄعً بذل خِن ڄد ٌى بال ؤٴٽدَ خزعًخجُص لىت ٌظٕهَّ ڀىد خڀٵُٜص ؼب٭ُٴص خػبً٪
وخألٴٽدَ خؼبعىٔ٥ص بذل خؼبعٹًڄص يف ضبدَص زُخؾبىد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 201
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
َځّڄىد يف ٌٍي خڀٵٹُش يخڀص ـځر خٔڃ خعبهدِ وٌٍ يخڀص ڄهمص ڀځمٝىپ ٬ځً ؤٴ١ٿ ضبدَص.
ڀه وٕعٱځهد خِن زٙٽٿ ـًُ؛ ألوً ڄدِخپ َځّڄىد ز٭ ٟخؼب٭ُ٥دض خڀيت ٔىعُ٥ٶ ؽبد يف ٴٹُخض ٸديڄص زةٌن خهلل.
ـځر خڀعٕفُٿ مث ڄٹدَوعً ڄ ٫خٔڃ خعبهدِ ز٭ً ب٠دٴص خٔڃ خؼبٕعىًڂ ڀً.
ٸڃ ز٭مٿ ڄُٙو ٪ـًًَ وڀُٽه زدٔڃ NameCumputerوـهّ Templateټدڀٕدزٹص هبد ودوعٌن وخلًش ڀالٔڃ وخألوُي
ڀځعٕفُٿ ،مث َِ خڀعٕفُٿ ،وخـ٭ٿ IDڀځـ Controlsټدڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 202
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ال َىـً ٍ٘ء ـًًَ!! بٌخ خٔعٱُزط ڄه ٌٍي خڀًخڀص RtlZeroMemoryٴال يخ ٍ٬ڀځٱُخزص ،ٴمد ٌٍ بال يخڀص ظٹىڂ زعٝٵًن
ڄعٱًن ڄد ،وؽبد زدَخڄعَُه :خألوپ ٌى خؼبعٱًن ،ؤڄد خڀؽدين ٴهى لفڃ خؼبعٱًن ,ڀٽه خڀٕاخپ خڀٌٍ َُ٥ق وٵًٕ :ؼبدٌخ وٕع٭مځهد ؟ ٔسر
خٔع٭مدؽبد ڄع٭ځٷ زدٔع٭مدپ خڀًخڀص lstrcatخڀيت ظځٝٷ و ٍٝڄعٱًنَه ،ڀٽه ُ٬سهد ؤهند ظ ٫١خڀىدظؿ يف خؼبعٱًن خألوپ ،ڀٍڀٻ بٌ خٔع٭مځىد خؼبؽدپ
ً٬ش ڄُخض ٔىمٝٿ ٬ځً ٴُ ٟيف خؼبعٱًنخض ،وڀعٵديٌ ٌڀٻ ٸمىد يف ټٿ ڄُش زطٜٵًن خؼبعٱًن خڀٌٍ وځٝٷ خالٔڃ زً.
خڀٵٽُش خڀ٭دڄص ڀځمؽدپ :ـځر خٔڃ خعبهدِ مث ڀٝٹً زـ –AT4RE-مث ڀٝٹً زدالٔڃ خؼبًوٿ ڄه خؼبٕعىًڂ وڄٹدَوص خڀىدظؿ زدڀعٕفُٿ
خؼبًوٿ ڄه خؼبٕعىًڂ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 203
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٌ : KeyFileMEى ټٕدزٹً ڄٕعٹًً ڄه ز٭ ٟخغبمدَدض خڀيت ال ظ٥ځر خظبدً وال َُٔدالً ؤؼىدء ظٝٵك خڀربودڄؿ ،ڀٽىهد ظعمٹٷ ڄه ٌڀٻ يف
ڄځٳ ؤو يف خڀُهبٕعٌُ.
ظُ٥ٸىد ڀُٙق خڀًوخپ خؼبٕع٭مځص يف ٌٍي خڀٵٹُش يف خڀ٭ًًَ ڄه خؼبُخض وڀه و٭ًٌُد ،ڀٍڀٻ ٔىًوٿ يف خؼبؽدپ ڄسدُ٘ش.
ٔىٹىڂ زربؾبص زُيبؿ ٜٱًن َ٭مٿ ؼبًش 10يٸدجٷ مث ىبُؾ بٌخ دل هبً خؼبځٳ خؼبٕفٿ جبدوسً.
ټٿ ڄد ٬ځُٻ ٴ٭ځً ٌى ؤن ظ ٫١ڄُٙو٬دُ ـًًَخً زدٔڃ KeyFileMeزً ودٴًش ڄؽالً و هبد ټٿ ڄد ظًَُ ڄد ظًَُ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 204
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
بذل خِن ټٿ ٍ٘ء زُٕ ٣وَ٭عمً يخڀص خؼبٹدَوص زٝٵص وخ٠مص ؤهځص خڀٽُٕ.
وىخَِڄُدض خڀعٙٵًن.
ڄؽدپ ػبىخَِڄُص خڀعٙٵًن.
وىخَِڄُدض خؽبدٖ.
ؤڄؽځص ػبىخَِڄُص خؽبدٖ.
خڀىخ٠ك يف خٔعٱالپ . RSA
.7.1خٛاضظَٝات ايتؿؿرل
ٌىدٺ ً٬ش ظ٭دََٳ ػبىخَِڄُدض خڀعٙٵًن ؤو CIPHERSڀٽه ٔى٭ ٍ٥وـهص وُ٩ود ٴُهد زَُ٥ٹص ڄسٕ٥ص :
وىخَِڄُدض :صب ٫وىخَِڄُص وٌٍ ټځمص ڄٙعٹص ڄه خٔڃ خڀ٭ددل خڀَُد ٍ٠خڀ٭ُيب خؼبٕځڃ خػبىخَِڄٍ ،وٸً ؤ٤ځٷ خٔڃ وىخَِڄُص ٬ځً
خڀَُ٥ٹص خڀ٭ٹالوُص يف ظىُ٩ڃ ولٿ خؼبٙدټٿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 205
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد ظٙٵًن :ٴهٍ ڄٙعٹص ڄه ټځمص ٘ٵُش وظ٭ين َڄّ ،ويبٽه ؤن وٕمُهد ؤَ١دً ظُڄُّ ،ؤڄد خؽبًٲ ڄه خڀعٙٵًن ٴهى ٸځر ؤو زبَُر خڀُڄىِ
زٙٽٿ ڄىع٩ڃ ويبٽه ٴٽً.
ٌىدٺ ً٬ش وىخَِڄُدض ڀعٙٵًن خڀسُدودض ڄؽٿ AES , Caesarؤو Way-3ؤو .... Mars , DES , Castبذل ًٰنٌد ڄه
خػبىخَِڄُدض خؼبٙهىَش ،ڀٽه ڀه وعُ٥ٶ ڀُٙلهد ألهند ٠ىمص ـًخً وڄ٭ٹًش ُ٘حدً ڄد ،ڀٍڀٻ ٔىٽعٵٍ زُٙق ؤزٕ٥هد.
ؤٌ ؤن ظٙٵًن َڄّ ڄد ٌ Xى زدٸٍ ٸٕمص خڀُڄّ Xزدإل٠دٴص بذل خؼبٵعدق ٬ځً ؾبمى ٪خڀُڄىِ خڀيت ظع١مه . X
ٸمىد زة٥٬دء ټٿ لُٲ َٸمدً ڄ٭ُىدً زدڀعُظُر .وڀٽه ي٬ىد وٙٵُ ټځمص ATREؤىىعدَ خؼبٵعدق 7ڄؽال.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 206
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
بٌخ ؤَيض ٴٻ خڀعٙٵًن ٴٽٿ ڄد هبر ٬ځُٻ ڄ٭ُٴعً ٌى خؼبٵعدق ٴٹ ،٣ؤڄد خڀُٝٱص خڀَُدُ٠ص ٴُمٽه خٔعىعدـهد زٕهىڀص.
ٸڃ زةوٙدء ڄُٙو ٪ـًًَ زدٔڃ Caesarؤىف٭ځً KeyFileMeألن ٌٍخ خألوًن دل َىٿ وُٝسً ټدِوَُه:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 207
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔى ٫١ټىيخً َى٠ك وٵٓ خؼبؽدپ خڀٌٍ ُ٘لىدي ََدُ٠دً وزىٵٓ خعبًوپ:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 208
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.7.3خٛاضظَٝات اشلاف
ٌٍخ خڀىى ٪ڄه خػبىخَِڄُدض ٌى خڀٕدجً خِن ڀځمٵد٬ ٦ځً خؼب٭ځىڄدض زٙٽٿ ؿبمٍ ظٹَُسدً 100%وؤ٘هٌُد MD5ڀ٭ځٻ ظب٭ط ؤو
ٸُؤض ٬ىهد ،وڀ٭ځٻ ؤَ١د ظٕدءڀط :ؼبدٌخ ال يبٽه ٬ٽٕهد ڄديخڄط ڄى٥ٹُص وظ٭عمً ڄ٭ديالض وال ظ٭عمً ٬ځً ٸُڃ ٙ٬ىخجُص ؟!
خعبىخذ :ال ؤيٌَ ټُٳ مت خوعُخ٬هد ڀٽه ڄه وـهص وُ٩ود يبٽىىد ؤن وٹىڂ زعسُٕ٥هد ڀٻ زدؼبؽدپ خڀعدرل :
ڀىإوٍ خغبُٲ Aٸُمص ASCIIڀً ٌٍ 41hخِن ٔىفٌُ ً٬ش ٬مځُدض ٬ځً ٌٍي خڀٹُمص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 209
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
9F4D3996D60790CD11C04F842EBC43C
خِن ڄدٌخ ڀى ؤُ٥٬عٻ ٌٍي خڀٹُمص وٸځط ڀٻ خٔعىعؿ رل خڀى ٛخألٜځٍ خڀٌٍ ؤٌٍ ً٥٬خ خؽبدٖ؟ ٤س٭دً ڀه ظٕع ٫ُ٥ؤزًخ بال زدڀعىمٌن ؼبدٌخ؟
ألوً ڀًَٻ خػبىخَِڄُص ٴٹ ٣وڀُٕط ڀًَٻ خڀٹُڃ خحملٍوٴص وْظ ُ٥١بذل زبمُىهد.
ڀٽه ؼبدٌخ وُي ُ٘ق ٌٍي خػبىخَِڄُص يف خڀٽعر ٤ىَالً ـًخً وڄ٭ٹًخً ؟ خعبىخذ :ڀعىٵُ ٟوٕسص خغبٝىپ ٬ځً وٵٓ خؽبدٖ ڀىٵٓ خڀسُدودض.
ټمد ظ٭ځڃ ٴهدٖ وىخَِڄُص َ MD5عٽىن ڄه 32لُٴدً ،وټٿ لُٲٍ يبٽه ؤن َٽىن 16لُٴدً ـبعځٵدً ،بٌخ لٕر خؼبسًؤ خألٔدٍٔ
ڀځع٭ًخي ٴٕىمٝٿ ٬ځً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 210
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.1املكسَ١
زُؾبص ؤيخش ظسمػ ٬ه ٸُڃ ڄ٭ُىص يف خؼبځٵدض زإوىخ٬هد مث ظكخوپ ز٭ً ٌڀٻ ظٱًُن ٌٍي خڀٹُڃ ؤڄُ ڀُٓ جبًًَ ،ويف ؤَدڄىد ٌٍي َىـً خڀٽؽًن ڄه
خؼبځٵدض خؼبًََٝص يف خڀىط زٽٿ خڀځٱدض ظعُ٥ٶ بذل ٬مځُص خڀسمػ وظسًَٿ زدَعدض ٌىد وٌىدٺ.
و ڀٽه ؤوٍ خڀٹدَت ڄ٭ُٴص زُؾبص ٌٍي خأليخش َ٭عرب ڄه ؤٔدُٔدض خؽبىًٔص خڀ٫ټُٕص خڀيت هبر ٬ځً خؼبسعًجٌن ظ٭ځمهد وخإلؼبدڂ زٽٿ وسدَدٌد.
ٔىعُ٥ٶ بن ٘دء خهلل بذل ٌٍي خڀ٭مځُص يف ٌٍخ خڀًَْ زٙٽٿ ٬ـــــدڂ ڄ ٫و ٫٠خػبىخَِڄُدض وخإلـُخءخض خڀيت كبعدـهد إلقبدِ ٌٍي
خأليخش و٬مځهد زَُ٥ٹص ٜمُمص.
. OllyDbg
. Delphi 7
HexWorkshop v5ڀځمٹدَوص.
سبَُه ربًٌ خألن Ahmad_kڄُٴٷ.
ربمُٿ ٌٍي خأليوخض ڄه ڄىعًي خڀٵَُٷ خڀ٭ُيب ڀځهىًٔص خڀ٭ٽُٕص ،ٸٕڃ خأليوخض.
ٌٍخ خڀًَْ ڄىـً بذل خؼبٕعىي خڀٙسً ڄعىٔ ،٣وٌى ڄً٬ىڂ زدڀٝىَ ڀُعٕهَّ ڀٻ خڀٵهڃ
ؤټؽُ بن ٘دء خهلل.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 211
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ُٶ بذل٥ يف ئَىد ٔىع،دض خڀالِڄص خڀيت ربعدـهد خأليخشٜمٿ خڀٵمى٬ ًځ٬ ًًَ يف زُؾبص ؤٌ ؤيخش ڄهمد ټدن يوٌَدٙ خڀُٚهبر خغب
: دض خڀعدڀُصٜخڀٵمى
for i := 1 to Length(TargetNumber) do
if ((TargetNumber[i] < '0') or (TargetNumber[i] > '9')) and ((TargetNumber[i]
< 'A') or (TargetNumber[i] > 'F'))
then
begin
ActionEdt.MaxLength := 1;
ResultLbl.Font.Color := ClRed;
ResultLbl.Caption := 'BAD';
ActionBtn.Enabled := False;
Result := False;
Exit;
end else
begin
ActionEdt.MaxLength := 0;
ResultLbl.Font.Color := ClGreen;
ResultLbl.Caption := 'GOOD';
ActionBtn.Enabled := True;
Result := True;
end;
end;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 212
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
َِ ُٿ وظٵ٭ُٿ٥ وظ٭Hexadecimal ًڂ خڀٕمدق زةيودپ ؤٌ ؿبُٲ ًٰن٬ و،ٴدجًش ٌٍي خػبىخَِڄُص ٌٍ خڀعمٹٷ ڄه خحملدَٲ خؼبًوځص
.هدَ َٔدجٿ ظ٭ځمىد زٍڀٻ٨ ب٫خڀسمػ ڄ
.ىؽبد ؤڂ ال٤ دزٷ٥هدَ َٔدجٿ ظ٭ځمىد زع٨ىپ خڀٹُڃ خؼبًوځص وب٤ ٌٍٛخ خعبّء ڄه خإلـُخجُص َٹىڂ زٵم
وٌٍ ظٹىڂ زىٕه خؼبځٳ،ًُإ يف ټعدزص خڀٹُڃ خجليًَش ٴ٥ځٍ يف لدڀص لًوغ وٜ خؼبځٳ خأل٪ُد٠ ٌٍي خإلـُخجُص ڄهمص ـًخً ألهند ذبىسىد
.ش٦ بذل خڀىٕىص خؼبىٵى.Bak يخي
دٴص خڂض٠ځٍ وبٜخأل
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 213
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ه خڀٹُڃ خؼبُخي ظٱًُنٌد ٌٿ ٌٍ ڄىـىيش ؤڂ ال؟٬ ٛ ڄه بـُخجُص خڀعٱًُن وخڀٌٍ يبؽٿ خڀٵمٛـّء ڄٕعىځ
مثFormatByte خبىخَِڄُصCharacters بذلHexadecimal َُٹص خڀسمػ خؼب٭عمًش يف ٌٍخ خڀًَْ ٌٍ خڀٹُدڂ زعمىَٿ ٸُڃ٤
.ه ٌٍي خڀٹُڃ خألوًنش يف خؼبځٳ خؽبًٲ٬ خڀسمػ
function FormatByte(sValue: string): string;
var i: cardinal;
sData: Byte;
begin
for i := 0 to (length(sValue) div 2) - 1 do
begin
sData := StrToInt('$' + Copy(sValue, (i * 2 + 1), 2));
Result := Result + Char(sData);
end;
end;
ايبشح١َٝاضظٛ خ.1.7
ُ ظسًؤ خڀٹُخءش ڄه ؤوپ ٸُمص يف خؼبځٳ بذل آو، Srt ٸُڃ خؼبځٳ ټدڄالً يف خؼبعٱًن٫١ مث ظ،ًُاللُدض خڀٹُخءش ٴٝظٹىڂ زٵعك خؼبځٳ خؽبًٲ ز
ًځ٬ وظعىٸٳ،هُ َٔدڀص ظ٭ځمىد زٍڀٻ٩دزٷ ظ٥ ويف لدڀص وـىي ظ. i ي يف خؼبعٱًن٦ځً لفڃ خؼبځٳ خڀٌٍ مت قٲ٬ ڄ٭عمًش يف خڀٹُخءش،ٸُمص
.ىىخن خڀٹُمص خڀيت وـًض٬
function Search(sFileName, sOriginalByte: string): Boolean;
var
F: file;
Str: string;
I: Integer;
begin
AssignFile(F, sFileName);
Reset(F, 1);
I := FileSize(F);
SetLength(Str, FileSize(F));
BlockRead(F, Str[1], I);
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 214
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
end;
CloseFile(F);
end;
. خبىخَِڄُص خڀسمػٚ خػبدٛ وظٹىڂ زىٵٓ خڀٵم،ًُاللُدض خڀٹُخءش وخڀٽعدزص ٴٝظٹىڂ زٵعك خؼبځٳ خؽبًٲ ز
.إ؛ ألن خڀعإټً ڄٵًُ يخجمدً ٸسٿ خڀعٱًُن يف خؼبځٵدض٥ًود ټعدزعهد ڀعٵديٌ خػب٬ؤ
.ٍ مث ټعدزص خڀٹُڃ خعبًٌيش يف خؼبځٳ٤مځُص وٕه ڄځٳ خلعُد٬ دزٷ ظعڃ٥ځً ظ٬ ىپٝيف لدڀص خغب
procedure Replace(sFileName, sOriginalByte, sPatchedByte: string);
var
BytesWritten: LongWord;
F: file;
Str: string;
I, Y: Integer;
begin
AssignFile(F, sFileName);
Reset(F, 1);
I := FileSize(F);
SetLength(Str, FileSize(F));
BlockRead(F, Str[1], I);
BackupFile(sFileName, Main.ReportMmo);
for y := 1 to Length(sPatchedByte) do
begin
BlockWrite(F, sPatchedByte[y], SizeOf(sPatchedByte[y]), BytesWritten);
if sPatchedByte[y] <> sOriginalByte[y] then
begin
Main.ReportMmo.Lines.Add('Original value : ' +
IntToHex(Ord(sOriginalByte[y]), 2) + ' Patched value : ' +
IntToHex(Ord(sPatchedByte[y]), 2));
end;
end;
end
else
begin
Main.ReportMmo.Lines.Add('Already Patched');
end;
CloseFile(F);
end;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 215
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
سبط زُؾبص خػبىخَِڄُدض وخإلـُخءخض زد٬عمدي خڀسٕد٤ص يف خڀٽىي ڀععمٽه ؤوٍ خڀٹدَت ڄه
خڀٵهڃ خڀ٭دڂ ڀ٭مځُص خڀسمػ وخڀٽعدزص ،وپيبٽىٻ زب ًُٝٝلٕر خلعُدـٻ زدلعُخڂ خڀٹىخً٬
خڀ٭دڄص ڀځربؾبص ڀعٵديٌ خػب٥دء.
.2تطبٝل عًُٞ
.2.1ايبشح
وىٹك خؼبؽدپ خؼبُٴٷ ربًٌ خألن Ahmad_kمث وٹىڂ زدڀععس ٫لىت وٝٿ بذل ٬ىىخن َٔدڀص خڀـ Sucessووالل ٧خڀُٔدڀص يف خؼبىٹك :
٬مځُص خڀسمػ :ربمُٿ خؼبځٳ خؽبًٲ ،بيودپ خڀٹُمص خؼبعمٝٿ ٬ځُهد ڄه خؼبىٹك يف ڄٽدن ،Original valueبيودپ خڀٹُمص خعبًًَش يف
ڄٽدن ،Patched Valueڄُخ٬دش َٔدجٿ خڀعىسًُ ،مث وٹُ َِ .Search.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 216
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.2.2ايتػٝرل
.3ارتامت١
خغبمً هلل مت ٌٍخ خڀًَْ وبن ٘دء خهلل َٽىن ٌو ڄىٵ٭ص ؤهٿ خڀٵهڃ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 217
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
َ .1كسَ:١
.1.1األٖساف
ټٙٳ خؼبىٹك.
خٔعٱالپ RDTSCػبً ٪خڀـ Reverserوظىـُهً بذل وىخَِڄُص ظىڀًُ ود٤حص.
.1.2تعاضٜـ َٚتؿطقات
RDTSCخوعٝدَ ڀـ Read Time Stamp Counterوٌى ٬سدَش ٬ه ً٬خي َ٭مٿ يخوٿ خڀـ Processorوَٹُؤ خڀّڄه
خؼبىٹ ٍ١زٌن ټٿ .Instruction
ڀځمًَّ ڄه خڀٵهڃ خڀًٸُٷ ڀـ RDTSCوىٝمٻ ؤوٍ خڀٹدَت زدال٤ال٬ ٪ځً ظ٭َُٵً يف ڄىٔى٬ص Wikipediaألن ًٌٴىد ڄه ٌٍخ
خڀًَْ ٌى ظ٭ځڃ خٔع٭مدؽبد ويؾبهد يف زُودڄؿ ذبَُيب ،وڄه مث ٔىٲ كبدوپ ربځُځً بن ٖخء خهلل ،خڀربودڄؿ زدٔڃ UnderstandMe
وٌى ڄُٴٷ ڄٌٍ ٫خ خڀًَْ.
.OllyDbg
.Delphi 7
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 218
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خؼبځٵدض خڀيت ٬مٿ ٬ځُهد ٌٍخ خڀًَْ ڄُٴٹص ڀععمٽه ڄه خپذبُزص ڄ ٫خظسد ٪ټٿ
خؼبُخلٿ وخڀىٜىپ بذل خڀىعُفص خؼبُـىش.
.1.3ايبسا١ٜ
ڄُٙو ٪ـًًَخً مث كبٵ ٧ټٿ خؼبځٵدض يف ؾبځً ـًًَ وبمٿ خٔڃ خڀعمَُه ،وٹىڂ زى ٫٠خؼبٽىودض خڀالِڄص ،وٸً
خً وٙٱٿ يڀٵٍ مث وىٙث
خٴعُ٠ىد ؤوٻ -ؤوٍ خڀ٭َّّ -ظ٭ُٲ ٸځُالً ڄه ڄسديت خڀربؾبص زًڀٵٍ ڀٽٍ ال وعُ٥ٶ بڀُهد يف ٌٍخ خڀًَْ ولبُؾ ڄه خؼبى٠ى .٪ؤَٴٹىد ڄ٫
خڀًَْ خؼبځٵدض خؼبًََٝص ڀعفىر خػب٥إ وظٕهُٿ خڀٵهڃ زدڀىٕسص ڀځمسعًجٌن.
يف خڀَّ خػبد ٚزدڀعٕفُٿ Registerوٽعر خڀٽىي خػبد ٚخبىخَِڄُص ڄ٭دعبص خٔڃ خؼبٕعىًڂ ڀعىڀًُ Serialمث ڄٹدَوعً زدڀــ Serial
خؼبًوٿ ،وإوٍ ٌٍخ خؼبؽدپ :
وىخَِڄُص ربٕر ٸُڃ خالٔڃ خؼبًوٿ مث ظٹىڂ ز٭مځُدض لٕدزُص زُٕ٥ص ڀځىٜىپ بذل serialزُٕ: ٣
;)Trim(NameEdt.Text
;sSerial := 0
;sName := NameEdt.Text
if NameEdt.Text <> '' then
begin
for i := 0 to Length(sName) do
begin
;)sSerial := sSerial + (Ord(sName[i]) * $128
;end
if a = b then
SerialTest := IntToHex(sSerial, 2) + IntToStr(sSerial * $512) else
;)SerialTest := IntToHex(sSerial, 16) + IntToStr(sSerial * $16
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 219
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىُ١ٳ ټىيخً وٕعً ٍ٬زً RDTSCيف لًغ َ OnCreate٭ين ٬ىً زًخَص ظٙٱُٿ خڀعمَُه ،وكبٵ ٧خڀىدظؿ يف ڄعٱًن ٬دڂ Global
وٕمًُ " "aمث وٽعر خٔعً٬دءً يف لًغ OnClickخڀعدز ٫ڀَّ Registerمث كبٵ ٧خڀىدظؿ يف ڄعٱًن ٬دڂ آوُ Globalوٕمًُ ". "b
ُ٘ق خڀ٭مځُص يف خعبّء خڀع٥سُٹٍ :
var
;Main: TMain
;a, b integer
implementation
يف لدڀص ظٙٱُٿ خڀربودڄؿ ودَؾ خؼبىٹك بٲن ڄُوَ خڀـ َْ Instructionsٽىن زُٕ٬ص ټسًنش وْظٽىن خڀٹُڃ
ٲن خؼبُوَ زٌن instructions
خڀىدذبص خحملٵى٨ص يف خؼبعٱًنخض aو bڄعمدؼځص ،ؤڄد ٬ىً ظٙٱُٿ خڀعمَُه يخوٿ خؼبىٹك ب
َعمٽڃ ٴًُ خؼبٕع٭مٿ زُٕ٬ص ـبعځٵص وزُ٥حص ،فبد هب٭ٿ خڀٹُڃ خحملٵى٨ص يف خؼبعٱًنخض خڀٕدزٹص ـبعځٵص ،وٌىد َٽمه
خڀٵم ٛوٌى ڄٹدَوص زٌن ٸُڃ خؼبعٱًنخض aو bولٕر ٤سُ٭ص خڀىدظؿ وىـً خؼبٕع٭مٿ بذل وىخَِڄُص خڀعىڀًُ
خڀٝمُمص ؤو خػبد٤حص ڀىًَّ خڀٌ٥ن زځً.
.2ايعٌُ ايتطبٝلٟ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 220
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ودظؿ خػبىخَِڄُص ز٭ً خؼب٭دعبص َُـ ٫يف resultووىٹځً كبه بذل خؼبعٱًنخض خڀٕدڀٵص خڀٍټُ a :و .b
.2.2ايتتبع يف املٓكح
ٸسٿ خڀسًخَص هبر ظ٭ُ٥ٿ ڄ١دي RDTSCخؼبىـىي يف OllyDbg Advenced Pluginټدڀعدرل :
ز٭ً خالوعهدء ڄه خڀ٭مځُص كبمٿ خڀعمَُه يف خؼبىٹك ،مث و ٫١وٹ٥ص ظىٸٳ ٬ىً ٬ىدوَه خغبًؼٌن OnCreateو OnClickخڀعدز٭ٌن ڀځَّ
Registerووسًؤ خڀععس...٫
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 221
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.2.2.1سسخ OnCreate
يف زًخَص ظٙٱُٿ خڀربودڄؿ كبٝٿ ٬ځً خڀٹُمص خڀيت ؤَـ٭ط ز٭ً ڄ٭دعبص RDTSCيف EAXمث لٵ٩ط يف خؼبعٱًن aو٬ىىخوً يف
خؼبىٹك ٌى 00456C04 :
والل ٧ؤَ١دً ؤن خڀٹُمص خڀىدذبص ظعٱًن زعٱًن ُٔ٬ص خڀعىٹٿ زٌن ټٿ ظ٭ځُمص ،وبٌخ و٠٭ىد وٹ٥ص ظىٸٳ يف زًخَص خػبىخَِڄُص مث خوعٹځىد
بذل آوٌُد ٴُٕٽىن خڀىدظؿ يخجمدً ـبعځٵدً ز٭ً ټٿ ظعس.٫
وبٌخ و٠٭ىد وٹ٥ص ظىٸٳ يف آوُ خػبىخَِڄُص ٴُٕٽىن خڀىدظؿ يخجڃخً ٌى وٵًٕ ألن خڀعىٹٿ زٌن خڀع٭ځُمدض مت زُٕ٬ص خڀـ
.Processor
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 222
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً خڀىٹُ ٬ځً َِ Registerكبٝٿ ٬ځً خڀٹُمص خڀيت ؤَـ٭ط ز٭ً ڄ٭دعبص RDTSCيف EAXمث لٵ٩ط يف خؼبعٱًن bو٬ىىخوً يف خؼبىٹك
ٌى 00456C08 :
يف لدڀص ظٙٯَٿ خڀعمَُه ودَؾ خؼبىٹك ظٽىن خڀٹُمعٌن خحملٵى٨عٌن يف خؼبعٱًنخض aو bڄع٥دزٹعٌن ،وَعڃ خڀٌٍدذ بذل وىخَِڄُص ظىڀًُ َٸڃ
خڀعٕفُٿ خألوذل ،ويف لدڀص ً٬ش خڀع٥دزٷ وٌٍر بذل وىخَِڄُص ظىڀًُ َٸڃ خڀعٕفُٿ خڀؽدوُص.
َ٭ين خڀـ َ Reverserععس ٫خػبىخَِڄُص ووبٝٿ ٬ځً َٸڃ ظٕفُٿ َ٭ڃپ يخوٿ خؼبىٹك ٴٹ ٣ويف لدڀص ذبَُسً ودَؾ خؼبىٹك ڀه َ٭مٿ ٬ىًي،
وٌٍخ ٌى خؽبًٲ ڄه خػبً٬ص.
َٽمه ؤَ١د َِ RDTSC ٪يف ؤڄٽىص ټؽًنش ڄه خڀربودڄؿ ولٕر ٤سُ٭ص خڀىدظؿ َعإؼُ خڀربودڄؿ زُٰسدض خؼبربڄؿ ،ڄه Exceptionsبذل
َٔدجٿ ظىسًُ ؤو ًٰنٌد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 223
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ظ٭مًود يف ٌٍخ خڀًَْ ظٱًُن ـّء ٜٱًن يف وىخَِڄُدض ظىڀًُ َٸڃ خڀعٕفُٿ وـ٭ځهد ڄعٹدَزص ڀععمٽه ؤوٍ خڀ٭َّّ ڄه خڀٵهڃ زإزٕ٣
خألڄؽځص ،ويبٽىٻ ؤن ظ٭ٹً خألڄىَ يف خػبىخَِڄُدض خؼبُٴٹص ،ٴٹ ٣خلُ٬ ٚځً خڀًٸص يف خڀربؾبص إلـسدَ خڀـ Reverserخؼبُوَ خبىخَِڄُص
ًَ RDTSCوَدً زـ F8ڀع١مه ؤن خڀىدظؿ ُٔٽىن ـبعځٵدً زٌن زًخَص ظٙٱُٿ خڀربودڄؿ ولًغ OnClickڄؽالً.
OllyDbg خٔع٭مدپ وً٬ص RDTSCظٽٙٳ خؼبىٹك ،وذبدوِ ٌٍي خػبً٬ص ٔهٿ وَٽٵٍ ٴٹ ٣ظىُٝر
Advenced Pluginوظٵ٭ُٿ وُدَ .Anti-RDTSC
خؼبٹعُلص يف خڀـ ضبدَص Anti-RDTSC ٔىٲ وعُ٥ٶ ؤَ١دً بذل خٔع٭مدؽبد يف يَْ ټٙٳ خؼبىٹك زدٔعٱالپ ؼٱُش
.OllyDbg Advenced Plugin
.2.3.1تٛابع :
خارج ادلُمر
Name : STRELiTZIA
Serial : 3A9B8311592688
داخم ادلُمر
Name : STRELiTZIA
Serial : 000000000003A9B85281232
.3ارتامت١
خغبمً هلل مت ٌٍخ خڀًَْ وبن ٘دء خهلل ذبً ٴًُ خؼبع٭ص وخڀٵدجًش.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 224
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خؼبځٵدض خڀيت ٬مٿ ٬ځُهد ٌٍخ خڀًَْ ڄُٴٹص ڀُعٕهٍَّّ ڀٻ ؤوٍ خڀٽُمي خڀعفُزص ڂ٪
خظسد ٪ټٿ خؼبُخلٿ وخڀىٜىپ بذل خڀىعُفص خؼبُؾوش.
َ .1كسَ:١
.1.1األٖساف
ټٙٳ خؼبىٹك.
.1.2تعاضٜـ
RDTSCخوعٝدَ ڀـ Read Time Stamp Counterوٌى ٬سدَش ٬ه ً٬خي َ٭مٿ يخوٿ خڀـ Processorوَٹُؤ خڀّڄه
خؼبىٹ ٍ١زٌن ټٿ .Instruction
ڀځمًَّ ڄه خڀٵً ڂ خڀًٸُٷ ڀـ RDTSCوىٝمٻ ؤوٍ خڀٹدَت زدالّ٤ال٬ ٪ځً ظ٭َُٳ ڄىٔى٬ص Wikipediaوټٍڀٻ خالّ٤ال٬ ٪ځً
خڀًَْ خڀٕدزٷ ڄ ٫خڀعمَُه ڀٵهڃ آڀُص .RDTSC
ًٌٴىد ڄه ٌٍخ خڀًَْ ٌى ټٙٳ يَخَٵُ fakerdtsc.sysو anti_rdtsc.sysخڀٌٍ خ٬عمً يف Advenced Plugin
OllyDbgڀًٕ وً٪ش .RDTSC
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 225
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٕع٭مٿ وٵٓ ڄؽدپ خڀعمَُه خڀٕدزٷ UnderstandMeخڀٌٍ ٔعفًي ڄُٴٹدً ڄٌٍ ٫خ خڀًَْ.
. OllyDbg
. Delphi 7
.1.3ايبسا١ٜ
ٸسٿ خڀسًخَص هبر ظٵ٭ُٿ وُدَ ڄ١دي RDTSCخؼبىـىي يف Advenced OllyDbg Pluginٺخڀعدرل :
ز٭ً خالوعهدء ڄه خڀ٭مځُص كبمٿ خڀعمَُه يف خؼبىٹك ،وو ٫١وٹ٥ص ظىٸٳ ٬ىً ٬ىدوَه خغبًؼٌن OnCreateو OnClickخڀعدز٭ٌن ڀَّ
Registerووسًؤ خڀععس...٫
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 226
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.1.3.1سسخ OnCreate
يف زًخَص ظٙٱُٿ خڀربودڄؿ كبٝٿ ٬ځً خڀٹُمص خڀيت ؤَـ٭ط ز٭ً ڄ٭دعبص RDTSCيف EAXمث لٵ٩ط يف خؼبعٱًن aو٬ىىخوً يف خؼبىٹك ٌى :
00456C04
MOV DWORD PTR DS:[456C04],EAX
والل ٧ؤَ١دً ؤن خڀٹُمص خڀىدذبص ال ظعٱًن زعٱًن ُٔ٬ص خڀعىٹٿ زٌن ټٿ ظ٭ځُمص ،وبٌخ و٠٭ىد وٹ٥ص ظىٸٳ يف زًخَص خػبىخَِڄُص مث خوعٹځىد بذل
آوٌُد ٴُٕٽىن خڀىدظؿ وٵًٕ يخجمدً ز٭ً ټٿ ظعس ٫وٌٍخ َخـ ٫ڀځًََٵُ خؼبى ٛٝإلز٥دپ .RDTSC
.1.3.2سسخ OnClick
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 227
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ىىخوً يف خؼبىٹك٬ وb ط يف خؼبعٱًن٩ مث لٵEAX يفRDTSC ځً خڀٹُمص خڀيت ؤَـ٭ط ز٭ً ڄ٭دعبص٬ ٿٝ كبRegister َِ ًځ٬ ُز٭ً خڀىٹ
00456C08 : ٌى
ً يؾب٣ وَسٹً ٴٹ،ُٳ خڀًَخَٵٙ ڀٍخ ٔىمدوپ زُؾبص ټىي َٽ،ُٞمڃ ؽبٍخ خڀٱٜ ًسُ٭ٍ ألو٤ ُ وٌٍخ ؤڄ،ص٬ًٿ خػب٥ ؤن َ٭٪د٥خڀًَخَٵُ خٔع
.RDTSC ٳٙ ټىي ټ٫ڄ
١ ايدلزت.2
program AdvancedOllyDbg;
uses
windows, SysUtils;
const
DRIVER_INFORMATION = 11;
fakerdtsc = 'fakerdtsc.sys';
anti_rdtsc = 'anti_rdtsc.sys';
type
TPDWord = ^DWORD;
TDriverInfo = packed record
Address: Pointer;
Size: DWORD;
Unknown2: DWORD;
EntryIndex: DWORD;
Unknown4: DWORD;
Name: array[0..MAX_PATH + 3] of Char;
end;
var
ZwQuerySystemInformation: function(infoClass: DWORD;
buffer: Pointer;
bufSize: DWORD;
returnSize: TPDword): DWORD; stdcall = nil;
procedure GetDriverInfo;
var
temp, Index, numBytes, numEntries: DWORD;
buf: TPDword;
driverInfo: ^TDriverInfo;
Result: string;
begin
if @ZwQuerySystemInformation = nil then
ZwQuerySystemInformation := GetProcAddress(GetModuleHandle('ntdll.dll'),
'ZwQuerySystemInformation');
ZwQuerySystemInformation(DRIVER_INFORMATION, @temp, 0, @numBytes);
buf := AllocMem(numBytes * 2);
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 228
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
Inc(driverInfo);
end;
Delete(Result, 1, 2);
FreeMem(buf);
end;
begin
GetDriverInfo;
end.
خڀيت ntdll.dll خؼبىـىيش يف خؼبٽعسص خڀًَىدڄُٽُص ZwQuerySystemInformation دڂ وٕع٭مٿ يخڀص٩ص يف خڀى٥ٙځً ٸدجمص خڀًَخَٵُ خڀى٬ ىپٝڀځم
.دئٌد٬ًَعڃ خٔع
Remarks
The ZwQuerySystemInformation function and the structures that it returns are internal to the operating system and
subject to change from one release of Windows to another. To maintain the compatibility of your application, it is better
to use the alternate functions previously mentioned instead.
If you do use ZwQuerySystemInformation, access the function through run-time dynamic linking. This gives your code an
opportunity to respond gracefully if the function has been changed or removed from the operating system. Signature
changes, however, may not be detectable.
This function has no associated import library. You must use the LoadLibrary and GetProcAddress functions to
dynamically link to Ntdll.dll.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 229
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يبٽىٻ خال٤ال٬ ٪ځً خؼب٭ځىڄدض خڀًٸُٹص خػبدٜص هبٍي خڀًخڀص يف ڄٽعسص . MSDN
ز٭ً بلٝدء خڀًَخَٵُ خڀى٥ٙص يف خڀى٩دڂ وٹىڂ دبٹدَوص ؤظبدء خڀًَخَٵُ زـ anti_rdtsc.sysو fakerdtsc.sysويف لدڀص خڀع٥دزٷ ظ٩هُ
َٔدڀص ظ٭ځمىد زٍڀٻ :
if (Result = fakerdtsc) or (Result = anti_rdtsc) then
| MessageBoxA(0, '[Sucess] OllyDbg Detected'#13''#13'STRELiTZIA
AT4RE'#13'www.at4re.com'#13'OllyDbg Advanced Anti-RDTSC Driver Detection',
;)'Sucess', MB_OK
ظ٭مًود ً٬ڂ ظ٭ٹًُ ٪ڄځُص خڀٵم ،ٛوڀٽه خ٬ځڃ ؤوٍ خڀٹدَت ؤن زبُ٥هد ُٔٽىن ٔهالً ويف ڄعىدوپ خعبمُ٫؛ ڀٍخ يف خؼبؽدپ خؼبُٴٷ
َىٝك زة٠دٴص ظٙٵًن الٔڃ خڀًَخَٵُ ويخڀص خڀٵم ٛوب٠دٴص وً ٪ؤوُي ذب٭ٿ خڀعىٹُك ٜ٭سدً وفبالً.
.3تٓكٝح ايتُطٜٔ
و ٫١وٹ٥ص ظىٸٳ ٬ځً خڀ٭ىىخن خڀعدرل 00407DE0مث وٹىڂ زدڀععس ٫وٹ٥صً وٹ٥صً ڀٵهڃ ڄد هبٌُ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 230
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
والل ٧ٴم ٛټٿ ؤظبدء خڀًََٵُخض خڀى٥ٙص يف خڀى٩دڂ وڄٹدَوعهد زدڀًَخَٵَُه خؼبٍټىََه ٔدزٹدً ،ويف لدپ ظ٥دزٷ بلًخنبد ظ٩هُ َٔدڀص
ظ٭ځمىد زٍڀٻ.
RDTSCو Advanced OllyDbg Driver يبٽىٻ ؤوٍ خڀٹدَت يڄؿ خػبً٬عٌن ڄ٭دً ،وً٬ص خڀًَْ خڀٕدزٷ
ڀٽٙٳ خؼبىٹك ،وټٿ خغبٹىٶ ؿبٵى٨ص ڀځٵَُٷ AODD Detectionخڀيت ْن٤ځٷ ٬ځُهد بن ٘دء خهلل خٔڃ وً٬ص
خڀ٭ُيب ڀځهىًٔص خڀ٭ٽُٕص.
.4ارتامت١
خغبمً هلل مت ٌٍخ خڀًَْ وبن ٘دء خهلل ذبً ٴًُ خؼبع٭ص وخڀٵدجًش.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 231
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.1املكسَ١
ٔىٹىڂ يف ٌٍخ خڀًَْ زدڀع٭ُٲ ٬ځً َُ٤ٹص زُٕ٥ص ڀربؾبص Unpackerزځٱص خڀًڀٵٍ وٌڀٻ دبٕدً٬ش ڄٽعسص SDKوٌٍ ap0x
unpack engineوٌٍ ٬سدَش ٬ه 4ڄځٵدض َ Dllعڃ ب٠دٴعهڃ بذل خؼبُٙو ،٪وٌٍي خؼبځٵدض ٌٍ :
Debugger.dll
Importer.dll
Dumper.dll
REALIGN.DLL
ؤو ٔعفًٌد ڄُٴٹص ٌىد ڄ ٫خڀًَْ يبٽىٻ ربمُٿ ٌٍي خؼبٽعسص ڄه خؼبىٸ ٫خألٜځٍ
ودبد ؤن ٌٍخ خڀًَْ ٌى يَْ زُؾبٍ ڀٍڀٻ ٔىٲ وٹىڂ زى ٫٠ٸ ٫٥خڀٽىي وُ٘لهد ،ؤُٽىن خڀع٥سُٷ ٬ځً ضبدَص خڀـ NsPack v3.x
.
)1خڀىٜىپ بذل خڀـ OEP JMPوٌٍ خڀٹٵّش خألوًنش خڀيت ظٝٿ زىد بذل OEPؤٌ زًخَص خڀربودڄؿ خڀٵ٭ځُص.
)3ظٙٱُٿ خڀـ Debuggerوز٭ً ؤن َعىٸٳ ٬ځً وٹ٥ص خڀعىٸٳ ٌٍي وٹىڂ زدغبٝىپ ٬ځً خڀـ OEPټمد ٔعُي ٴُمد ز٭ً.
)4زدٸٍ خػب٥ىخض ال ٬الٸص ڀىد هبد؛ ألوً دبفُي لٝىڀىد ٬ځً خڀـ َ OEPىعهٍ ٬مځىد وظٹىڂ خؼبٽعسدض زسدٸٍ خڀ٭مځُدض Dumpمث
خڀسمػ ٬ه خڀـ IATمث بٜالق خڀـ IATمث ب٬ديش ظُظُر خؼبځٳ ،وز٭ً ٌڀٻ لٵ ٧خڀىٕىص خڀىهدجُص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 232
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خؼبځٳ خڀٌٍ ُٔ٥سٷ ٬ځُص خڀُٙق ٌى ڄځٳ ټُفه ڀُٙټص Apexوٌى ڄ١ٱى ٢زىخٔ٥ص . Nspack
ٔىٹىڂ زدڀععس ٫زىخٔ٥ص F8لىت وًوٿ يف ؤوپ loopمث ؼدين loopمث ٔىٝٿ بذل ؤڄُ ٬ JMPىً خڀ٭ىىخن 00496F26
بٌخ ٠ٱ٥ط ٬ځً ٔ F8عفً وٵٕٻ ٬ىً خڀـ OEPيف خڀ٭ىىخن ، 0045C578بٌنٌٍ :ي خڀـ ٌٍ JMPخڀـ OEP JMP
ڄد ٬ځُىد ٴ٭ځص زُؾبُدً ٌى خڀىٜىپ بذل ٌٍي خڀٹٵّش .ڄه خؼبمٽه ٤س٭دً خڀىٜىپ بڀُهد ڄه والپ خڀ٭ىىخن ،ڀٽه ظٍټُ
ؤوىد وربڄؿ Unpackerؤٌ ؤوىد ڀه وع٭دڄٿ ڄٌٍ ٫خ خؼبځٳ ٴٹ ٣زٿ ڄ ٫ؤٌ ڄځٳ ؿبمٍ هبٍي خغبمدَص ،وټٿ ڄځٳ
ْىبعځٳ ٴًُ خڀ٭ىىخن ٬ه خؼبځٳ خِوُ؛ ڀٍڀٻ ٴىمه ٔىسمػ زُؾبُدً ٬ه خڀسدَعدض 61 9D E9ألهند ٔعٽىن ؼدزعص
يف ټٿ خڀربخڄؿ خحملمُص زـ . Nspack
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 233
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
٫١ ووOEP JMP ٿ ڀځـٝ وڄه والڀً ٔى،ُق ٌٍخ خإلـُخءٙ ٔىٹىڂ خِن زUnpack َِ ًځ٬ ٣ٱ١ىً خڀ٬ ٍوٌى خإلـُخء خڀٌٍ َىٵ
.ُٱٿ خڀًَسٱٙص ظىٸٳ مث و٥ځُهد وٹ٬
61 9D E9 ه٬ وټمد ٌټُود ٔدزٹدً ٔىٲ وسمػ،ىهد٬ دٴص خڀسدَعدض خڀيت ٔىسمػ٠زًخَص ٔىٲ وٹىڂ زة
procedure TForm1.BitBtn2Click(Sender: TObject);
var
NSPSignature1 :array[1..10] of BYTE;
WildCard : Integer;
FoundPattern,SearchSize:Integer;
begin
if FileExists(Edit1.Text) then begin
ImageBase := 0;
FoundPattern := 0;
WildCard := 0;
يخڀص٫ وٌٍ ڀُٕط ٌدڄص ٔىٕعىًڄهد ڄPacked OEP ڀځربودڄؿ وImageBase ځً خڀـ٬ ىپٝص زدغبٜز٭ً ٌڀٻ َىـً ـّجُص ود
. خعبّجُدض خؼبعٱًنش٣ُق ٴٹٙ وكبه و، ټٿ خڀربخڄؿ٫ ڀٍڀٻ ٌٍ ؼدزعص ڄInitDebug
:ُٱُٿ خڀًَسٱٙ مث ظOEP JMP ځً خڀـ٬ ص ظىٸٳ٥ وٹ٫٠ه خڀسدَعدض وو٬ خِن ـّجُص خڀسمػ
FoundPattern := Find(PackedOEP,1000,@NSPSignature1,3,@WildCard); 2
else begin
ListBox1.Items.Add('File is not packed with NsPack...');
StopDebug();
DebugLoop();
ListBox1.Items.Add('Unpacking terminated...');
end;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 234
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
;end
;end
.1ؤوپ يخڀص ٌٍ InitDebugوٌٍ زدڀ١س ٣ټٵعمىد خڀربخڄؿ زدڀـ OllyDbgوٌٍ ذب٭ٿ خڀـ Debuggerيف لدڀص خوع٩دَ
. suspended state
ٌٍ .2ي خڀًخڀص وُ٨ٵعهد ٨دٌُش ڄه خظبهد ،وٌٍ ڀځسمػ ٬ه خڀسدَعدض خػبدٜص زدپ NsPackوټمد ظُي ٴةن ؤوپ زدَخڄُعُ ؽبد ٌى
وٹ٥ص خڀسًخَص خڀـ EPمث ز٭ً ٌڀٻ ڄؿخپ خڀسمػ مث خڀسدَعدض خڀيت ٔىسمػ ٬ىهد مث ً٬يٌڃ ،ٴةٌخ وـًض خڀًخڀص خڀسدَعدض ٴٕعُـ٫
خڀٹُمص 1ؤڄد بن دل ذبًٌڃ ٴٕعُـ ٫خڀٹُمص 0ولُىهد ُٔعڃ ظىٵٍُ ټىي خػبُوؾ ٬ىً خڀـ . else
ٌٍ .3ي خڀًخڀص ڄه ؤٌڃ خڀًوخپ ووُ٨ٵعهد ٨دٌُش ڄه خظبهد ،وٌٍ ودٜص زى ٫٠وٹ٥ص خڀعىٸٳ وزدَخڄعُخهتد ٺخڀعدرل :
ؤوپ زدَخڄُعُ ٌى خڀ٭ىىخن خڀٌٍ ٔى٬ ٫١ځُص وٹ٥ص خڀعىٸٳ ،ويف لدڀعىد ٌى ٬ىىخن خڀـ OEP JMPوخڀٌٍ َٕدوٌ
00496F26وڀٽه ؼبدٌخ ؤ٠ٵىد 2؟ خعبىخذ :ألن ٸُمص خڀـ FoundPatternظٕدوٌ 00496F24ڀٍڀٻ وُ١ٳ
2لىت ظٕدوٌ ٬ىىخن خڀـ JMP
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 235
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ز٭ًٌد َعڃ ظىٵٍُ خڀـ،٭ىدٌد٠ص خڀعىٸٳ خڀيت و٥ىً وٹ٬ ؤُٹىڂ خڀًَسٱُ زدڀ٭مٿ لىت َعىٸٳ،ُٱُٿ خڀًَسٱٙ ٌٍي خڀًخڀص ٌٍ يخڀص ظ.4
.ص خڀعىٶٲ٥٭ىد ڀىٹ٠ ز٭ً وF9 ًځ٬ ىد٥ٱ٠ ٣س١ ټإوىد زدڀcallback
//ImpREC
ImporterAutoSearchIAT(PChar(DumpTo),ImageBase,FirstSectionVA,NTSizeOfImage,@IATSt
art,@IATSize);
Form1.ListBox1.Items.Add(' -> Searching for IAT');
ImporterAutoFixIAT(hProcess,PChar(DumpTo),ImageBase,IATStart,IATSize,1);
Form1.ListBox1.Items.Add(' -> Fixing IAT');
OEP JMP ىىخن خڀـ٬ ويف لدڀعىد ُٔٽىن ؿبعىخٌدGetContextData ص خڀًخڀص٥ٔ زىخEIP ٌُ خڀُهبٕعnؤوپ ٍ٘ وٹىڂ زٹُخءش ؿبعى
:ىَشٝ ؟ ٘دًٌ ٌٍي خڀJMP ولبُـً ڄه والپ ٸُخءش خڀـOEP ىىخن خڀـ٬ ڀٽه ټُٳ ٔىمٕر00496F26 ٌوخڀٌٍ َٕدو
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 236
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
زٙٽٿ ٬دڂ َعڃ ڄ٭ُٴص خؼبٽدن خڀٌٍ ٔىٹٵّ بڀًُ وخڀٌٍ َٕمً خڀـ Jmp Destinationزىخٔ٥ص ٌٍخ خڀٹدوىن :
لُػ ؤن ٌٍ JMP Offsetخڀٹُمص ، FFFC564Dالل ٧ؤوىد ٬ٽٕىدٌد؛ ڀٍڀٻ ٴىمه وُ١ٳ ٬ 1ځً خڀـ OEPټمد يف خڀٽىي يف
خأل٬ځً ،وٌڀٻ ڀٽٍ وٹُؤ خألوٴٕط ٬ىً خڀ٭ىىخن ، 00496F27وظعڃ خڀٹُخءش زىخٔ٥ص خڀًخڀص ReadProcessMemoryFixed :
ؤڄد خڀـ program Counterٴهى خڀ٭ىىخن خغبدرل ،ؤٌ ٬ىىخن خڀـ OEP JMPوٌٍخ لٝځىد ٬ځًُ ڄه ٸُخءش خڀـ EIPو٤س٭دً خڀـ 4
ٌٍخ ؼدزط.
ز٭ً لٝىڀىد ٬ځً خڀـ َ OEPىعهٍ ٬مځىد ووعُٺ خڀسدٸٍ ٬ځً خؼبٽعسدض ،ٴُٹىڂ خڀربودڄؿ ز٭مٿ Dumpڀځمځٳ ٬ه َُ٤ٷ خڀًخڀص
DumpProcessمث خڀسمػ ٬ه خڀـ ٬ IATه َُ٤ٷ خڀًخڀص ImporterAutoSearchIATمث بٜالق خڀـ ٬ IATه َُ٤ٷ خڀًخڀص
ImporterAutoFixIATمث ٬مٿ Rebuildڀځمځٳ زىخٔ٥ص ڄٽعسص REALIGN.DLLوټٿ ٌٍي خػب٥ىخض ؼدزعص ڄ ٫ؤٌ ضبدَص
ظًَُ ٬مٿ Unpackerؽبد.
ؤوًنخً ڀعٹىڂ زعفمُ ٫ڄځٵدض خؼبٽعسدض يخوٿ خڀـ َ Unpackerىـً لځٌن :لٿ زُؾبٍ ولٿ زىخٔ٥ص زُودڄؿ MoleBoxوٌى َٹىڂ
جبم ٫خؼبٽعسدض يخوٿ خڀـ Unpackerوىبُؾ ڀىد ڄځٵدً هندجُدً ڄًڄؿ زًخوځً خؼبٽعسدض.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 237
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 238
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
َ .1كسَ١
ټمد و٭ځڃ ٴةن ؤٸً٬ ًٝي ڀځسدَعدض خڀيت يبٽه و٠٭هد يف خڀـ ( Hardware Breakpointsخوعٝدَخً ڀـ )ٌ HWBPى ؤَز٫
زدٌظدض ،وَعڃ خڀع٭دڄٿ ڄ ٫وٹد ٢خڀعىٸٳ ٬رب ڄٕفالض خڀعىٹُك Debug Registersوٌٍ شبدوُص ڄٕفالض٤ ،ىپ ټٿ وخلًٍ ڄىهڃ
bit 32ووُ٨ٵعهڃ ټدڀعدرل :
َٕ :Dr6مً ؤَ١دً Debug Status Registerوَُمٽىىد ڄه ڄ٭ُٴص ؤٌ HWBPلًغ .ؤىعُ٥ٶ ڀً زدڀعٵُٝٿ اللٹدً.
َٕ :Dr7مً زـ Debug Control Registerوٌى خڀٌٍ َعمٽڃ زدڀـ ) HWBPخڀٽٿ يف خڀٽٿ) ،وظُټُسعً ټدڀعدرل:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 239
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤوپ 8زعدض ( ) 7 <- 0يبٽه ظٹُٕمهڃ بذل خؼىٌن خؼىٌن ،حبُػ ټٿ خؼىٌن ىبٝدن بلًي وٹ ٣خڀعىٸٳ ،وبٌخ مت و ٫٠ؤوپ زط ) (Lٴةن
وٹ٥ص خڀعىٸٳ ظٽىن local breakpointؤٌ وبًغ خڀـ Debug exceptionيف خڀـ ٜ Processدلر خڀـ threadخڀٌٍ
ًٰنود Dr7ڀً.
ؼدين زط ) (Gڀىٜٳ وٹ٥ص خڀعىٸٳ ٬ځً ؤهند global breakpointؤٌ وبًغ خڀـ debug exceptionبٌخ ظىخٴُض ُ٘و ً٤يف
صبُ ٫خڀـprocesses .
ڀعمًًَ وى ٪وٹ٥ص خڀعىٸٳ خؼب٥سٹص ٬ځً خڀ٭ىىخن خحملًي ,ٴُمد بٌخ ټدوط ٬ىً ٸُخءظً ؤو خڀٽعدزص ٴًُ ؤو ظىٵٍُي ټع٭ځُمص ,يبٽه و ٫٠ٸُمعً
ټدڀعدرل (زدڀسط) :
ڀعمًًَ ٤ىپ خڀسُدودض خڀيت ٔع٬ ٫١ځُهد وٹ٥ص خڀعىٸٳ يبٽه و ٫٠ٸُمعً ټدڀعدرل (زدڀسط) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 240
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.2ايتطبٝل ايعًُٞ
لٕىدً ڀٹً ظ٭ُٴىد دبد ٴًُ خڀٽٵدَص ٬ځً ڄٕفالض خڀعىٹُك ،وخِن ڄد خػب٥ص خڀيت ٔى٭مٿ ٬ځُهد ؟
ڀعىُ٠ك خڀٵٽُش زٙٽٿ ٬مځٍ ٔىٹىڂ زٽعدزص ٜ debuggerٱًن َٹىڂ ز٭مٿ ٬ debugځً زُودڄؿ crackmeټمؽدپ وو ٫٠وٹ٣
ظىٸٳ ٴًُ و٬مٿ ؤُ٘دء ؤوُي.
ڀعىٹُك زُودڄؿ ڄ٭ٌن يبٽه ٴ٭ٿ ٌڀٻ ٬ه َُ٤ٷ بوٙدء خڀ٭مځُص زدڀًخڀص CreateProcessوو ٫٠زدَخڄعُ خأل٬الڂ == flags
DEBUG_PROCESS ..
ټٵٽُش ٬دڄص ڄد خڀٌٍ وبًغ ٬ىً وٸى ٪و٥إ يف زُودڄؿ ڄ٭ٌن ڀُٓ ربط خڀعىٹُك ؟
َعڃ ب٨هدَ خڀـ exceptionؤو ټمد َٹدپ : exception raiseوَعڃ ظٕځُڃ ؤوپ SEH handlerخڀعىٵٍُ (ڀُٓ زًٸّص) ،ڀٽه ڄد
وبًغ ٬ىً وـىي خڀربودڄؿ ربط خڀعىٹُك ؤن خڀـ ٌ debuggerى خڀٌٍ َٕعځڃ خڀـ executionووى ٪خڀـ exceptionخڀٌٍ
لًغ وَٹَُ بٌخ ټدن ُٔع٭دڄٿ ڄٌٍ ٫خ خڀـ exceptionؤڂ هب٭ٿ خڀربودڄؿ وٵًٕ )ٌ (debuggeeى خڀٌٍ َع٭دڄٿ ڄ ٫خڀـ
exception .وُـى ؤن ظٽىن خڀٵٽُش وخ٠مص.
ُ٬ٲ ٬ځً ظځٻ خڀًوخپ ،يبٽىٻ خال٤ال٬ ٪ځُهڃ ؤټؽُ يف ڄٽعسصMSDN .
٤س٭د كبه ٌىد ڀٕىد زًٝي خڀط
٬ىً لًوغ َ HWBPعڃ َٴ exception ٫ڄه خڀىى EXCEPTION_SINGLE_STEP ٪بذل خؼبىٹك بٌخ ټدن ڄىـىيخً .بٌن الزً
٬ځُىد ڄه ٬مٿ handlingؽبٍخ خڀـexception code .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 241
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
كبه دل وعٽځڃ ٬ه Dr6زدڀعٵُٝٿ ز٭ً ټمد وً٬ود وٌد ٸً لدن خڀىٸط .ظُټُسص ٌٍخ خؼبٕفٿ زُٕ٥ص ـًخً ،ټدڀعدرل:
ڄد َهمىد ڄ٭ُٴعً ٌى ؤوپ bits 4وٌٍ سبؽٿ زط ڀٽٿ ، HWBPوبٌخ مت و ٫٠ؤلًٌڃ ٴهى ًَپ ٬ځً ؤن خڀـ HWBPخؼبىد ُ٨ڀً ٌى
خڀٌٍ لًغ.
ٔعٹىپ :ڄه ڄٕفالض خڀعىٹُك Drx؟! ڀٽه ؤوط ظ٭ځڃ ؤن خٔعىًخڄهد privilegedوال يبٽه ظٱًُنٌد ڄه!! user-mode
ظ٭ځمىن ؤن و٩دڂ وَىًوِ َعمع ٫خبدُٜص خڀـ Multithreadingؤٌ بڄٽدوُص ٬مٿ ؤټؽُ ڄه threadيف وٵٓ خڀـ process .ټٿ
threadڀً ڄٕفالظً خػبدٜص وخؼبٽًْ وؤُ٘دء ؤوُي.
َىـً يف ٸځر خڀى٩دڂ ڄد َٕمً زدڀـ Kernel Dispatcherوٌى خؼبٕاوپ ٬ه ظىُ٩ڃ خڀـ threadsؤو ThreadScheduling
.
٬ىً ٬مٿ swap-outڀـ threadالزً ڄه لٵ ٧ټٿ ڄد َع٭ځٷ زً (ڄٕفالض -ڄٽًْ - storage areas ..خخل) يف ڄٽدن
آڄه لىت بٌخ مت ٬مٿ َ swap-inعڃ خٔعُـد ٪خڀسُدودض ڄه ٌٍخ خؼبٽدن ڄُش ؤوُي وخڀ٭ٽٓ .ي ٌخ خؼبٽدن ؤو خڀٍخټُش ٌٍ ڄد وٹًٝي
زدڀـ Thread Contextؤو Contextڄسدُ٘ش.
//
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 242
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
//
// This section is specified/returned if the
// ContextFlags word contians the flag CONTEXT_FLOATING_POINT.
//
FLOATING_SAVE_AREA FloatSave;
//
// This section is specified/returned if the
// ContextFlags word contians the flag CONTEXT_SEGMENTS.
//
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
//
// This section is specified/returned if the
// ContextFlags word contians the flag CONTEXT_INTEGER.
//
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
//
// This section is specified/returned if the
// ContextFlags word contians the flag CONTEXT_CONTROL.
//
DWORD Ebp;
DWORD Eip;
DWORD SegCs; // MUST BE SANITIZED
DWORD EFlags; // MUST BE SANITIZED
DWORD Esp;
DWORD SegSs;
//
// This section is specified/returned if the ContextFlags word
// contains the flag CONTEXT_EXTENDED_REGISTERS.
// The format and contexts are processor specific
//
BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
} CONTEXT;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 243
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
if (GetThreadContext(hThread, &context))
{
dr7 = *(DR7*)&context.Dr7;
switch (count)
{
case 0:
{
context.Dr0 = linearAddress;
dr7.HWBP0_MODE = HWBP_LOCAL;
dr7.HWBP0_LENGTH = length;
dr7.HWBP0_ACCESS = type;
break;
};
case 1:
{
context.Dr1 = linearAddress;
dr7.HWBP1_MODE = HWBP_LOCAL;
dr7.HWBP1_LENGTH = length;
dr7.HWBP1_ACCESS = type;
break;
};
case 2:
{
context.Dr2 = linearAddress;
dr7.HWBP2_MODE = HWBP_LOCAL;
dr7.HWBP2_LENGTH = length;
dr7.HWBP2_ACCESS = type;
break;
};
case 3:
{
context.Dr3 = linearAddress;
dr7.HWBP3_MODE = HWBP_LOCAL;
dr7.HWBP3_LENGTH = length;
dr7.HWBP3_ACCESS = type;
break;
};
default:
return false;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 244
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
};
context.Dr7 = *(PDWORD)&dr7;
return SetThreadContext(hThread, &context);
};
return false;
};
:ً زدڀ٭ىىخن ڀٚ وخؼبٕفٿ خػبدlocal زدڀـٚ خػبدbit ٵُّ خڀـٝ وٵ٭ٿ ټمد ٔسٷ ڀٽه وHWBP وغبٍٲ
bool RemoveHWBP(HANDLE hThread, int count)
{
CONTEXT context = {CONTEXT_ALL|CONTEXT_DEBUG_REGISTERS};
DR7 dr7;
if (GetThreadContext(hThread, &context))
{
dr7 = *(DR7*)&context.Dr7;
switch (count)
{
case 0:
{
context.Dr0 = 0;
dr7.HWBP0_MODE = 0;
break;
};
case 1:
{
context.Dr1 = 0;
dr7.HWBP1_MODE = 0;
break;
};
case 2:
{
context.Dr2 = 0;
dr7.HWBP2_MODE = 0;
break;
};
case 3:
{
context.Dr3 = 0;
dr7.HWBP3_MODE = 0;
break;
};
default:
return false;
};
context.Dr7 = *(PDWORD)&dr7;
return SetThreadContext(hThread, &context);
};
return false;
};
bit level : وخڀـshifting ڀعٕهُٿ خألڄُ زًال ڄه بقبدِ ټٿ ٍ٘ء زدڀـstructure ٸمىد ز٭مٿDr7 ڄٕفٿ٫ڀع٭دڄٿ ؤٔهٿ ڄ
struct {
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 245
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
.ڄىـىي زدؼبُٴٹدض
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 246
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
و ٫٠وٹ٥ص ظىٸٳ ڀځـ ٬ executionىً خڀ٭ىىخن 0x00403FF4وزٍڀٻ و١مه وـىي خڀَُٕدپ خڀٝمُك يف خڀ٭ىىخن
خڀٌٍ ًَٙن بڀًُ خؼبٕفٿedx .
و ٫٠وٹ٥ص ظىٸٳ ؤوُي ٬ىً ٬ىىخن خڀٹٵّش خڀيت ظايٌ بذل ب٨هدَ َٔدڀص ً٬ڂ خڀعٕفُٿ 0x00403FFAيف ؤوپ HWBP
وٹىڂ جبځر ڄٕفٿ ٬ edxه َُ٤ٷ GetThreadContextمث وٹىڂ زٹُخءش خڀ٭ىىخن خڀٌٍ ًَٙن بڀًُ خؼبٕفٿ ڄه خڀـ
٬processه َُ٤ٷ خڀًخڀص ReadProcessMemoryووٹىڂ زة٨هدَ خڀَُٕدپ خڀٝمُك.
يف ؼدين HWBPوٹىڂ جبځر ڄٕفٿ خأل٬الڂ EFLAGSووٹىڂ زى ٫٠خڀ٭ځڃ ZFوٌڀٻ ټٍ ظعڃ خڀٹٵّش خؼبُٙو٤ص ووعىً٥
خڀُٔدڀص خؼبّ٬فص.
ڄٕفٿ EFLAGSؤَ١دً يبٽه خڀع٭دڄٿ ڄ٭ً ٬ه َُ٤ٷ خڀـ bit levelڀٽه ٸمىد ز٭مٿ structureڀعٕهُٿ خألڄُ:
{ struct
ULONG CF ;:1
ULONG __unused0 ;:1
ULONG PF ;:1
ULONG __unused1 ;:1
ULONG AF ;:1
ULONG __unused2 ;:1
ULONG ZF ;:1
ULONG SF ;:1
ULONG TF ;:1
ULONG IF ;:1
ULONG DF ;:1
ULONG OF ;:1
ULONG IOPL ;:2
ULONG __unused3 ;:1
ULONG RF ;:1
ULONG VM ;:1
ULONG AC ;:1
ULONG VIF ;:1
ULONG VIP ;:1
ULONG ID ;:1
ULONG __unused4 ;:10
;}EFLAGS
ٔعفً ټىي خڀځىيَ ڄربڄؿ زدپ Cيف خؼبُٴٹدض (مزفكات الكتاب) وٌٍي ٜىَش ڀً:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 247
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹًڂ ٌىد ُ٘لدً ڄسٕ٥دً ؼبٵهىڂ خؽبفىڂ خڀ٭ٙىخجٍ Brute Forceڄه والپ ڄؽدپ ٬مځٍ ,ؤىٹىڂ زعمځُٿ خڀٽىي وټعدزص ټُفه
ڀځعمَُه.
ټىد ٸً ٌټُود ٔدزٹدً :ؤن ڄ٥ٝځك ( خؽبدٖ ) ٌ :ى ظٙٵًن زدذبدي وخلً ًٰن ٸدزٿ ڀځ٭ٽٓ ،وټمؽدپ ٬ىً يبٽه ٌټُMD5, SHA, :
…Haval, Tiger,
٬ځً ٔسُٿ خؼبؽدپ :ڀى ؤوٍود خڀٽځمص ( )AT4REوؤَيود ظٙٵًنٌد زىخٔ٥ص MD5ڀىعفط ڀىد خڀٕځٕځص خؼبٙٵُش خڀعدڀُص :
AFA75974BD93160D55DFC4214655E55A
ٴمدٌخ ڀى ؤ٥٬دٺ ًَٜٹٻ خڀٕځٕځص خؼبٙٵُش خڀٕدزٹص ,وٶخپ ڀٻ :ڄد ٌٍ خڀٽځمص خڀيت وعفط ٬ىهد ٌٍي خڀٕځٕځص زىخٔ٥ص MD5؟ خإلـدزص
خألوذل ٔعٽىن :ال ؤُ٬ٲ !!
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 248
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
مث ٸدپ ڀٻ ؤربًخٺ ؤن ظ٭ُٲ ڄد ٌٍ خڀٽځمص خڀيت وعفط ٬ىهد ٌٍي خڀٕځٕځص خؼبٙٵُش ,وله ٸځسً ٬ځُٻ ٸځُالً وٸدپ ڀٻ ٌٍ :ڄاڀٵص ڄه 5
ودودض ,وٌٍي خػبدودض ٬سدَش ٬ه ؤَٸدڂ وؤلُٲ.
ٴٓؤڀعً َُٔ٭دً :ؤٌٍ ؤلُٲ ټسًنش ؤڂ ٜٱًنش ؟ ٴإـدزٻ ٠دلٽدً :خُ٬ٲ ٌڀٻ زىٵٕٻ!!
ز٭ًٌد ٌٌسط لدجُخً بذل خؼبىّپ وڄ٭ٻ ٌٍي خڀُٔدڀص خؼبٙٵُش خؼبٙاوڄص وخألٴٽدَ ظع١دَذ يف َؤٔٻ.
ـځٕط ؤڄدڂ خغبدٔر وزًؤض زعفَُر ز٭ ٟخڀٽځمدض خڀيت ظع٭ځٷ زًَٝٹٻ و٘ٵُهتد زـ MD5وڀٽه يون ـًوي.
ٴُلط ټؽًنخً ،وٸځط يف وٵٕٻ :بن خؼبٕإڀص ٬سدَش ٬ه خلعمدالض .
فمط جية أٌ أشفز مجيغ انكهًاخ ادلإنفح يٍ 5أززف ،ويشكهح يٍ األززف انظاتمح وكهًا أشفز كهًح ألارٌ َاذح انرشفري يغ
انزطانح ادلشفزج انيت أػطاين ئياها صذيمي زىت أزصم ػهى انكهًح انصسيسح.
ٸځط يف وٵٕٻ :خألڄُ ٔهٿ ،وخألڄُ خؼبٵُق ؤوٻ بٌخ ـُزط صبُ ٫خڀٽځمدض ٴمه خؼباٺي % 100ؤوٻ ٔعمٝٿ ٬ځً خڀٽځمص
خڀٝمُمص.
ٸځط :زٕڃ خهلل ؤإزًؤ خڀعفَُر ،وڀٽه هبر ؤن ؤ ٫٠ـب٥٥دً ڀځعفَُر لىت ال ؤو٥إ يف ټعدزص خڀٽځمدض ؤو ؤ ًُ٬ټعدزعهد ،و َظبط
خعبًوپ خڀعدرل :
Letter 1 Letter 2 Letter 3 Letter 4 Letter 5
a a a a a
b b b b b
.... .... .... .... ....
A A A A A
B B B B B
.... .... .... .... ....
1 1 1 1 1
2 2 2 2 2
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 249
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
٬ىًڄد ظىعهٍ ؤټىن ٬ىًڄد ظىعهٍ ؤًَِ ٬ىًڄد ظىعهٍ ؤًَِ ٬ىًڄد ظىعهٍ ؤًَِ ٬ىًڄد ظىعهٍ ؤًَِ
ٸً مشځط صبُ٫ خڀيت ٸسځهد وخلً خڀيت ٸسځهد وخلً خڀيت ٸسځهد وخلً خڀيت ٸسځهد وخلً
خڀٽځمدض
ؤ٨ىٻ ظٹىپٌ :ٽٍخ ٔإلعدؾ بذل ٔىص لىت ؤلٝٿ ٬ځُهد وؤَي ً٬ي خاللعمدالض (ً٬ي خأللُٲ 62وً٬ي لُوٲ خڀٽځمص .) 5
بٌن َ( 916,132,832 = 62^5 :ٸڃ ټسًن!! ربعدؾ بذل ٬مُ ٌو خڀٹُوٌن لىت ربٝٿ ٬ځً خڀٽځمص).
ال زً ڄه زُؾبص خڀ٭مځُص وظُٺ خغبدٔر هبُذ ٌڀٻ ٬ىٻ وَ٭ُ٥ٻ خڀىعُفص ـدٌّش ،ؤو ذبً زُودؾبدً ٬ځً خڀىط ـبٝٝدً ؽبٍي خڀ٭مځُدض.
بٌن ټځمص خؽبفىڂ خڀ٭ٙىخجٍ ـدءض ڄه ذبَُسىد ظٙٵًن ټٿ خاللعمدالض خؼبمٽىص لىت كبٝٿ ٬ځً َٔدڀص ڄٙٵُش ڄٕدوَص ڀځُٔدڀص خؼبٙٵُش
خڀيت زٌن ًََىد.
ٌ -ىدٺ زُؾبُدض ـدٌّش ؼبؽٿ ٌٍي خڀ٭مځُدض وٍټُ ڄىهد Cain , RainbowCrack :
٤ -س٭دً ٌٍي خڀربؾبُدض ٤ىَض ُ٤خجٷ ڀعَُٕ ٫خڀسمػ ,زد٬عمديٌد ٬ځً زُدودض ڀځسمػ ڄ٭ًش ڄٕسٹدً وٍټُ ڄىهد :
-ټمد ؤوً ټځمد ِخي ٤ىپ خڀٽځمص خؼبٙٵُش ِخي خڀّڄه خؼب٥ځىذ إلهبدي خڀٽځمص وعُفص َِديش ً٬ي خاللعمدالض.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 250
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خ٠ٱ٬ ٣ځً خڀٝىَش ڀځمٝىپ ٬ځً خؽبًٲ خڀٌٍ ٤سٷ ٬ځًُ خڀًَْ.
-ڀه وًوٿ يف خڀٵم ٛوبهبدي خڀعٙٵًن وبهبدي ٬ىىخن زًخَص خإلـُخء ٴٹً ٌټُود ٌڀٻ ڄُخَخً.
ڄٹدَودض ٴُمد بٌخ ټدن ٤ىپ خالٔڃ ؤو خڀَُٕدپ ؤٸٿ ڄه ؤَز٭ص ؤلُٲ :
يف ٌٍخ خالٔعً٬دء َعڃ ؤوٍ خحملُٲ خألوپ وخڀؽدڀػ ڄه خالٔڃ ومث ذبم ٫وظ١دٲ ؽبد خڀٹُمص وخلً :
بٌخ يوځىد بذل ٌٍخ خالٔعً٬دء ( ) F7واللٌ ٧ڀٻ ,ڄ ٫خالوعسدي بذل ؤن خؼبىٹك َإوٍ زعُظُر ٬ٽٍٕ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 251
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
Roben > Robe > Rb > R=52 hex , b = 62 hex , + 1 > B5
يف ٌٍخ خالٔعً٬دء َعڃ ؤوٍ خؼبكَٲ خڀؽدين وخڀُخز ٫ڄه خالٔڃ ومث ذبم ٫وظ١دٲ ؽبد خڀٹُمص وخلً :
بٌخ يوځىد بذل ٌٍخ خالٔعً٬دء ( ) F7واللٌ ٧ڀٻ ,ڄ ٫خالوعسدي بذل ؤن خؼبىٹك َإوٍ زعُظُر ٬ٽٍٕ :
Roben > Robe > oe > o=6F hex , e = 65 hex , + 1 > D5
يف ٌٍخ خالٔعً٬دء َعڃ ظٙٵًن خڀىدظؿ خألوپ زىٔد٤ص MD5وربىَٿ خڀىدظؿ بذل ؤلُٲ ټسًنش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 252
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يف ٌٍخ خالٔعً٬دء َعڃ ب٠دٴص ؤوپ ؤَز٭ص ؤلُٲ ڄه خڀَُٕدپ ڄ ٫خڀىدظؿ خڀؽدين :
و ؤوًنخً قبً لځٹص ؼبٹدَوص ټٿ ؿبُٲ ڄ ٫ڄد َٹدزځً يف ودظؿ خڀعٙٵًنَه ،ٴةٌخ ټدوط ً٬ي خأللُٲ خؼبعٙدهبص ؤټرب ڄه 4
٨هُض ڀىد َٔدڀص خڀىفدق :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 253
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
)2ؤوٍ خحملُٴٌن خألوپ وخڀؽدڀػ وصب٭همد وب٠دٴص وخلً ؽبمد ،وَٽىن خڀىدظؿ زدؽبٽٓ.
)4ؤوٍ خحملُٴٌن خڀؽدين وخڀُخز ٫وصب٭همد وب٠دٴص وخلً ؽبمد ،وَٽىن خڀىدظؿ زدؽبٽٓ .
)5ب٠دٴص خڀهخظؿ خڀٕدزٷ بذل ؤوپ ؤَز ٫ؤلُٲ ڄه خڀَُٕدپ ( بٌخ خڀَُٕدپ ڄاڀٳ ڄه 4ؤلُٲ ).
-هبر ؤن ظعٙدزً طبٓ ودودض ٴمد ٴىٶ ڄه خڀعٙٵًن خألوپ ڄ ٫خڀعٙٵًن خڀؽدين.
٬ -ځُىد ذبَُر خڀٽځمدض خؼباڀٵص ڄه 4ؤلُٲ مث وُ١ٳ ڀًخ خڀىدظؿ خڀؽدين ووٙٵٌُد ووٹدَن ٴُمد بٌخ ټدن ٌىدٺ طبٓ ودودض ڄعٙدهبص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 254
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ربعدؾ وٸعدً ټسًنخً وٕسُدً ( وٌڀٻ َع٭ځٷ ز٥ىپ خڀَُٕدپ و٤ىپ ٔځٕځص خحملدَٲ ).
ظعس ٫ظُظُر ڄىع٩ڃ ,وزدڀعدرل ظسٹٍ خأللُٲ خڀس٭ًُش ( ڄؽدپ خڀٽځمص خؼبسعًجص حبُٲ ) Zڀىٸط ٤ىَٿ.
-خڀَُ٥ٹص خڀ٭ٙىخجُص :وٌٍ ظ٭عمً ٬ځً خوعُدَ ظُظُر ٙ٬ىخجٍ ڀٽٿ لُٲ ڄه خڀَُٕدپ ,ٴال ظعٹًُ زدڀعُظُر خؼبعس ،٫وڀٽه ؤلُٲ خڀٽځمص
ظ٩ٿ ؿبٝىَش ٠مه ٔځٕځص خحملدَٲ خؼبىعدَش ،وڀٽه ٸً ظعمع ٫زُٕ٬ص ٬دڀُص يف خڀسمػ ،وٌڀٻ ظس٭دً ڀځمدڀص خؼبًَؤص ،وڄه ڄٕدوجهد :
٤ -س٭دً هبر ؤن ال وىًٕ خڀربخڄؿ خؼبٍټىَش يف خؼبٹًڄص ,ٴهٍ ـبٝٝص وخلعُخٴُص ڀٽُٕ خؽبد٘دض ،وڀٽىهد ڀألٔٳ ال ظىٵ ٫يف سبَُىىد ٌٍخ
ٴهٍ ظىـً ٸُمص ڄ٥دزٹص ڀځهدٖ وال يبٽىهد خڀسمػ يف خػبدودض خڀٵُُ٬ص.
.5ارتامت١
خِن خؼب٭ځىڄدض ټځهد زٌن ًََٻ ويبٽه ؤن ظربؾبهد زإٌ َُ٤ٹص ؤلسسط وزدڀځٱص خڀربؾبُص خڀيت ظعٹىهد.
-ؤَٴٷود ڄ ٫خڀًَْ خڀٕىَْ ټىي ڀٽُفه خڀعمَُه ,وٌى ڄٽعىذ زځٱص يڀٵٍ , 7وخ٬عمًود ٴًُ ٬ځً خڀَُ٥ٹص خڀ٭ٙىخجُص ڀُٕ٬عهد .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 255
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
َ .1كسَ١
ٴٻ خڀ١ٱ ٣خڀًُوٌ َ٭عرب ٴُ ٪ڄه ؤٌڃ ٴُو ٪خؽبىًٔص خڀ٭ٽُٕص وؤټؽٌُد ؤؼدَش ،وَع٥ځر وربش ڄه خڀٽُخټُ وڄ٭ُٴص ـًُش زدڀى٩دڂ ووسدَدي.
ٴٵٍ ز٭ ٟخأللُدن وبعدؾ خڀٽُخټُ بذل يَخٔص ڄٵٝځص ڄه خڀًخوٿ ڀى٩دڂ خڀعٙٱُٿ ڀٽٍ َٕع ٫ُ٥لٿ ڄٙٽځص ڄ ٫ڄ١ديخض خؽبىًٔص خڀ٭ٽُٕص
Anti reversing tricksٸدڂ زى٠٭هد زُودڄؿ خڀ١ٱ ٣ؤو خڀعٙٵًن يف وـً خڀٽُخټُ ڀُٝ٭ر ٬مٿي وَٝ٭ر ٬مځُص ٴٻ خڀ١ٱ.٣
ووالپ ٌٍخ خعبّء ڄه خڀٽعدذ ٔىٲ و٭ُ ٞؤٌڃ ُ٤ٶ خڀـ Anti Unpackingؤو خڀـ Anti reversingټمد ٔى٭ُ ٞڀٽڃ
خڀُ٥ٶ خؼب١ديش وُ٤ٶ خڀعٱځر ٬ځُهد ٔىخءً ًَوَدَ ؤو زدٔعىًخڂ زُخڄؿ خؽبىًٔص خڀ٭ٽُٕص خؼبىعځٵص.
ٌىدٺ ڄ٥ٝځمدض َٝ٭ر ظُصبعهد بذل خڀځٱص خڀ٭ُزُص ڀٍڀٻ مت ټعدزعهد ټمد ٌٍ
زدإلقبځَُّص.
)2ؤدجٿ ټٙٳ وٹد ٢خڀعىٸٳ وخڀع٭ًَٿ ٬ځً خڀربودڄؿ . BREAKPOINT AND PATCHING DETECTION
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 256
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.2.1.1ايؿطح
ڄ٭٩ڃ زُخڄؿ خغبمدَص ظٕعىًڂ ٌٍي خڀَُ٥ٹص ڀٽٙٳ خؼبىٹك ،وظعڃ ٬ه َُ٤ٷ ٴك ٚخڀـ BeingDebugged flagيف زىُص ڄ٭ُوٴص
زدٔڃ ) Process Environment Block (PEBوَىـً يخڀص يخوٿ ڄٽعسص خڀـ Kernel32ظٹىڂ ز٭مٿ ٌٍي خؼبهمص وٌٍ يخڀص
IsDebuggerPresentلُػ ظٹىڂ خڀًخڀص زٵم ٛخڀ٭ى BeingDebugged ُٝؼب٭ُٴص ڄد بٌخ ټدوط خڀـ َ Processعڃ ظىٹُمهد
زىخٔ٥ص user-mode debuggerؤڂ ال؟
َ .2.1.2جاٍ
وخڀٽىي خڀعدرل َى٠ك ٬مځُص خٔعىًخڂ يخڀص IsDebuggerPresentؤو خڀٽٙٳ ٬ه خڀ٭ىPEB.BeingDebugged flag ُٝ
ڄسدُ٘ش وٌڀٻ ڀٽٙٳ خؼبىٹك :
)(;call kernel32!IsDebuggerPresent
call ][IsDebuggerPresent
test eax,eax
jnz .debugger_found
ومبخ ؤن ٌٍي خألټىخي ظ٭عرب ڄٽٙىٴص يف خڀربودڄؿ ،ڀٍڀٻ َٹىڂ زُودڄؿ خغبمدَص زعٙٵًن ٌٍي خعبّجُص وظٙىًَ خڀٽىي لىت ال يبٽه خڀع٭ُٲ
ُ٬ٲ ُ٤ٶ ظٙٵًن خڀٽىي اللٹد.
٬ځٍٔ .هض
ي
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 257
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤَ١د يبٽه خڀعٱځر ٬ځً ٌٍي خڀَُ٥ٹص زىخٔ٥ص OllyDbg Advancedوٌٍ ب٠دٴص ڄ٭ُوٴص ڀربودڄؿ OllyDbgلُػ ربعىٌ ٬ځً
وُدَ َٹىڂ زى 0 ٫٠يف ٸُمص خڀـ BeingDebugged field
زدإل٠دٴص بذل وـىي Pluginڄىٵٝځص ظٹىڂ هبٍي خؼبهمص وٌٍ IsDebuggerPresent Plugin
)FLG_HEAP_ENABLE_TAIL_CHECK (0x10
)FLG_HEAP_ENABLE_FREE_CHECK (0x20
)FLG_HEAP_VALIDATE_PARAMETERS (0x40
ؤڄد زدڀىٕسص ڀـ Heap Flagsٴةوً زٕسر خڀُخَدض خڀيت مت ظٱًنٌد يف خڀـ NtGlobalFlagٴةن ٌٍخ َاؼُ ٬ځً خڀ٭ًًَ ڄه خأل٬الڂ يف
خڀـ Heap Flagsوزٝٵص ٬دڄص خأل٬الڂ خڀيت ظعٱًن يف خڀـ heapڀځربؤُٓ PEB.ProcessHeapظإوٍ خڀٹُمص 2زدؽبٽٓ
وخڀٹُمص ٬ 0ځً خڀعىخرل .ؤڄد يف لدڀص وـىي يَسٱُ ٴةن خڀٹُڃ ظٽىن 50000062زدؽبٽٓ ،مث 40000060وزٝٵص ٬دڄص َعڃ ظ٭ًَٿ
ٌٍي خأل٬الڂ ٬ىً بوٙدء خڀـ Heapيف لدڀص وـىي يَسٱُ:
(HEAP_TAIL_CHECKING_ENABLED (0x20
(HEAP_FREE_CHECKING_ENABLED (0x40
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 258
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ٍَجا . 2.2.2
ٵُ ؤڂ ال ؟ٜ :ٌ ڀ٭ُٲ ٌٿ ظٕدوPEB.NtGlobalFlag ٸُمص خڀـَُٛٹص وٌى َٵم٥ك ټُٳ يبٽه خٔعىًخڂ ٌٍي خڀ٠خدلؼدپ خڀعدرل َى
؟PEB.ProcessHeap الڂ يف خڀـ٬وٌٿ مت ظ٭ًَٿ ؤٌ ؤ
;ebx = PEB
mov ebx,[fs:0x30]
;Check if PEB.NtGlobalFlag != 0
cmp dword [ebx+0x68],0
jne .debugger_found
;eax = PEB.ProcessHeap
mov eax,[ebx+0x18]
;Check PEB.ProcessHeap.Flags
cmp dword [eax+0x0c],2
jne .debugger_found
;Check PEB.ProcessHeap.ForceFlags
cmp dword [eax+0x10],0
jne .debugger_found
//patch PEB.NtGlobalFlag
lea patch_addr,[peb+68]
mov [patch_addr],0
//patch PEB.ProcessHeap.Flags/ForceFlags
mov process_heap,[peb+18]
lea patch_addr,[process_heap+0c]
mov [patch_addr],2
lea patch_addr,[process_heap+10]
mov [patch_addr],0
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 259
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤَ١دً ب٠دٴص خڀـ Poisonهبد وُدَخض ڀځعٱځر ٬ٿي ٌٍي خڀَُ٥ٹص :
لُػ ؤوپ زدَخڄُعُ ٌى ڄٹس ٟخڀربؤُٓ وؼدين زدَخڄُعُ ڄه وى Boolean ٪وَعڃ ٴًُ و ٫٠خڀٹُمص Trueبٌخ ټدن خڀربؤُٓ َعڃ
ظىٹُمهد.
( BOOL CheckRemoteDebuggerPresent
HANDLE hProcess,
PBOOL pbDebuggerPresent
;)
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 260
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
HANDLE ProcessHandle,
PROCESSINFOCLASS ProcessInformationClass,
PVOID ProcessInformation,
ULONG ProcessInformationLength,
PULONG ReturnLength
);
ٍ ّخا.2.2.5
: ه وـىي خؼبىٹك٬ ٳٙك خٔعىًخڂ خڀًخڀعٌن خڀٕدزٹعٌن ڀځٽ٠خؼبؽدپ خڀعدرل َى
.data
krnl db "kernel32.dll",0h
chkrdbg db "CheckRemoteDebuggerPresent",0h
.data?
IsItPresent dd ?
.code
PUSH offset krnl ;kernel32.dll
CALL LoadLibrary
;CheckRemoteDebuggerPresent
PUSH offset chkrdbg
PUSH EAX
CALL GetProcAddress
; using ntdll!NtQueryInformationProcess(ProcessDebugPort)
lea eax,[.dwReturnLen]
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 261
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
bp_handler_NtQueryInformationProcess:
//ProcessInformationClass == ProcessDebugPort?
cmp [esp+8], 7
jne bp_handler_NtQueryInformationProcess_continue
//patch ProcessInformation to 0
mov patch_addr, [esp+c]
mov [patch_addr], 0
//clear breakpoint
bphwc bp_NtQueryInformationProcess
bp_handler_NtQueryInformationProcess_continue:
run
: َُٹص٥ ٌٍي خڀ٫ځً وُدَ ڀځع٭دڄٿ ڄ٬ ٌ ربعىOllyAdvanced دٴص خڀـ٠ه خغبځىپ خألوظىڄدظُٻَص ٴةن ب٬ ؤڄد
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 262
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ٍَجا .2.3.2
exception ڀځعإټً ڄه ؤن خڀـexception handler يخوٿ خڀـEAX زدؽبٽٓ يف خؼبٕفٿFFFFFFFF خڀٹُمص٫١َ ٌٍخ خؼبؽدپ
.دئي٬ً ٸً مت خٔعhandler
;set exception handler
push .exception_handler
push dword [fs:0]
mov [fs:0], esp
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 263
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤَ١دً َىـً لٿ آوُ ڄه يخوٿ بً٬خيخض OllyDbgوٌڀٻ زدوعُدَ Debugging Optionsمث خوعُدَ Exceptionsوخوعُدَ
خػبُدَخض خؼبىـىيش يف خڀٝىَش :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 264
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
وڄه خؼبمٽه خٔعىًخڂ خڀًخڀص GetTickCountخڀعدز٭ص ؼبٽعسص خڀـ kernel32إلقبدِ ٌٍي خؼبهمص.
ؤَ١دً ب٠دٴص خڀـ OllyAdvancedخڀيت ربعىٌ ٬ځً لٿ ؽبٍي خؼبٙٽځص ،وٌڀٻ ٬ه َُ٤ٷ خٔعىًخڂ يَخَٵُkernel mode driver
وڀٽه يف ز٭ ٟخأللُدن َايٌ ٌٍخ خڀًَخَٵُ بذل لًوغ ڄٙدټٿ؛ ڄؽٿ خڀـ BSODوٌٍ ٘د٘ص خؼبىض خڀَّٸدء.
ؤَ١د ب٠دٴص خڀـ Poisonهبد ٌٍ ،خألوُي وُدَ ڀځع٭دڄٿ ڄٌٍ ٫ي خڀَُ٥ٹص :
SeDebugPrivilege .2.5
.2.5.1ايؿطح
زٝٵص ٬دڄص ٴةن ؤٌ Processظ٭مٿ زٙٻپ ٤سُ٭ٍ يف خڀى٩دڂ َٽىن ڀًَهد ڄُّش خڀـ ًٰ SeDebugPrivilegeن ڄٵ٭ځص .ؤڄد ٬ىً
ظٙٱُٿ خڀـ Processڄه والپ ؤٌ User Mode Debuggerڄؽٿ خڀـ OllyDbgؤو خڀـ WinDbgٴةن ڄُّش خڀـ
SeDebugPrivilegeظٽىن ڄٵ٭ځص .وڀٍڀٻ ظٕعٱٿ زُخڄؿ خغبمدَص ٌٍي خڀَُ٥ٹص ،وٌڀٻ زدڀٽٙٳ ٬ه خڀـ SeDebugPrivilege
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 265
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ٌٿ ٌٍ ڄٵ٭ځص ؤڂ ال؟ وٌڀٻ ٬ه َُ٤ٷ ؿبدوڀص ٴعك خڀـ Processخؼبٕمدش CSRSS.EXEٴةٌخ سبٽه ڄه ٴعك ٌٍي خڀـ CSRSS.EXE
ٴهٍخ َ٭ين ؤن خڀـ Processخؼبُخي ضبدَعهد ڀًَهد خڀـ SeDebugPrivilegeڄٵ٭ځص ،فبد َ٭ين ؤوً َعڃ ظىٹُمهد ڄه والپ يَسٱُ.
وخڀٕسر يف ٌڀٻ ؤن خڀـ Processخؼبٕمدش CSRSS.EXEظٕمك ڀځى٩دڂ زٵعمهد ٴٹ ٣بٌخ ټدوط processڀًَهد خڀـ
. SeDebugPrivilege
َ .2.5.2جاٍ
ٌٍخ ڄؽدپ َى٠ك خڀَُ٥ٹص خڀٕدزٹص ،وٌى َٹىڂ زدٔعىًخڂ خڀًخڀص CsrGetProcessIdڄه ڄٽعسص ntdllوٌڀٻ ڀځمٝىپ ٬ځً خڀـ
Process IDڀٿـ CSRSS.EXEوڀٽه ڄڃٺن ؤن َٹىڂ زُودڄؿ خغبمدَص زعمًًَ خڀـ IDيون خٔعىًخڂ ٌٍي خڀًخڀص ،زٿ َٹىڂ زدؼبهمص
زٙٽٿ ًَوٌ ،مث َٕعىًڂ خڀًخڀص OpenProcessٴةٌخ قبمط خڀًخڀص ٴهٍخ َ٭ين ؤن خڀـ SeDebugPrivilegeڄٵ٭ځص فبد َ٭ين ؤن
خڀـ َ Processعڃ ظىٹُمهد.
;query for the PID of CSRSS.EXE
call ][CsrGetProcessId
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 266
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤوالً َٹىڂ زُودڄؿ خغبمدَص جبځر خڀـ PIDڀځربؤُٓ خغبدڀُص ،وٌڀٻ ٬ه َُ٤ٷ خڀسىُص TEBڄه والپ خڀ٭ىُٝ
TEB.ClientIdؤو ڄسدُ٘ش ڄه والپ خڀًخڀص . GetCurrentProcessId
مث َٹىڂ ز٭ُ ٞصبُ ٫خڀـ Processesخڀيت ظ٭مٿ يف خڀى٩دڂ ٬ه َُ٤ٷ خڀًخڀعٌن Process32First/Nextمث َإوٍ خڀـ
PIDڀٿـ ٬ explorer.exeه َُ٤ٷ PROCESSENTRY32.szExeFileمث وٵٓ خڀٌٗء ڄ ٫خڀـ parent
processڀځربؤُٓ خڀيت ًََُ ضبدَعهد زىخٔ٥ص .PROCESSENTRY32.th32ParentProcessID
مث َٹدَنٌ :ٿ خڀـ PIDڀٿـ parent processال ظٕدوٌ خڀـ PIDڀٿـ explorer.exe؟ بٲٌخ ټدوط ال
ظٕدوَهد ٴهٍخ َ٭ين ؤن خڀربؤُٓ ظ٭مٿ ڄه والپ خڀًَسٱُ.
وٌڀٻ زعٝٵًن خڀـ EAXمث و٬ RETN ٫٠ىً ڄٽدن ٌٍي خڀًخڀص.
ؤَ١د ب٠دٴص خڀـ Poisonربعىٌ ٬ځً وُدَ ڀځع٭دڄٿ ڄٌٍ ٫ي خڀَُ٥ٹص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 267
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
دءٙىًڄد َعڃ ظىٹُك ؤٌ زُودڄؿ َعڃ بو٬ ً ألوDebugObject ٪ ڄه خڀىىkernel objects ًي خڀـ٬ َُٛٷ ٴم٤ ه٬ وَعڃ ٌڀٻ
. DebugObject ظٕڃيkernel يف خڀٽُوٿobject
ٍ زدَخڄُعُ ڀٽ5 وٌٍي خڀًخڀص ظٕعٹسٿntdll ڄه ڄٽعسصNtQueryObject َُٷ خڀًخڀص٤ ه٬ DebugObject ًي خڀـ٬ وَعڃ ڄ٭ُٴص
زـObjectInformationClass وخپـNULL زـObjectHandle خڀـ٫٠ َعڃ وobjects types وٹىڂ دب٭ُٴص ټٿ خڀـ
. ObjectAllTypeInformation
ُ خڀـٝى٬ ًځ٬ ٌ وٌٍي خڀسىُص ربعىOBJECT_ALL_INFORMATION خڀسىُص خؼب٭ُوٴص زدٔڃ٪وٌٍي خڀًخڀص ظٹىڂ زةَـد
NumberOfObjectsTypes
typedef struct _OBJECT_ALL_INFORMATION {
ULONG NumberOfObjectsTypes;
OBJECT_TYPE_INFORMATION ObjectTypeInformation[1];
}
” وز٭ً ٌڀٻDebugObject“ ىص وٌى٬ خڀٌٍ وسمػUNICODE string خڀـ٫ ڄTypeName ُٝز٭ً ٌڀٻ َعڃ ڄٹدَوص خڀ٭ى
.ُٵٝ ٸُمص ال ظٕدوٌ خڀ٫ ڄTotalNumberOfHandles ؤوTotalNumberOfObjects َُٝعڃ ڄٹدَوص خڀ٭ى
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 268
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
وؤَ١دً ب٠دٴص خڀـ OllyAdvancedربعىٌ ٬ځً وُدَ ڀځع٭دڄٿ ڄ ٫يخڀص خڀـ : NtQueryObject
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 269
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ٍَجا .2.8.2
دڂ ؤڂ ال؟٩ َ٭مٿ يف خڀىWinDbg ؤو خڀـOllyDbg ؼب٭ُٴص ڄد بٌخ ټدن خڀـFindWindow ك خٔعىًخڂ خڀًخڀص٠ َى٣ٌٍُٕخ ڄؽدپ ز
.data?
.szWindowClassOllyDbg db "OLLYDBG",0
.szWindowClassWinDbg db "WinDbgFrameClass",0
.code
push NULL
push .szWindowClassOllyDbg
call [FindWindowA]
test eax,eax
jnz .debugger_found
push NULL
push .szWindowClassWinDbg
call [FindWindowA]
test eax,eax
jnz .debugger_found
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 270
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
يف ز٭ ٟزُخڄؿ خغبمدَص َعڃ خٔعىًخڂ َُ٤ٹص ؤٜ٭ر ٸځُالً ،وٌٍ ٬ه َُ٤ٷ خٔعىًخڂ خڀًخڀص ReadProcessMemoryمث خڀسمػ ٬ه
ٔعَُىٯ ڄ٭ٌن َٽىن ڄ٭ُوٲ يخوٿ خڀًَسٱُ؛ ڄؽٿ ” OLLYDBG“ .e.gألين ڀى ٸدڂ خڀًَسٱُ زعٱًُن خٔڃ ڄځٳ خڀـ exeخػبد ٚزدڀًَسٱُ
ٴٕعٵٙٿ خڀَُ٥ٹص خألوذل ڀٍڀٻ َعڃ خٔعىًخڂ خڀَُ٥ٹص خڀؽدنَص
Device Drivers.2.10
ايؿطح .2.10.1
ٌٍي خڀَُ٥ٹص ٌٍ َُ٤ٹص ظٹځًَُص ؼب٭ُٴص ڄد بٌخ ټدن ٌىدٺ َ Kernel Mode Debugger٭مٿ يف خپو٩دڂ ؤڂ ال؟ وؤڄؽځص خڀـ Kernel
Mode Debuggerزُودڄؿ خڀـ SoftICEوٌٍي خڀَُ٥ٹص ٰدَص يف خڀسٕد٤ص؛ لُػ ظ٭عمً خڀٵٽُش ٬ځً ؿبدوڀص بَـد ٪ڄٹس ٟؼبځٳ
خڀًَخَٵُ خػبد ٚزدڀًَسٱُ وٌڀٻ زدٔعىًخڂ خڀًخڀص CreateFile
َجاٍ .2.10.2
push NULL
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 271
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
push 0
push OPEN_EXISTING
push NULL
push FILE_SHARE_READ
push GENERIC_READ
push .szDeviceNameNtice
call ][CreateFileA
cmp eax,INVALID_HANDLE_VALUE
jne .debugger_found
ؤَ١دً ز٭ ٟزُخڄؿ خغبمدَص خغبًَؽص ظٕعىًڂ َُ٤ٹص خپـ Device driver detectionڀٽٙٳ زُخڄؿ ڄُخٸسص خڀى٩دڂ ؤڄؽدپ خڀـ
. Regmon and Filemon
ألن ٌٍخ خڀىى ٪ڄه خڀـ َٕ breakpointعىًڂ خڀـ guard pagesوزسٕد٤ص خڀـ guard pagesسبٽه زُودڄؿ ڄ٭ٌن ڄه ڄ٭ُٴص
ڄىت َعڃ ٬مٿ accessڀځٍخټُش .وَعڃ و ٫٠خڀـ Guard pagesزىخٔ٥ص خڀـ PAGE_GUARD page protection
خڀـ َٴ٫ ٴُٕعڃ guard page ڄه ـّءخً بڀًُ خڀًوىپ خؼبُخي خڀ٭ىىخن ټدن ٴةٌخ modifier
). STATUS_GUARD_PAGE_VIOLATION (0x80000001
ؤن ٬ىًڄد ٌټىن ٌىدٺ Processظ٭مٿ ڄه والپ خڀـ OllyDbgمث بٌخ مت ؿبدوڀً خڀًوىپ بذل guard page
وظٕعٱٿ زُخڄؿ خغبمدَص ي
يف خڀٍخټُش ٴځه َعڃ سبَُُ ؤٌ exceptionؤَ١دٌٍ ،خ خڀًوىپ ُٔ access٭دڄٿ ٬ځً ؤوً . memory breakpoint
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 272
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ٍ َجا.2.11.2
ُص خڀـٜ مث ظٵ٭ُٿ ود، مث َٹىڂ زٽعدزص ټىي بذل ٌٍخ خعبّء يف خڀٍخټُش،يف ٌٍخ خؼبؽدپ َٹىڂ خڀٽىي زعمًًَ ـّء ڄه خڀٍخټُش
.ٱُٿ ٌٍخ خڀٽىي خؼبىـىي يف ٌٍخ خعبّء ڄه خڀٍخټُشٙ مث َٹىڂ زعPAGE_GUARD
; set up exception handler
push .exception_handler
push dword [fs:0]
mov [fs:0], esp
; allocate memory
push PAGE_READWRITE
push MEM_COMMIT
push 0x1000
push NULL
call [VirtualAlloc]
test eax,eax
jz .failed
mov [.pAllocatedMem],eax
.exception_handler
;EAX = CONTEXT record
mov eax,[esp+0xc]
;set marker (CONTEXT.EAX) to 0xffffffff
; to signal that the exception handler was called
mov dword [eax+0xb0],0xffffffff
xor eax,eax
retn
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 273
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
Breakpoint & Patching Detection ٚ .3غا ٌ٥نؿـ ْكاط ايتٛقـ ٚايتعس ٌٜعً ٢ايدلاَر
Software Breakpoint Detection .3.1
.3.1.1ايؿطح
٬ځٍ .وَعڃ ظٱًُن ټىي خڀربودڄؿ هبٍي
وٹد ٢خڀعىٸٳ ڄه ٌٍخ خڀىى٬ ٌٍ ٪سدَش ٬ه ظٱًُن يف ټىي خڀربودڄؿ خؽبًٲ ٬ىً خڀ٭ىىخن خحملًي ڀځعىٸٳ ي
خڀع٭ځُمص INT3 / Breakpoint Interruptؤٌ خڀسدَط CCزدؽبٽٓ .وزدڀ٥س ٫ظٹىڂ زُخڄؿ خغبمدَص زدڀسمػ يخوٿ خعبّء خحملمٍ ڄه
خڀٽىي ؤو يخوٿ ټىي يوخپ خڀـ ٬ APIه ٌٍي خڀع٭ځُمص.
َ .3.1.2جاٍ
ٌٍخ ڄؽدپ زَُٕ ٣ى٠ك ٴم ٛخڀٽىي ڀځسمػ ٬ه وٹد ٢خڀعىٸٳ :
cld
mov edi,Protected_Code_Start
mov ecx,Protected_Code_End - Protected_Code_Start
mov al,0xcc
repne scasb
jz .breakpoint_found
ظٹىڂ ز٭ ٟزُخڄؿ خغبمدَص دبمدوڀص نيخ ٪خڀٽُخټُ ،وٌڀٻ زدٔعسًخپ ٔ ُ٥خؼبٹدَوص خڀٕدزٷ هبٍخ خڀٕ: ُ٥
if(byte XOR 0x55 == 0x99) then breakpoint found
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 274
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
enabling/disabling وڀٽه َعمٽڃ يف خڀـ،ځڃ٬ د١َ ٴهى ؤDr7 خڀعىٸٳ خألَز٭ص ظ٭مٿ خِن؟ ؤڄد خڀـ٢ځڃ َسٌن ؤٌ ڄه وٹد٬ ٴهى
؟read/write ىً خڀـ٬ ُٔعىٸٳ٢دً ؤٌ ڄه خڀىٹد١َ خڀعىٸٳ وؤ٢ڀىٹد
debug وٌڀٻ ألن ڄٕفالض خڀـ،ً ربعدؾ بذل ټىي ټسًن ـّجُدhardware breakpoints خڀعىٸٳ٢ٳ وٹدٙمٿَص ټ٬و
ڀٍڀٻ ظٹىڂ زُخڄؿ خغبمدَص زعمځُٿ زىُص خڀـUser Mode ؤٌ خڀـRing 3 ال يبٽه خڀًوىپ بڀُهد ڄه خڀـregisters
َعڃ ٸُخءهتد ڄهCONTEXT structure وخڀـdebug registers ځً ٸُڃ خڀـ٬ ٌ وٌٍ خڀيت ربعىCONTEXT structure
. exception handler خؼبمَُ بذل خڀـContextRecord خڀسدَخڄُعُ خؼبٕڃي
ٍَجا .3.2.2
: debug registers َُٹص ربځُٿ خڀـ٤ ك٠ٌٍخ ڄؽدپ َى
; set up exception handler
push .exception_handler
push dword [fs:0]
mov [fs:0], esp
; throw an exception
mov dword [eax],0
:::
.exception_handler
;EAX = CONTEXT record
mov eax,[esp+0xc]
.hardware_bp_found
;set Context.EAX to signal breakpoint found
mov dword [eax+0xb0],0xffffffff
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 275
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
.exception_ret
;set Context.EIP upon return
add dword [eax+0xb8],6
xor eax,eax
retn
ز٭ ٟزُخڄؿ خغبمدَص ظٕعىًڂ خڀـ debug registersټؿ ِء ڄه ڄٵدظُك ٴٻ خڀعٙٵًن decryption keysلُػ َٹىڂ زُودڄؿ
خغبمدَص دبُٸدزص ٌٍي خؼبٕفالض ڄ ٫خ٬عسدَ ؤهند ڄه خؼبٵعُ ٞؤن ربعىٌ ٬ځً خڀٹُڃ 0ٴةٌخ وـً ظٱًُن يف ٸُڃ ٌٍي خؼبٕفالض بٲن ٬مځُص ٴٻ
خڀعٙٵًن ٔىٲ ظٵٙٿ ،فبد َايٌ بذل بوعدؾ ظ٭ځُمدض ود٤حص يف ټىي خڀربودڄؿ ،فبد َايٌ بذل ً٬ڂ ٬مٿ خڀربودڄؿ.
ؤو يبٽه و٬ software breakpoint ٫٠ځً يوخپ خڀـ native APIsبٌخ ټدن خألڄُ َع٥ځر و ٫٠وٹد ٢ظىٸٳ ٬ځً API
ڄ٭ُىص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 276
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڀُٕط وُ٨ٵص ٌٍي خڀَُ٥ٹص ټٙٳ خڀع٭ًَٿ يف خڀٽىي ٴٹ ،٣زٿ يبٽه خٔعىًڄهد ڀٽٙٳ خڀـ software breakpointsألوىد ټمد
ظٽځمىد ڄه ٸسٿ بٲن وٹد ٢خڀعىٸٳ ڄد ٌٍ بال ظ٭ًَٿ يف ټىي خڀربودڄؿ.
َجاٍ .3.3.2
mov esi,Protected_Code_Start
mov ecx,Protected_Code_End - Protected_Code_Start
xor eax,eax
.checksum_loop
movzx ]ebx,byte [esi
add eax,ebx
rol eax,1
inc esi
loop .checksum_loop
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 277
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
وظٹىڂ زُخڄؿ خغبمدَص ٬ديش زعٙٵًن ټىي زُودڄؿ خغبمدَص وٵًٕ وټىي خڀربودڄؿ خؼبُخي ضبدَعً .ؤَ١دً َُ٤ٹص خڀعٙٵًن encryption
خوعالٲټسًنخً زدوعالٲ زُخڄؿ خغبمدَص؛ ٴس٭١هد َٽىن ٬سدَش ٬ه ټىي ٜٱًن غبځٹص XORوز٭١هد َٽىن خڀٽؽًن
خً algorithmزبعځٳ
ڄه خغبځٹدض خؼب٭ٹًش خڀيت ظٹىڂ زدڀٽؽًن ڄه خڀ٭مځُدض خغبٕدزُص .ؤَ١دً ڄه ٴىخجً ظٙٵًن خڀٽىي ظ١ځُٿ زُخڄؿ خڀٵم ٛڄؽٿ خڀـ PEiDوخڀـ
. FastScanner
َ .4.1.2جاٍ
ؤڄد ٬ه بـُخجُدض ٴٻ خڀعٙٵًن ٴعٽىن ٬سدَش ٬ه لځٹدض ظٹىڂ ز٭مځُدض خڀعٹد fetch ٢ولٕدذ وزبَّه ڀځع٭ځُمص ز٭ً ٴٻ ظٙٵًنٌد،
وخؼبؽدپ خڀعدرل َى٠ك بـُخجُص ٴٻ ظٙٵًن زُٕ٥ص ظٕعىًڂ خڀ٭ًًَ ڄه ٬مځُدض خڀـ : XOR
0040A07C ]LODS DWORD PTR DS:[ESI
0040A07D XOR EAX,EBX
0040A07F SUB EAX,12338CC3
0040A084 ROL EAX,10
0040A087 XOR EAX,799F82D0
0040A08C ]STOS DWORD PTR ES:[EDI
0040A08D INC EBX
0040A08E LOOPD SHORT 0040A07C ;decryption loop
خألٔ ُ٥خڀ٩دٌُش ٌٍ خڀع٭ځُمدض خؼبٕاوڀص ٬ه ٴٻ خڀعٙٵًن ،ؤڄد زدٸٍ خألٔ ُ٥ٴهٍ ڀع١ځُٿ خڀٽُخټُ ٴٹ.٣
ؤڄد ٬مځُص خڀ١ٱ ٣ٴهًٴهد خألٔدٍٔ ظٹځُٿ لفڃ خڀربودڄؿ ٬ه َُ٤ٷ ظٹځُٿ لفڃ خڀٽىي وخڀسُدودض Dataوڄه ؤڄؽځص وىخَِڄُدض خڀ١ٱ٣
خڀيت ظٕعىًڂ ڄه ٸسٿ زُخڄؿ خغبمدَص وىخَِڄُدض خڀـ ) NRV (Not Really Vanishedوخڀـ LZMAوٌٍ خوعٝدَ ڀـ
( )Lempel-Ziv-Markov chain-Algorithmوظٕعىًڂ يف زُودڄؿ خڀـ UPXووىخَِڄُص خڀـ aPLibوظٕعىًڂ يف زُودڄؿ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 278
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خڀـ FSGووىخَِڄُص خڀـ LZMAوظٕعىًڂ يف زُودڄؿ خڀـ Upackووىخَِڄُص خڀـ LZOوظٕعىًڂ يف زُودڄؿ yoda’s
. Protector
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 279
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد خڀ٭مځُص خڀؽدوُص وٌٍ خڀـ Code Permutationٴع٭ين خٔعسًخپ خڀع٭ځُمدض خڀسُٕ٥ص زإوُي ؤټؽُ ظ٭ٹًُخً .وٌٍخ خڀعٽعُٻ ڄٕعىًڂ
ڄه ٸسٿ زُخڄؿ خغبمدَص خغبًَؽص .وٌٍخ َع٥ځر ڄه زُودڄؿ خغبمدَص ٸُخءش خڀع٭ٿيبص خألٜځُص مث ظىڀًُ ً٬ي ڄه خڀع٭ځُمدض خؼب٭ٹًش خڀيت ظٹىڂ
زىٵٓ خڀىُ٨ٵص.
mov eax,ebx
test eax,eax
push ebx
pop eax
or eax,eax
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 280
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
دء٥ غبمدَص ټىي ڄ٭ٌن ُٔٽىن ڀً يوَ ټسًن يف بزCode Permutation وخپـgarbage code مٿ ظىڀُٵص ڄه خڀـ٬ ويف خڀىهدَص
garbage ڀٽه خٔعىًڄىد ٴُهد ظٹىُص خڀـ،ص٥ُٕٳ ڄىٹك زٙمځُص ټ٬ ځً ٌڀٻ ٘دًٌ خڀٽىي خڀعدرل ڄد ٌى بال٬ وټمؽدپ.ُمٿ خڀٽُخټ٬
: Code Permutation خڀـ٫ ڄcode
004018A3 MOV EBX,A104B3FA
004018A8 MOV ECX,A104B412
004018AD PUSH 004018C1
004018B2 RETN
004018B3 SHR EDX,5
004018B6 ADD ESI,EDX
004018B8 JMP SHORT 004018BA
004018BA XOR EDX,EDX
004018BC MOV EAX,DWORD PTR DS:[ESI]
004018BE STC
004018BF JB SHORT 004018DE
004018C1 SUB ECX,EBX
004018C3 MOV EDX,9A01AB1F
004018C8 MOV ESI,DWORD PTR FS:[ECX]
004018CB LEA ECX,DWORD PTR DS:[EDX+FFFF7FF7]
004018D1 MOV EDX,600
004018D6 TEST ECX,2B73
004018DC JMP SHORT 004018B3
004018DE MOV ESI,EAX
004018E0 MOV EAX,A35ABDE4
004018E5 MOV ECX,FAD1203A
004018EA MOV EBX,51AD5EF2
004018EF DIV EBX
004018F1 ADD BX,44A5
004018F6 ADD ESI,EAX
004018F8 MOVZX EDI,BYTE PTR DS:[ESI]
004018FB OR EDI,EDI
004018FD JNZ SHORT 00401906
ڄؽٿ خغبمدَص زُخڄؿ ڄه دئٌد٬ًخٔع َُٽؽ خڀيت API خڀـ يوخپ خٔعىًڂ ٫دج١خڀ خڀىٸط وڀعٹځُٿ
.ځُهد٬ ظىٸٳ٢ وٹد٫٠) ووVirtualAlloc/VirtualProtect/LoadLibrary/GetProcAddress)
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 281
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
Anti-Disassembly .4.3
.4.3.1ايؿطح
ٌٍ َُ٤ٹص ؤوُي ڀعٝ٭ُر ڄهمص خڀٽُخټُ ڄه والپ ـ٭ٿ زُخڄؿ خڀعىٹُك ظٵٙٿ يف ربځُٿ ټىي خڀربودڄؿ ،وزدڀعدرل َ٩هُ ټىي َُٰر ًٰن
ڄٵهىڂ .وٌٍ َُ٤ٹص ٴ٭دڀص ـًخً ودٜص بٌخ ڄد مت ب٠دٴص ز٭ ٟخڀـ garbage codeوخڀـ . permutation
وڄه ؤڄؽځص ظٹىُص خڀـ Anti-Disassemblyب٠دٴص زدَط garbageوز٭ً ٌڀٻ ب٠دٴص ٸٵّش ڄُٙو٤ص conditional branch
وخڀيت ٔىٲ ظىٹٿ ًٔن خڀربودڄؿ بذل خڀسدَط خڀـ garbageويف لدڀص خڀعٙٱُٿ خڀ٥سُ٭ٍ ڀځربودڄؿ ال ظعڃ ٌٍي خڀٹٵّش ،ڀٍڀٻ ال َعڃ وٹٿ
ًٔن خڀربودڄؿ بذل خڀـ garbageوڀٽه يف لدپ ؿبدوڀص ظٙٱُٿ خڀربودڄؿ يف ڄىٹك ٴةن ٌٍي خڀٹٵّش ظعڃ وَعڃ وٹٿ ًٔن خڀربودڄؿ بذل خڀـ
garbageفبد َايٌ بذل بوعدؾ ټىي ود٤ث . incorrect disassembly
َجاٍ .4.3.2
ٌٍخ ڄؽدپ زُٕ ٣ڀُوظٌن ټٙٳ خؼبىٹك ٬ه َُ٤ٷ ظٹىُص خڀـ PEB.BeingDebugged flag checkخڀٕدزٷ ٌټٌُد ،ومت ضبدَص ٌٍخ
خڀُوظٌن زىخٔ٥ص خڀـ . anti-disassembly
خڀٽىي خڀ٩دٌُ ٌى ټىي خڀُوظٌن خألٜځٍ ؤڄد زدٸٍ خڀٽىي ٴهى ټىي خڀـ anti-disassemblyوٌى َٕعىًڂ زدَط خڀـ garbage
byte 0xffمث ب٠دٴص خڀٹٵّش خؼبُٙو٤ص fake conditional jumpوٌڀٻ إلٴٙدپ ٬مځُص خڀعمځُٿ ڀځٽىي.
;Anti-disassembly sequence #1
push .jmp_real_01
stc
jnc .jmp_fake_01
retn
.jmp_fake_01:
db 0xff
.jmp_real_01:
;--------------------------
mov ]eax,dword [fs:0x18
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 282
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 283
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤعالل ٧ټُٳ ٴٙځط خڀربخڄؿ خڀؽالؼص يف ربځُٿ خڀٽىي ،وټٿ زُودڄؿ ؤ٨هُ ودظؿ ىبعځٳ ٬ه خِوُ.
ٌٍي خڀعٹىُص ڄّ٬فص ـًخ ڀځٽُخټُ .ؤَ١دً َىـً خڀ٭ًًَ ڄه خڀُ٥ٶ خڀيت ظٕعىًڄهد ظٹىُص خڀـ anti-disassemblyوڄد مت ٌټُي ٌىد ٌى
ٌُ٤ٸص وخلًش ٴٹ .٣ؤَ١دً يبٽه ب٠دٴص ظٹىُص خڀـ anti-disassemblyڀٕىَْ ټىي خڀربودڄؿ ټمدټُو macroوزدڀعدرل َٽىن
خڀٕىَْ ټىي وخ٠مدً ڀځمربڄؿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 284
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ؤَ١دً خڀٝىَش خڀعدڀُص ظسٌن زُودڄؿ ضبدَص (زُودڄؿ ڀعٙٵًن خڀًٕنٴُخض) ًَ٬ڃ ٌٍي خػبدُٜص :
وزدڀعدرل ظٕعىًڂ خڀًٕنٴُخض وخڀٵًنؤدض ٌٍي خڀَُ٥ٹص ڀځعىٵٍ ڄه خعبًَخن خڀىدََص؛ ألن خعبًخَ خڀىدٌَ َٽىن ڀًًَ ٸدجمص زدڀربخڄؿ
خؼبٕمىق ؽبد زدڀ٭مٿ وخالظٝدپ زدالوعُوط ،و٬ىً لٹه خڀًٕنٴُ يخوٿ زُؤُٓ ودٜص زربودڄؿ ڄه خڀربخڄؿ خؼبٕمىق ؽبد ٴځه َٕع٫ُ٥
خعبًخَ خڀىدٌَ ټٙٵص وبَٹدٲ ٬مځً.
ڄه خعبًَُ زدڀٍټُ ؤن ظ٭ځڃ ؤن ٌىدپٺ زُودڄؿ ضبدَص ُ٬يب َٕعىًڂ ٌٍي خڀعٹىُص وٌى زُودڄؿ
MPackڄه زُؾبص dj-sibaڄًَُ خڀٵَُٷ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 285
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
وٌىدٺ زُودڄؿ َٕهٿ ٬ځُىد ٬مځُص و ٫٠خغبځٹص خڀٱًن ڄىعهُص يف زًخَص خڀـ : PUPE 2002 ٍ٬ًَ child process
ظٹىڂ ٴٽُهتد ٬ځً ٬مٿ ٌٍ parent processي خڀربؤُٓ ظٹىڂ زعىٹُك زُؤُٓ ؤوُي child processخؼبُخي ضبدَعهد ڀٍڀٻ خڀـ
َ parent processٽىن ؽبد ٜاللُدض خڀـ : debugs/controls
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 286
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ودبد ؤن خڀـ child processخحملمُص َعڃ ظىٹُمهد ٴةن ؤٌ ؿبدوڀص ڀ٭مٿ Attachؽبٍي خڀربؤُٓ يف خڀًَسٱُ ٔىٲ ظٵٙٿ زٕسر ٴٙٿ
خڀًخڀص DebugActiveProcessخؼبىـىيش يف ڄٽعسص خڀـ kernel32ؤَ١دً زٕسر بَـد ٪خڀًخڀص خڀـ nativeخؼبٕمدش
NtDebugActiveProcessڀځٹُمص . STATUS_PORT_ALREADY_SET
وَعڃ ٌڀٻ زىخٔ٥ص ٬مٿ Attachڀځـ parent processمث و ٫٠وٹ٥ص ظىٸٳ ٬ځً خڀًخڀص WaitForDebugEventو٬ىً
خڀعىٸٳ وٹىڂ حبٹه خڀًخڀص ) DebugActiveProcessStop(ChildProcessPIDوز٭ً قبدق خڀ٭مځُص ٔىٲ وعمٽه ڄه ٬مٿ
Attachڀځربؤُٓ خحملمُص . child process
وَعڃ ټٙٳ خڀـ TLS callbacksزىخٔ٥ص زُخڄؿ خڀـ PE Editorلُػ ظٵم ٛزىُص خڀـ Data Directory entriesوخڀيت
ربعىٌ ٬ځً خڀ٭ى. TLS directory ُٝ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 287
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
TLS directory:
StartAddressOfRawData: 00000000
EndAddressOfRawData: 00000000
AddressOfIndex: 004610F8
AddressOfCallBacks: 004610FC
SizeOfZeroFill: 00000000
Characteristics: 00000000
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 288
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
وزٍڀٻ ٔىٲ َعىٶٲ ٬ OllyDbgځً خڀـ actual loaderؤٌ يخوٿ ڄٽعسص خڀـ ntdll.dllوزٍڀٻ ٔىعمٽه ڄه و ٫٠وٹ٥ص
ظىٸٳ ٬ځً خڀـ callback routinesوڄه مث خڀععس ٫وخڀعىٹُك.
An In-Depth Look into the Win32 Portable Executable File Format, Part 2 by Matt Pietrek
املجاٍ .5.4.2
َودڄؿ ڄد :
خؼبؽدپ خڀعدرل َى٠ك خڀٽىي خڀٽدڄٿ ڀسًخَص ذ
004011CB ]MOV EAX,DWORD PTR FS:[0
004011D1 PUSH EBP
004011D2 MOV EBP,ESP
004011D4 PUSH -1
004011D6 PUSH 0047401C
004011DB PUSH 0040109A
004011E0 PUSH EAX
004011E1 MOV DWORD PTR FS:[0],ESP
004011E8 SUB ESP,10
004011EB PUSH EBX
004011EC PUSH ESI
004011ED PUSH EDI
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 289
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
خؼبؽدپ خڀعدرل ٌى وٵٓ خڀٽىي ڀٽه ز٭ً ضبدَعً زـ Enigma Protectorؤُٸص ؤوپ ظ٭ځُمعٌن يف خڀربودڄؿ :
004011CB POP EBX
004011CC CMP EBX,EBX
004011CE DEC ESP
004011CF POP ES
004011D0 JECXZ SHORT 00401169
004011D2 MOV EBP,ESP
004011D4 PUSH -1
004011D6 PUSH 0047401C
004011DB PUSH 0040109A
004011E0 PUSH EAX
004011E1 MOV DWORD PTR FS:[0],ESP
004011E8 SUB ESP,10
004011EB PUSH EBX
004011EC PUSH ESI
004011ED PUSH EDI
وٌٍخ ؤَ١دً ڄؽدپ ڀربودڂؾ ؿبمٍ زىخٔ٥ص خڀـ ASProtectلُػ َٹىڂ زة٠دٴص JUMPبذل ڄٽدن ڄد ڀعىٵٍُ خڀـ stolen
instructionsو٤س٭دً َعڃ ضبدَص خڀـ stolen instructionsزى garbage code ٫٠والؽبد.
004011CB JMP 00B70361
004011D0 JNO SHORT 00401198
004011D3 INC EBX
004011D4 ADC AL,0B3
004011D6 JL SHORT 00401196
004011D8 INT1
004011D9 LAHF
004011DA PUSHFD
004011DB MOV EBX,1D0F0294
004011E0 PUSH ES
004011E1 MOV EBX,A732F973
004011E6 ADC BYTE PTR DS:[EDX-E],CH
004011E9 MOV ECX,EBP
004011EB DAS
004011EC DAA
004011ED AND DWORD PTR DS:[EBX+58BA76D7],ECX
وٌىدٺ ؤيخش ٬سدَش ٬ه Pluginڀربودڄؿ OllyDbgڄه زُؾبص ٔ Zool@nderهځط ٬مځُص خٔعُـد ٪خڀٽىي ټؽًنخً وٌٍ
: IDAFicator
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 290
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً خوعُدَ خڀٽىڄسُځُ ُٔعڃ ټعدزص خڀٽىي خػبد ٚزً ،ز٭ً ٌڀٻ ظٕع ٫ُ٥بيودڀً بذل خڀربودڄؿ ز١ٱ٥ص َِ وخلًش :
َعڃ يف ٌٍي خڀَُ٥ٹص ظًڄًن ـًوپ خڀًوخپ وخالٔعً٬دءخض ڀځًوخپ خألٜځُص ،لُػ َعڃ ٬مٿ ب٬ديش ظىـًُ بذل َوظٌن يف خڀٍخټُش ،وٌٍخ
خڀُوظٌن َٽىن ڄٕاوالً ٴُمد ز٭ً ٬ه خٔعً٬دء خڀًخڀص خألٜځُص.
ؤڄُ خڀىًخء ٌٍخ ڄد ٌى بال ؤڄُ ٸٵّ بذل ٬ىىخن خڀًخڀص يف خڀـ : Import Table
004056B8 ]>JMP DWORD PTR DS:[<&KERNEL32.CopyFileA
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 291
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
و٬ىً ؤوٍ ڄؽدپ غبمدَص ٔ Asprotectعفً ؤن ؤڄُ خڀىًخء يف خؼبؽدپ خڀٕدزٷ ربىپ بذل آڄُ وًخء بذل َوظٌن يف خڀٍخټُش allocated
memoryوٌٍخ خڀُوظٌن وبعىٌ ٬ځً ظ٭ځُمدض ڄُٕوٸص ڄه خڀـ : kernel32!CopyFileA
004056B8 CALL 00D90000
وخڀٝىَش خڀعدڀُص ظسٌن و٥ىخض ټعدزص خڀع٭ځُمدض خؼبُٕوٸص ،ٴةٌخ وُ٩ود ڀځمؽدپ خڀٕدزٷ ٔىفً ؤن ؤوپ 7ظ٭ځُمدض ڄه خڀًخڀص
kernel!CopyFileAٸً مت ؤوٌٍد زدإل٠دٴص بذل ؤڄُ خڀىًخء ٬ىً خڀ٭ىىخن 7C83005Eز٭ً ٌڀٻ َعڃ وٹٿ ًٔن خڀربودڄؿ بذل يخوٿ
ڄٽعسص خڀـ kernel32.dllزدڀعمًًَ يف ڄىعٝٳ خڀًخڀص ٬ CopyFileAه َُ٤ٷ : RETN to 0x7C830063
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 292
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڄؽدپ ٬ځً ٌڀٻ زُودڄؿ PECryptلُػ َٹىڂ زدٔعىًخڂ ؼًَُ ؼدوُص ڀځٹُدڂ ز٭مځُص ٴٻ خڀعٙٵًن ٬ه خڀٽىي خڀٌٍ مت خٔعىُخـً ڄه خڀؽًَُ
خڀُجُُٕص : fetched by the main thread
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 293
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
ڀٍڀٻ ٸدڄط ُ٘ټدض ضبدَص خڀربخڂؾ خڀٽربي زدزعٽدَ ٌٍي خڀَُ٥ٹص ،وخڀيت ظ٭عمً ٬ځً ظُصبص خألـّخء خحملمُص ڄه خڀٽىي بذل p-codes
وخڀٌٍ َعڃ ظُصبعً ز٭ً ٌڀٻ بذل ڀٱص خِڀص machine codeڀُعڃ ظىٵٍُي .وزٍڀٻ مت ڄ١د٬ٵص ضبدَص خڀٽىي وـ٭ٿ ٬مځُص ٴهڃ ڄد َٹىڂ زً
ټىي خڀربودڄؿ ؤڄُخً ٜ٭سدً ـًخً.
وظٕعىًڂ زُخڄؿ خغبمدَص خڀٽربي ؤڄؽدپ Oreans technologies’ CodeVirtualizerو StarForceو Execryptظٹىُص
خڀـ . Virtual Machines
virtual وؼبًَّ ڄه خؼب٭ځىڄدض لىپ ظ٥ىَُ خڀـ p-code disassembleوټُٵُص ٬مٿ خڀـ
َُ machinesؾي ٸُخءش ٌٍخ خؼبٹدپ :
Defeating HyperUnpackMe2 With an IDA
ڄه خعبًَُ زدڀٍټُ ؤن ټٿ خڀربخڄؿ خڀيت خٔعىًڄط ظٹىُص خڀـ virtual machineٸً مت ټٌُٕد وَىـً يف خالوعُوط ڄحدض خؼبٹدالض
وزُخڄؿ ٴٻ خڀ١ٱ ٣وخالٔٽَُر خڀيت سبٽىىد ڄه ټُٕ ؤٌ زُودڄؿ لڃخَص ٬ځً وـً خألَ.ٞ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 294
AT4RE انفريك انعرتي نههُذسح انعكسيح: دهىل تريجيح في انهُذسح انعكسيح انهُذسح انعكسيح :خطىج إنى األياو.
Anti-Dumping .5.8
.5.8.1ايؿطح
ټمد ربًؼىد ڄه ٸسٿ ٴةن زُخڄؿ خغبمدَص ظٹىڂ زٵٻ ظٙٵًن ټىي خڀربودڄؿ خؼبُخي ضبدَعً يف خڀٍخټُش ،وٌڀٻ ڀٽٍ َ٭مٿ خڀربودڄؿ خحملمٍ .ڀٍڀٻ
ټدن هبر خزعٽدَ ؤدجٿ سبى ٫خڀٽُخټُ ڄه ظىٵٍُ ٌٍي خڀ٭مځُص ،وٌٍ ٬مځُص خڀـ Dumpؤٌ ؤوٍ وٕىص ڄه خڀربودڄؿ ز٭ً ٴٻ ظٙٵًني يف
خڀٍخټُش ولٵٌٍ ٧ي خڀىٕىص ٬ځً خؽبدَي يَٕٻ.
ٌىدٺ ُ٤ٶ ٔسٷ ٌټٌُد فبٽه ؤن ظًوٿ ربط و٩دڂ خڀـ Anti-Dumpingڄؽٿ خڀـ Virtual Machinesوخڀـ Stolen
Bytesؤىٲ و٭َُُٔ ٞ٭دُ ز٭ ٟخڀُ٥ٶ خألوُي :
َُ٤ٹص ظٕڃي Nanomitesوٌٍ ٬سدَش ٬ه خٔعسًخپ خڀ٭ًًَ ڄه ؤوخڄُ خڀٹٵّ يف خڀربودڄؿ branch instructionsزإوخڄُ ؤوُي
ودٜص زىٹد ٢خڀعىٸٳ INT 3مث لٵ ٧خڄدټه ٌٍي خڀٹٵّخض يف ـًوپ َعڃ ظٙٵًني ـًُخً .ونٸ ًٝحبٵ ٧ؤڄدټه خڀٹٵّخض ؤٌ لٵ ٧خؼبٽدن
خڀٌٍ ټدوط ٔعٹٵّ بڀًُ destination of the jumpوټٍڀٻ َخَدض خؼب٭دجل و٤ىپ خڀع٭ځُمص size of the jumpز٭ً ٌڀٻ
َٹىڂ زُودڄؿ خغبمدَص ز٭مٿ ٬مځُص ظىٹُك ٌخيت ،و٬ىً لًوغ ؤٌ وٹ٥ص ظىٸٳ ڄه خڀىٹد ٢خڀيت ظٽىوط وعُفص خٔعسًخپ خڀع٭ځُمدض زـ INT
َ 3ٹىڂ خڀربودڄؿ زدڀُـى ٪بذل خعبًوپ وبَـد ٪ظ٭ځُمص خڀٹٵّ خألٜځُص .وڀَّديش خڀع٭ٹًُ َعڃ و ٫٠وٹد ٢ظىٸٳ زٙٽٿ ٙ٬ىخجٍ ،وٌٍي
خڀىٹد ٢ال ٬الٸص ؽبد زدڀٹٵّخض ،ڀٽهٌد ڀع١ځُٿ خڀٽُخټُ .وؤ٘هُ زُخڄؿ خغبمدَص خڀيت ظٕعىًڂ ٌٍي خڀَُ٥ٹص زُودڄؿ خڀـ . Armadillo
شٓادٗ حجه الـ ٍّْ SizeOfImageعيصس داخل بئ٘ IMAGE_OPTION_HEADERاخلاص٘ ببئ٘ امللفات PEاليت تعنل
عىل الْٓيدّش ّبصٓادٗ ٍرِ الكٔن٘ يف الـ PEBيف الـ ٓ runtimeؤدٖ إىل حدّث مشاكل مع الربامج اليت مل تضع حالً لتفادٖ ذلك :
mov eax, fs:[0x30] ;PEB
mov eax, [eax + 0x0c] ;PEB_LDR_DATA
mov eax, [eax + 0x0c] ;InOrderModuleList
mov dword ptr [eax + 0x20], NewSize ;SizeOfImage
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 295
AT4RE :انفريك انعرتي نههُذسح انعكسيح دهىل تريجيح في انهُذسح انعكسيح . خطىج إنى األياو:انهُذسح انعكسيح
ً وزٍڀٻ ُٔٵٹPortable Executable Header ؤٌ لٍٲ خڀـPE َُٹص خڀٕدزٹص ٴةوً يبٽه لٍٲ ټٿ زُدودض خڀـ٥خبالٲ خڀ
ىىخن٬ دً لٍٲ١َ ؤReloc, Import, Export ڀځٽؽًن ڄه خعبًخوپ خؽبدڄص؛ ڄؽٿRVA خڀربودڄؿ خڀٽؽًن ڄه خؼب٭ځىڄدض خؽبدڄص؛ ڄؽٿ خڀـ
Dump مٿ٬ ً وزدڀعدرل ٴ٭ى.ٱُٿ خؼبځٳٙدً خڀٽؽًن ڄه خڀسُدودض خڀيت وبعدـهد ڀىيَ خڀىَىًوِ ڀٽٍ َٹىڂ زع١َ وؤentry point خڀـ
: PE Header َُٹص لٍٲ خڀـ٤ وٌٍخ ټىي َسٌن.ڀځمځٳ خحملمٍ ڄه خڀٍخټُش ُٕٔعمُٿ ؤن َ٭مٿ
// This function will erase the current images
// PE header from memory preventing a successful image
// if dumped
inline void ErasePEHeaderFromMemory()
{
DWORD OldProtect = 0;
// Get base address of module
char *pBaseAddr = (char*)GetModuleHandle(NULL);
// Change memory protection
VirtualProtect(pBaseAddr, 4096, // Assume x86 page size
PAGE_READWRITE, &OldProtect);
// Erase the header
ZeroMemory(pBaseAddr, 4096);
}
6) http://www.datasecurity-event.com/uploads/unpackers.pdf
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 296
الباب اخلامس :حتليل بردليات دوت ىت
297
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ذبًَ خإل٘دَش بذل ؤن ٌىدٺ ذبمُ٭ص عبمُ ٫ڄد وبعدـً خحملځٿ خڀ٭ٽٍٕ ڄه ؤيوخض ڀځع٭دڄٿ ڄ٫
خڀًووظىُط ـ٭ځهد ؤوىود RobenhoodArabيف packذبًي يف ٌٍي املشاركة و بال
ټدٲ ڀع٥سُٷ يَوْ ٌٍخ خڀٽعدذ.
ٴُمٽىٻ خإلټعٵدء دبُٴٹدض خڀًَوْ ألهند َص
Reflector
Deblector
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 298
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد ڄ ٫خغبّڄص خعبًًَش ڄه ڀٱدض خڀربؾبص خڀيت ظ٭مٿ ٠مه زُحص خڀًوض وط ,ٴٹً ؤٜسك خألڄُ ـبعځٵدً ,ٴهٍ ظعس ٫خؼبىهؿ خڀعدرل يف بوعدؾ
وظٙٱُٿ ظ٥سُٹدض خڀًوض وط :
)1وبىپ خؼبعُـڃ خػبد ٚزًوض وط Compilerخڀُٙٵُش خؼبًََٝص بذل ڀٱص ؤُ٥ص Intermediate Languageوَُڄّ ؽبد
خوعٝدَخً زـ ( ) ILوَىعؿ ٬ىً ڄځٳ ظىٵٌٍُ وبعىٌ ٬ځً ظ٭ځُمدض خڀځٱص خڀىُٔ٥ص.
٬ )2ىً ظٙٱُٿ خؼبځٳ خڀعىٵٌٍُ خڀٕدزٷ ,ظعىذل ڄىٝص خڀعٙٱُٿ خڀ٭دڄص Common Language Runtimeوخڀيت َُڄّ ؽبد
خوعٝدَخً ( )CLRوخؼب١مىص ٠مه ب٤دَ ٬مٿ يوض وط net frameworkربىَٿ ظ٭ځُمدض خڀځٱص خڀىُٔ٥ص بذل ڀٱص خِڀص
. Machine Code
زـ Just In Time Compile -اللٌ ٧ىد ؤن خڀربودڄؿ بذل خِن دل َىعٹٿ بذل ڄُلٿش خڀعىٵٍُ ،وظ٭ُٲ خؼبُلځص خڀٕدزٹص
وخوعٝدَخً ( . ) JIT Compiler
)3ز٭ً ٌڀٻ َعٕځڃ خڀى٩دڂ ظ٭ځُمدض ڀٱص خِڀص وَىٵٌٍد ،وزدڀعدرل َعڃ ظٙٱُٿ خڀربودڄؿ ٬ځً ڄُلځعٌن:
ؤَٴٹىد ڄٌٍ ٫خ خڀًَْ ڄٹدڀص ڀألن َُٕ kurapicaي ٴُهد ظ٭ځُمدض ٌٍي خڀځٱص .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 299
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ؤىځٹٍ وُ٩ش ٬ځً ؤٌڃ خڀىٹد ٢وخؼبُّخض خڀيت َعمع ٫هبد خڀربودڄؿ.
ظٕمك ڀٻ خڀٹدجمص خؼبىًٕڀص يف خأل٬ځً زدوعُدَ خڀځٱص خڀربؾبُص خڀيت ظعٹىهد ڀُٕهٿ ٬ځُٻ ٴهڃ خڀٽىي.
وڀٽه ٬ىً خوعُدَٺ ڀځه َدَ ( ٔ ) ILعٙدًٌ ظځمُمدض ظُٙق ٬مٿ ټٿ ظ٭ځُمص يف خڀځٱص خڀىُٔ٥ص وٌٍخ خألڄُ َ٭عرب ڄٕدً٬ش ـًُش
ڀځمسعًجٌن يف ظ٭ځڃ ظ٭ځُمدض خڀځٱص خڀىُٔ٥ص ( . ) IL
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 300
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
.2.2خٝاضات ايبشح
ُٔ٩هُ ڀٻ ڄُز ٫خڀسمػ ووبعىٌ جبدوسً ٬ځً ؤَز ٫ؤَِخَ ظٹىڂ ز٭مځُص ظىـًُ وٴځعُش خڀسمػ. ٬ىً خڀ١ٱ٬ ٣ځً َِ خڀسمػ
َ :ٵًُ ٌٍخ خػبُدَ يف خڀسمػ ٬ه وى ٪ټدجه Objectڄ٭ٌن وٴ١دءخض خألظبدء خڀيت ربعىًَ ,ڄؽالً :خحبػ ٬ه (
. ) progressbar
َ :ٵًُ ٌٍخ خػبُدَ زدڀسمػ ٬ه خٔڃ ٬ى ُٝڄ٭ٌن؛ ڄؽالًَ :يف زُودؾبىد خؽبًٲ :خحبػ ٬ه ( . ) BTR
َ :ٹًُ ٌٍخ خػبُدَ يف خڀسمػ ٬ه ٔځٕځص وُٝص ٠مه خڀٽىي ,ڄؽالً :خحبػ ٬ه ( . ) NameSpace
َٕ :عىًڂ ٌٍخ خػبُدَ ڄعُخٴٹدً ڄ ٫خػبُدَخض خڀؽالغ خڀٕدزٹص ،وَٕعىًڂ ڀځسمػ ٬ه خڀى ٛخؼب٥دزٷ سبدڄدً ،وَٕعس٭ً خڀىٝى ٚخڀيت
ربىٌ ٌٍي خڀٽځمص ـّجُدً؛ ڄؽالً ٬ :ىً خڀسمػ ٬ه ُٔ BTRىُؾ ڀٻ ً٬يخً ټسًنخً ڄه خڀىعدجؿ ،وڀٽه ٬ىً خٔعىًخڂ ٌٍخ خػبُدَ ٔععٹځٛ
خڀىعدجؿ بذل وعُفص وخلًش ٴٹ.٣
.2.3خٝاضات ايدلْاَر
زبُؾ ڀىد ودٴٍش ـًًَش ربعىٌ ٬ځً ؾبمى٬ص ڄه خڀٝٵمدض : ٬ىً خڀ١ٱ٬ ٣ځً َِ خػبُدَخض Options
.2.3.1ايكؿشDisassembler ١
بً٬خيخض ٬دڄص ووُدَ Number Formatخڀٌٍ َعُك ُٞ٬خألَٸدڂ زدڀى٧خڂ خڀ٭ ٌُٙؤو خڀٕعص .ٌُٙ٬
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 301
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ظ٭عرب ٌٍي خڀعٕځٕځُص ڄه خڀع٭ځُمدض خؼبٵًُش ـًخً يف ڄ٭ُٴص ڄٽدن خٔعىًخڂ خڀ٭ى ُٝوڄٽدن بٔىدي خڀٹُڃ ڀً .ڀىُي ڄؽدالً ٬ځً ٌڀٻ ؤٔٹ٣
خڀربودڄؿ خؽبًٲ ٠مه زُودڄؿ : Reflector
ٔ -ىمدوپ ٌىد ڄ٭ُٴص ؤَه َعڃ خٔعىًخڂ خؼبُز ٫خڀى TS ٍٝوؤَه َعڃ بٔىدي ٸُمص ؤو ودُٜص ڀً؟ ٬ىً خڀ١ٱ ٣زدڀَّ خأليبه ڀځٵإَش ٬ځًُ لبعدَ
ڄه خڀٹدجمص : Analyze
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 302
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ٔع٩هُ ٬ځً خڀٵىَ ودٴٍش ـًًَش ز٭ىىخن Analyzer :ربىٌ ٠مىهد ڄٽدن خٔعىًخڂ خڀ٭ى ُٝو٬ىً ظىُٔ ٫خڀٹدجمص ( ٔ ) +ىفً خڀٹدجمص
خڀٵُُ٬ص ( ) Used Byووالل ٧ؤن خڀ٭ىَٕ ُٝعىًڂ يف خغبًغ BTRCLICKوڀځٌٍدذ بذل ٌٍخ خغبًغ و ُٞ٬خڀٽىي لبعدَ خألڄُ
Go To Memberڄه خڀٹدجمص خؼبىسؽٹص ( ) Popup Menuؤىٌٍر بذل خڀ٭ى٠ ُٝمه خڀځىلص : Browse
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 303
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-ز٭ً خوعُدٌَد ٔعٵعك ڀٻ وىخٴٍ خؼبىٹك وَ١دٲ بذل ٸىخجڃ خڀربودڄؿ Reflectorخڀٹدجمص Debugټمد ٔع١دٲ ؾبمى٬ص ڄه خألَِخَ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 304
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
:ظىٵٍُ خالٔعً٬دءخض يون خڀًوىپ بڀُهد ( ) Step Overوالپ خڀععس ٫وخوعٝدَي [ .] F10
:ربمُٿ خؼبځٵدض خڀعىٵٍَُص خؼبٙٱځص ( خحملمځص يف خڀٍخټُش ) ٠مه خؼبىٹك ( ) Attachوٌى خؼبُلځص خألوذل ڀځسًء زدڀعىٹُك .
٬ىً خوعُدَي ظٵعك ڀٻ ودٴٍش ظٕمك ڀٻ زدوعُدَ خؼبځٳ خڀٌٍ ظًَُ ظىٹُمً :
:ظٕد ً٬يف و ٫٠وٹد ٢خڀعىٸٳ يف ڄٽدن خؼباُ٘ ٠مه خڀىدٴٍش IL Viewوخوعٝدَي [ .] F9
. و هبر خالوعسدي بذل ؤوً ال يبٽه و ٫٠وٹ٥ص ظىٸٳ بال بٌخ ټدن خؼبىٹك يف لدپ ظىٸٳ ڄاٸط
ظ٭ُ ٞظ٭ځُمدض خڀربودڄؿ زدڀځٱص خڀىُٔ٥ص ILويبؽٿ خڀعُظُر َ : L_0000 … L_0001ٸڃ خڀٕ ،ُ٥ټمد َالل ٧وـىي ٌٍي خڀعُظُر
وځٳ ظ٭ځُمدض خڀٹٵّ وًَٙن بذل خؼبىٸ ٫خڀٌٍ ُٔعڃ وٹٿ خڀعىٵٍُ بڀًُ.
ٌه :بٌخ ټدوط خڀٹُمعٌن ًٰن ڄعٕدوَعٌن ( ُٔ ) bneعڃ خڀٹٵّ بذل خڀٕ: L_0077 ُ٥
ٴمؽالً خ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 305
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
.3.2ايٓاؾصDisassembly ٙ
ظ٭ُ ٞخڀٽىي خؼب ًٌَٝخؼبىخٴٷ ؼبد َىـً ڄه ظ٭ځُمدض خڀځٱص خڀىُٔ٥ص خؼبىـىيش يف خڀىدٴٍش . IL View
.3.3ايٓاؾصAuto ٠
ظ٭عرب ودٴٍش ڄهمص ـًخً وَعڃ ٴُهد ُٞ٬ٸُڃ خؼبعمىالض وخڀٷمي خؼبٕىًش ڀځ٭ىد ُٜؤؼىدء خڀعىٹُك.
.3.4ايٓاؾصModuels ٙ
ربعىٌ ٬ځً خؼبځٵدض خحملمځص خڀالِڄص ڀعٙٱُٿ خڀربودڄؿ .ټمد ظ٩هُ خؼبځٵدض خڀيت َٹىڂ زعممُځهد خڀربودڄؿ ټمځٵدض DLLوٌٍ ڄٵًُش يف لدپ
ؤَيود ڄ٭ُٴص ڄىخَي خڀربودڄؿ.
خؼبعٱًن : Textڄعٱًن وَٕ ,String ٍٝىً ڀً خڀى ٛخؼبًوٿ خؼبىـىي يف خؼبُز ٫خڀى. TS ٍٝ
َ : Text.Length > 16عڃ خڀعإټً ڄه ؤن خڀى ٛخؼبًوٿ ؤټرب ڄه 16لُٴدً ،ؤٌ 17ؤو ؤټؽُ.
) : Mid( text, 1, 9ؤوٍ ؤوپ 9ؿبدَٲ ڄه خڀَُٕدپ خؼبًوٿ.
) : Mid( text, 10, 8ؤوٍ 8ؿبدَٲ ڄه خڀَُٕدپ خؼبًوٿ خ٬عسدَخ ڄه خحملُٲ خڀ٭دُ٘.
GetValue : RHA.GetValueوُ٨ٵص Functionڄىـىيش يف خڀىلًش خڀربؾبُص .RHA
: Ts.textبٔىدي ٸُمص وُٝص ڀځمُز ٫خڀى.Ts ٍٝ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 306
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
.4.1ايتشً ٌٝاألٚيٞ
َعڃ سبَُُ ؤوپ 9لُوٲ ڄه خڀَُٕدپ بذل خڀًخڀص GetValueوڄٹدَوص ڄد ظ٭ًُي خڀًخڀص ڄ ٫خڀُٸڃ ( .) 112244617383124392
َعڃ سبَُُ خڀؽمدوُص ؤَٸدڂ خڀعدڀُص ڄه خڀَُٕدپ بذل خڀًخڀص GetValueوڄٹدَوص ڄد ظ٭ًُي خڀًخڀص ڄ ٫خڀُٸڃ ( .) 4157
بٌخ ټدوط خؼبٕدوخش ٜمُمص َعڃ بٔىدي ٸُمص وُٝص ڀځمُز TS ٫دبٕدً٬ش خڀًخڀص . SetStr
والل ٧يف خڀسًخَص ظ٭َُٳ خڀًخڀص ووالل ٧ؤن ڄد ًَوٿ بذل خڀًخڀص ( ) Parameterهبر ؤن َٽىن ڄه خڀىى ٪خڀى String ٍٝوَُڄّ ڀً
زـ StrInوخڀٹُمص خڀيت ظ٭ًٌُد خڀًخڀص ٌٍ ڄه خڀىى ٪خڀى ،ٍٝؤَ١دً وَعڃ خڀعَُٝك ٬ىهد زـ ..… = GetValue
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 307
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-الل ٧ؤن ٌٍي خؼبعمىالض خڀىُٝص َعڃ بٔىدي خڀٹُڃ ؽبد ڄه والپ خغبځٹص خڀ٩دٌُش يف خأل٬ځً Do … Loopوَځ٭ر خؼبعمىپ خڀُٸمٍ
numيوَ خڀ٭ًخي ؽبٍي خغبځٹص ٴهى َسًؤ زدڀٹُمص ( )0وظىعهٍ خغبځٹص ٬ىًڄد ظٝسك ٸُمعً ( ) 71ؤٌ ُٔعڃ ظٽُخَ ٌٍي خغبځٹص ( ) 72
ڄُش.
.... If ( num Mod 4 ) = 0 Thenوٌٍي ظ٭ين ؤوً بٌخ ټدن زدٸٍ ٸٕمص خڀ٭ًي ٬ numځً َٕ 4دوٌ ( ٬ ) 0ىًجٍٍ = Str4
]num[ Str4 + Str9وٌٍخ َ٭ين ؤن ٸُمص خؼبعٱًن Str4ظٕدوٌ ٸُمعً خغبدڀُص ڄ١دٲ بڀُهد خغبُٲ خڀٌٍ ظُظُسً ٸُمص ٠ numمه
خڀٕځٕځص خڀىُٝص : Str9
-ووعُفص ظٽُخَ ٌٍي خغبځٹص 72ڄُش ُٔىعؿ ڀًَىد ؤَزٔ ٫الٔٿ وُٝص ( ) Str4, Str5, Str6, Str7وڀٽه ټُٳ ٔى٭ُٲ ٸُمهڃ ؟
ٔىٕعىًڂ خؼبىٹك ڀععس ٫ٸُڃ ٌٍي خڀٕالٔٿ ،وڀىعس ٫خػب٥ىخض خڀعدڀُص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 308
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
٫٠وٹ٥ص ظىٸٳ ٬ىً خڀٕ ( L_0000 : nop ُ٥زى ٫٠خؼباُ٘ ٬ىًٌد وخڀ١ٱ٬ ٣ځً F9ؤو خڀَّ ) ُٔعمىپ ڀىن خڀٕ ُ٥بذل )6
خڀځىن خألضبُ.
. ٘ٱٿ خڀربودڄؿ زدڀ١ٱ٬ ٣ځً F7ؤو ؤ٠ٱ٬ ٣ځً خڀَّ )7
خ٠ٱ Register ٣ؤُعىٸٳ خؼبىٹك ٬ىً وٹ٥ص خڀعىٸٳ خڀيت و٠٭ىدٌد ٔدزٹدً. )9
و ٫١وٹ٥ص ظىٸٳ ؼدوُص ٬ىً خڀٕ ( L_00C0 : ُ٥و٠٭ىدٌد ٌىد؛ ألهند خڀٕ ُ٥خڀعدرل الوعهدء خغبځٹص ) .
ؤُعىٸٳ خؼبىٹك ٬ىً وٹ٥ص خڀعىٸٳ . L_00C0 و١ٱ ٣خؼبٵعدق F7ؤو خڀَّ
وى ُ٩بذل خڀځىلص Autoووالل ٧خڀٹُڃ خألَز ٫ڀځٕالٔٿ خڀىُٝص (. ) Str4, Str5, Str6, Str7
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 309
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
Str4 "="aeimquyCGKOSW-4826
Str5 "="bfjnrvzDHLPTX15937
Str6 "="cgkoswAEIMQUY26048
Str7 "="dhlptxBFJNRVZ37159
خِن ُ٬ٴىد نخظؿ خغبځٹص خڀٕدزٹص وڄد ٌٍ خؼبعٱًنخض خألَز ٫خڀىدذبص ٬ىهد؟ ڀٍخ ٔىىعٹٿ بذل خڀٕ ُ٥خڀعدرل :
خِن خڀربودڄؿ َٹىڂ جبم ٫خڀٕالٔٿ خألَز ٫خڀٕدزٹص يف ڄعٱًن ڄٕعٹٿ Str8بٌن ٔعٽىن ٸُمعً ٌٍ :
Str8 "= "aeimquyCGKOSW-4826bfjnrvzDHLPTX15937cgkoswAEIMQUY26048 dhlptxBFJNRVZ37159
ز٭ًٌد َٽعٵٍ خڀربودڄؿ زإوٍ ؤوپ 9ؿبدَٲ ڄه ټٿ ٔځٕځص ڄه خڀٕالٔٿ خألَز: ٫
ٴعٝسك خڀٕالٔٿ خألَز ٫ټدڀعدرل ،وٌٍ خڀيت ٔى٭عمًٌد يف زٹُص لًَؽىد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 310
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
٤ -ىپ خغبځٹص َٕدوٌ ٤ىپ خڀٕځٕځص خؼبمَُش ؽبد ( ظٍټُ ؤن خڀربودڄؿ يبَُ ؤوالً ؤوپ 9ؤلُٲ ڄه خڀَُٕدپ خؼبًوٿ ).
ً٬ -ي ڄُخض ظٽُخَ خغبځٹص ( ) 9ڄُخض ،وَعڃ يف ټٿ ڄُش ؤوٍ لُٲ ڄه خأللُٲ خڀعٕ٭ص.
بٌخ ټدن ڄىـىيخً :ظ٭ًُ ڄىٸ٭ً ٠مه خڀٕځٕځص؛ ڄؽالًٔ ) "InStr ( Str4, "a :عسمػ ٬ه خغبُٲ aيف خڀٕځٕځص Str4والل ٧ؤن
ڄىٸ٭ً = 1بٌن .InStr(Str4,"a") = 1
ٌٿ خغبُٲ ڄىـىي يف خڀٕځٕځص ::: Str4بٌن :ؤ٠ٳ ڄىٸ٭ً +خڀُٸڃ 1
ٌٿ خغبُٲ ڄىـىي يف خڀٕځٕځص ::: Str5بٌن :ؤ٠ٳ ڄىٸ٭ً +خڀُٸڃ 2
ٌٿ خغبُٲ ڄىـىي يف خڀٕځٕځص ::: Str6بٌن :ؤ٠ٳ ڄىٸ٭ً +خڀُٸڃ 3
ٌٿ خغبُٲ ڄىـىي يف خڀٕځٕځص ::: Str7بٌن :ؤ٠ٳ ڄىٸ٭ً +خڀُٸڃ 4
--وڀٽه الل : ٧ؤن خڀربودڄؿ يف خغبًغ َ BTRCLickٹدَن ودظؿ ؤوپ 9ؤلُٲ ڄ ٫خڀُٸڃ ( .) 112244617383124392
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 311
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڄىٸ ٫خحملُٲ يف خڀٕځٕځص 1 ( +ؤو 2ؤو 3ؤو ... 4لٕر خڀٕځٕځص خڀيت ربعىًَ ).
-ټُٳ ٔىعإټً ڄه ؤن ٌٍي خأللُٲ ٜمُمص؟ ڀىٙٱٿ خڀربودڄؿ وڀىٹڃ زةيودپ خڀَُٕدپafpuAEboH112233445566 :
وڀى ٫١وٹ٥ص ظىٸٳ ٠مه خإلـُخء ٬ BTRCLICKىً خڀٕ: L_0031 ُ٥
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 312
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-و١ٱ ٣خِن F10ڄُظٌن ووالل٨ ٧هىَ ودظؿ خڀًخڀص GetValueڀأللُٲ خڀعٕ٭ص خألوذل :
-وڄه مث خؼبٹدَوص (زىخٔ٣ش F11يبٽىٻ خڀًوىپ بذل يخڀص خؼبٹدَوص ) ووالل ٧ظ٥دزٷ خڀٹُمعٌن ،بٌن ربځُځىد ټدن ٜمُمدً ،وخأللُٲ
خڀعٕ٭ص ڄه خڀَُٕدپ ٌٍ afpuAEboH :
-والل ٧يف خإلـُخء BTRClickؤن خڀربودڄؿ ًَٴ ٫خأللُٲ خڀؽمدوُص خڀعدڀُص ڀځًخڀص GetValueوَٹدَن خڀىدظؿ ڄ. 4157 ٫
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 313
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
: 7ڄه خڀٕځٕځص خڀىُٝص ؟ (ټُٳ 7وكبه ڀًَىد بڄد 1ؤو 2ؤو 3ؤو 4وٌٍ ظًڀىد ٬ځً خڀٕځٕځص خڀيت وإوٍ ڄىهد؟)
-لٹُٹص ٌٍي ٌٍ خغبُټص خڀيت ٔسسط ٜ٭ىزص خغبٿ ،ڀىُخـ ٫خڀًخڀص GetValueووىّپ بذل خألٔٵٿ و٬ىًٌد ٔىُي :
-بٌن خڀًخڀص ظٹدَن خڀٹُمص خڀًخوځص ؽبد ،ٴةٌخ دل ظٽه ؤَٸدڄدً Not IsNumericٴةهند ظ٭ًُ ودظؿ خغبځٹص خڀيت ربًؼىد ٬ىهد ڄىٍ ٸځُٿ.
-ؤڄد بٌخ ټدوط خڀٹُمص خؼبًوځص ؽبد ؤَٸدڄدً ٴٹ ( ٣ال َىـً لُوٲ ) ٴةهند ظٹىڂ حبځٹص ـبعځٵص وظ٭ًُ ودظؿ ي ٌي خغبځٹص . Str3
ثاَياً :خغبځٹص ؤٜٱُ ڄه ( 9وٌٍخ َعىخٴٷ ڄ ٫ټىن خعبّء خڀؽدين ڄه خڀَُٕدپ ڄاڀٳ ڄه 8ؤَٸدڂ ).
ثانثاًَ :عڃ َِديش ً٬خي خغبځٹص 2يف ټٿ يوَش ) . Start = Start + 2 ( 0 , 2 , 4 ,
خايظاًَ :عڃ يف ټٿ يوَش بهبدي خحملُٲ ڄه خڀٕځٕځص خڀىُٝص Str8خڀٌٍ ڄىٸ٭ً ٸُمص خڀُٸمٌن ،وَ١دٲ بذل خڀىدظؿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 314
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڀىمځٿ خڀُٸڃ :بٌن الل ٧ظُظُر خألَٸدڂ خؼب٭ځمص زدألَِٶ ( َسًؤ خڀعُٸُڃ زدڀُٸڃ 0وڀُٓ : ) 1
بٌن ٴدعبّء خڀؽدين ڄه خڀَُٕدپ -خؼباڀٳ ڄه 8ؤَٸدڂ وخڀٌٍ َىعؿ خڀُٸڃ ( ) 4157ڄه والپ خڀًخڀص ٌ -GetValueى :
14313235
ڀىٹڃ زةيودپ ٌٍخ خڀَُٕدپ وو١ٱٔ Register ٣ع٩هُ ڀىد خڀ٭سدَش Registeredيف خؼبُز ٫خڀىRegCode ٍٝ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 315
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
35 14693235
32
68 14693268
69
35 14697035
70
68 14697068
35 52313235
32
68 52313268
31
35 52317035
70
68 52317068
52
35 52693235
32
68 52693268
69
35 52697035
70
68 52697068
يبٽه ټعدزص ټُفه ڀځربودڄؿ خؽبًٲ زىخٔ٥ص يڀٵٍ ڄٕعىًڄدً ڄٝٵىٴص ربعىٌ ٬ځً خلعمدالض خعبّء خڀؽدين ڄه خڀَُٕدپ ( َٕعىًڂ
٬ىدٌُٜد زٙٽٿ ٙ٬ىخجٍ ) وَ١دٲ ؽبد خعبّء خألوپ ڄه خڀَُٕدپ ,ؤو يبٽه خ٬عمدي خؼبىهؿ خڀعُظُيب ,وَ٭عرب خؼبسًؤ خڀ٭ٙىخجٍ ٌى خألټؽُ
خٔعىًخڄدً يف ټعدزص ڄؽٿ ٌٍي خڀٽُفىدض .و يبٽه ټعدزص خڀٽىي زدڀٙٽٿ خڀعدرل :
var
;Form1: TForm1
;I: Integer = 0
Const
'Array2S : Array[0..15] of String =('14313235
','14313268
','14317035
','14317068
','14693235
','14693268
','14697035
','14697068
','52313235
','52313268
','52317035
','52317068
','52693235
','52693268
','52697035
;)','52697068
implementation
}{$R *.dfm
;)procedure TForm1.BTGenClick(Sender: TObject
begin
//Method #1 ===> Random
;Randomize
;])TReg.Text := 'afpuAEboH' + Array2S[Random(15
//Method #2 ===> Ordinal
;if I > 15 Then I := 0
;]TReg.Text := 'afpuAEboH' + Array2S[I
;I:= I + 1
;end
نسبىن ؤن ظٽىوىخ ٸً خٔعمع٭عڃ وخٔعٵًمت ڄه ٸُخءش ٌٍخ خڀًَْ ،ټمد وُـى ڄه خهلل ظ٭دذل ؤن َٽىن ٬مځىد ودڀٝدً ڀىـهً خڀٽُمي .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 316
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ظٌن Deblectorو Reflexilؼىدجُدً َخج٭دً وڄعٽدڄالً ڀعمځُٿ وظ٭ًَٿ ظ٥سُٹدض خڀًوض وط.
ؤؼىدء ٬مځُدض خڀسدظُٙىٯ ظٙٽٿ خإل٠دٲ
َځ٭ر Deblector :يوَ ڄىٹك وبځٿ خڀٽىي ؤؼىدء خڀعىٵٍُ ؤَُڃ ٜىَش وخ٠مص ؼبد يبٽه بقبدِي ڄه والپ خأليخشReflexil .
وَٿ٬ر Reflexil :خڀًوَ خڀىهدجٍ يف خڀع٭ًَٿ ٬ځً خڀع٥سُٷ ولٵ ٧خؼبځٳ خؼب٭ًپ ز٭ً خڀٵهڃ خڀعدڂ ؼبد هبٌُ.
-مت ظٝمُڃ خڀعمَُه DotNet Expert 3ڀُٙق بڄٽدوُدض خأليخش Reflixelوټُٵُص خڀع٭دڄٿ ڄ٭هد.
Reflector
Reflexil
-ڀىٕٹ ٣خڀعمَُه يف Reflectorو٬ىًٌد ٔىالل٨ ٧هىَ خٔڃ خڀعمَُه ٬ځً خڀٹدجمص خڀُُٕيٌٍ ،خ خالٔڃ َ٭ُٲ زـ : Assembly
Name
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 317
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
و ټىوىد ٔىٹىڂ ز٭ًي ڄه خڀع٭ًَالض ٴةٌخ ٨هُ ڀىد خڀعمَُه زىٵٓ خالٔڃ يوڄدً ٴُٕعڃ خٔعسًخپ خؼبځٳ خعبًًَ خؼب٭ًپ زدؼبځٳ خڀٹًمي ؤىٵٹً
بڄٽدوُص خؼبٹدَوص ڄ ٫خڀعمَُه خألٜځٍ ؤىٵٹً ڄعدز٭ص خڀعٱًُنخض خڀيت قبَُهد.
ڀىٵعك خِن خأليخش Reflexilوبٌخ ټدن خڀـ Assembly Nameڄ٭ځڃ ٴ٭ىًٌد ٔعٽىن خڀىدٴٍش ٌٍ Assembly Definition
ٔىٱًني بذل Patched_1ڀعٻون خؼبځٵدض خڀعدڀُص ڄُظسص … Patched_2 … Patched_3وٌٍخ َٵًُود يف ڄعدز٭ص خڀعٱًُنخض:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 318
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وىٔ ٫خڀٹدجمص ( ) +خجملدوَش ڀځـ Assembly Nameؤىالل٨ ٧هىَ Exe Nameوجبىخَي ؤَٹىوص ٬سدَش ٬ه ټعر ،و٬ىً
ًٰن ودٴٍش خإل٠دٴص Reflexilبذل خڀىدٴٍشModule definition :
خڀ١ٱ٬ ٣ځً خٔڃ خؼبځٳ خڀعىٵٌٍُ ظط
َٕ :Reloadمك ڀىد زة٬ديش ربمُٿ خؼبځٳ خألٜځٍ وڄٕك صبُ ٫خڀعٱًنخض خڀيت ؤـَُىدٌد.
ز٭ً لٵ ٧خؼبځٳ وعىـً بذل ڄٽدن خغبٵ , ٧وٕٹ ٣خؼبځٳ Patched_1.exeيف Reflectorووالل٨ ٧هىَ خٔڃ ـًًَ
Patched_1 :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 319
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
والل ٧ؤٔٵٿ وىخٴٍ Reflexilخَظسد٤دً وُٝدً وبمٿ خالٔڃ [ ] .. Configure Reflexilو٪وً خڀ١ٱ٬ ٣ځًُ ظٵعك ودٴٍش ـًًَش
ؤىمدوپ ؤن لبعدَ خغبٹىپ ټمد يف خڀٝىَش خڀعدڀُص ،ويبٽىٻ خڀع٭ًَٿ هبد دبد َىدٔسٻ:
ظ٭عرب ٌٍي خڀىدٴٍش خڀٹځر خڀىدز ٟڀأليخش Reflexil ,وڄُټّ خڀ٭مځُدض ؤؼىدء خڀع٭ًَٿ ٬ځً ظ٥سُٹدض خڀًوض وط.
ظعإڀٳ ٌٍي خڀىدٴٍش ڄه ٜٵمدض ـّجُص ٌدڄص وظ٩هُ ٬ىً خٔع٭ُخ٠ٻ أللً خإلـُخجُدض يف خڀربودڄؿ Reflectorوٌٍ:
.1.4ايكؿشInstructions :١
ظٹىڂ ز٭َُ ٞٸڃ ٔ ُ٥خڀٽىي +خؼبىٸ ( Offset ) + ٫ظ٭ځُمدض خڀځٱص خڀىُٔ٥ص خؼبىخٴٹص ٬ ( IL ) +ىخڄٿ خڀعُٰٗٿ خڀعدز٭ص ؽبٍخ خڀٕ.ُ٥
.1.5ايكؿشVariables :١
ظ٭ُ ٞڀٻ ؤظبدء خؼبعٱًنخض وؤوىخ٬هد ،وڀٽه زإظبدء ظُظُسُص V_0, V_1,وٌڀٻ لٕر ظٕځٕٿ وَويٌد ٠مه و ٛخڀٽىي خؼبىخٴٷ.
زًخَص ټُٳ ُ٬ٴط ؤن خغبًغ BRVClickيبؽٿ خڀ١ٱ٬ ٣ځً خڀَّ Register Version؟
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 320
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
بٌخ وُ٩ود بذل خڀ٭ىد ُٜخػبدٜص زـ MainFormقبً يف خأل٬ځً )( ctorوٌى خوعٝدَ ڀـ Constructorؤٌ ٬مځُدض زىدء
خڀىمىٌؾ.
٬ىً خڀًوىپ بڀًُ ٔىالل ٧ظ٭َُٵدض ڂ ٪ٸُڃ زًخجُص ڀځمعمىالض خڀ٭دڄص خؼبٕعىًڄص يف خڀىمىٌؾ ,وبـُخء ؤً٬خي خؼبٽىودض خػبدٜص زدڀىمىٌؾ
Me.InitializeComponent
٬ىً خڀًوىپ ؽبٍخ خإلـُخء ٔىالل ٧ظ٭َُٳ خؼبٽىودض ڄه لُػ خڀىى ( Button, PicutreBox, RadioButton … ) ٪وخڀعٕمُص
وًٰنٌد.
ڄه زدذ خڀعٕځُص :ي٬ىود وٹىڂ زعٱًُن ڀىن خػبځٵُص بذل خألو ُ١وخڀٽعدزص بذلMy First Button :
يف خڀځىلص Instructionلبعدَ خڀٕ 546 ُ٥خڀٌٍ وبعىٌ ٬ځً خڀًخڀص GetGrayوو١ٱ ٣زَّ خڀٵإَش خأليبه ولبعدَEdit :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 321
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
و١ٱ٬ ٣ځً Get_Grayڀعىُؾ ودٴٍش ـًًَش لبعدَ ڄىهد ( Get_Greenخڀٕ ُ٥خڀعدرل) :
مث و١ٱ٬ ٣ځً خڀَّ Updateغبٵ ٧خڀعٱًُنخض ،ٴعٱځٷ خڀىدٴٍش ،ووالل ٧ؤن خڀع٭ًَٿ ٸً مت ٬ځً خڀٕ:546 ُ٥
وٽَُ خڀ٭ځمُص ڄه ؤـٿ خڀٕ 586 ُ٥وخڀٌٍ وبعىٌ ٬ځً خڀ٭سدَش Register Vesionوڀٻن ٌىد وٽعر زًپ خڀىMy First ٛ
Button :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 322
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خِن كبٵ ٧خؼبځٳ زدڀ١ٱ٬ ٣ځً Exe Nameمث لبعدَ Save asووٕمٍ خؼبځٳFor Fun :
زًخَص لبعدَ Exe nameؤٔٵٿ خؼبىيَٿ : Patched_1وو١ٱ ٣ڄه Reflixelخڀَّ Reloadإلِخڀص خڀعٱًنخض خڀيت ؤـَُىدٌد ڄىٍ
ٸځُٿ.
وعٝٵك خِن خڀٽىي خؼبىخٴٷ وكبدوپ ٴهڃ ڄد هبٌُ إلـُخء خڀع٭ًَالض خؼب٥ځىزص زًٸص:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 323
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
يف خڀسًخَص َ :عإټً خڀربودڄؿ ڄه ؤن خالٔڃ ڀُٓ ٴدَٰدً وؤن ٤ىپ خڀَُٕدپ ڀُٓ ؤٸٿ ڄه 5ؤلُٲ.
يف لدپ ً٬ڂ ربٹٷ خڀ ٢ُٙخڀٕدزٷ ُٔىٵٍ خإلـُخء MacroMeويبَُ ڀً خؼب٭دڄالض ( خڀربڄُعُخض 2 – 3 – 0 ) Parameters
زدڀعُظُر.
ڄ٭ىن خإلـُخء MacroMe( 2, 3, 0 ) :ؤ٨هُ خڀى Failure ( 2 ) – ٛوخڀى Maybe ( 3 ) – ٛوخألَٹىوص ( ) 0خػب٥إ.
وڀٽه خوعسً ُ٠ذ خألوپ وخڀؽدڀػ زٹُمص خؼبعمىپ : IntTوټمد الل٩ط ؤن ٸُمعً خڀسًخجُص ٌٍ ( ).0
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 324
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وڀٽه بٌخ ټدوط ٸُمص ٌٍخ خؼبعمىپ ( : )1ٴٕعسٹً خڀٹُڃ ټمد ڄَُض ڀإلـُخء .ټدن خؽبًٲ ڄه ٌٍي خڀ٭مځُص ٨هىَ وعُفص خػب٣ؤ يوڄدً يف
لدپ مت خڀعال٬ر زٹٵّخض ( خعبمٿ خڀُ٤ُٙص ) ڀځربودڄؿ.
-الل ٧يف زٹُص خإلـُخء ) ( BRVClickټُٳ َعڃ ب٥٬دء خؼبعمىپ IntTخڀٹُمص ٬ 1ىً خڀعٕفُٿ خڀٝمُك.
-ڀىمٿ صبُ ٫ب٘ٽدڀُدض خؼبعمىپ IntTكبعدؾ ٴٹ ٣بذل ب٥٬دء ٌٍخ خؼبعمىپ خڀٹُمص ٬ 1ىً زًخَص خإلـُخء MacroMeڀىٹڃ زٍڀٻ.
وٵعك خإلـُخء MacroMeووعىـً بذل خڀځىلص Instructionsوواُ٘ ٬ځً خڀٕ ُ٥خألوپ ولبعدَ خألڄُCreate New
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 325
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خِن ٬ځُىد ب٠دٴص خڀع٭ځُمدض خڀالِڄص إل٥٬دء خدلربىپ IntTخڀٹُمص 1وڀٽه والل ٧ؤن خؼبعمىپ ٌ IntTى ڄعمىپ ٬دڂ بٌن:
خڀع٭ځُمص خألوذل:
خڀع٭ځُمص خڀؽدوُص:
خڀع٭ځُمص خڀؽدڀؽص:
ڀعُټُر خڀع٭ځُمص خألوذل :ٴٹ ٣وٽعر خڀع٭ځُمص ldarg.0و و١ٱ ٣خڀَّInsert before Selection :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 326
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڀعُټُر خڀع٭ځُمص خڀؽدوُص :لبعدَ خڀع٭ځُمص خألوذل مث Create Newووٽعر خڀع٭ځُمص ldc.i4.1وو١ٱ ٣خڀَّ Insert before
Selection :
ڀعُټُر خڀع٭ځُمص خڀؽدڀؽص :لبعدَ خڀع٭ځُمص خڀؽدوُص create newوَعڃ خوعُدَ خغبٹىپ ټمد يف خڀٝىَش مثInsert after Selection :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 327
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
كبمٿ خؼبځٳ خعبًًَ يف خڀربودڄؿ Reflectorووعىـً بذل خإلـُخء MacroMeڀىالل ٧خڀعٱًنخض خڀيت ؤـَُىدٌد:
والل ٧ؤوً مت بٔىدي خڀٹُمص 1ڀځمعمىپ IntTوزدڀعدرل زبځٝىد ڄه ب٘ٽدڀُدض ٌٍخ خؼبعمىپ هندجُدً.
و٭ىي ڄُش ؤوُي ڀإلـُخء ) ( BRVClickوكبدوپ زب ٍ٥ؿبًويَص خالٔڃ خڀٵدَٮ ،و٤ىپ خڀَُٕدپ ؤٸٿ ڄه 5لُوٲ:
ڄه خػب٥إ ٌىد ؤن و٭ٽٓ خڀٹٵّش ( ألوً يف ٌٍي خغبدڀص ٔع٩هُ َٔدڀص خػب٥إ بٌخ دل َٽه خالٔڃ ٴدَٰدً وخڀَُٕدپ ؤ٤ىپ ڄه 5لُوٲ )
ڀٍڀٻ ٔىىـً خڀٹٵّش بذل خڀٕ ُ٥خڀعدرل وټإن خڀًٰ ٢ُٙن ڄىـىي ڄه والپ:
ظٱًُن خڀع٭ځُمص ٬ brfalse.sىً خڀٕ 20 ُ٥بذل خڀع٭ځُمص br.sوَعڃ ظىـًُ خپٸٵّ بذل خڀٕ 27 ُ٥خڀعدرل ڀع٭ځُمصret :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 328
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وٙدًٌ يف خڀٝىَش ؤن خڀربودڄؿ يبَُ خغبُوٲ خػبمٕص ڄه خڀَُٕدپ بذل خڀًخڀصFirstServ :
ټځمص وعدڄُص:
وعمىن ؤن ظٽىوىخ ٸً خٔعمع٭عڃ وخٔعٵًمت ڄه ٸُخءش ٌٍخ خڀًَْ ،ووُـى ڄه خهلل ؤن َٽىن ٬مځىد ودڀٝدً
ڀىـهً خڀٽُمي.
ټمد ٌټُود آوٵدً :ڀه و٭ًُ ؤٌ ټځمص فبد ٌټُ يف ٌٍخ خڀًَْ ,ؤُٹع ُٝلًَؽىد يف خڀًَوْ خؼبٹسځص ٬ځً
َئوْ خألٸالڂ ٴٹ٣؛ ڀٍخ وُـى ٸُخءش ٌٍخ خڀًَْ زعم٭هٍ وظًزُ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 329
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خڀٵهُْ:
Reflector
Reflexil
Deblector
-بٌخ دل ظٹُؤ خعبّجٌن خڀٕدزٹٌن ٴىىٝمٻ زٹُخءهتمد ٸسٿ خڀسًء زٹُخءش ٌٍخ خڀًَْ ټٍ
ظٕعى٬ر خػب٥ىخض زٙٽٿ ـًُ.
٬ -ىًڄد وٹىڂ حبٵ ٧خڀع٭ًَالض يف ڄځٳ ـًًَ َعڃ يف خػب٥ىش خڀعدڀُص ربمُٿ خؼبځٳ خعبًًَ
خؼب٭ًپ خڀٌٍ لٵ٩عً ڀځعى.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 330
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 331
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 332
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
٬ىً خڀًوىپ ڀإلـُخء خڀٕدزٷ والل ٧ڄٹدَوص زٌن ودظؿ ربىَٿ ٸُمعىد خؼبًوځص بذل Hexڄ ٫خڀٹُمص (: ) AT4RE = 4154345245
يبٽه ٌىد خٔعىًخڂ ظ٭ځُمص ٸٵّ ًٰن ُُ٘٤ص br.sبذل خڀٕ 38 ُ٥وڀٽىىد ٔىٕعىًڂ َُ٤ٹص ؤوُي؛ لُػ ٔى ٫١خؼبعمىپ Strزًپ خڀٹُمص
، 4154345245ٴعٝسك خؼبٹدَوص If Str = Str Then :وٌٍ ؿبٹٹص ٬ځً خڀًوخڂ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 333
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ټمد ظالل : ٧هبر ؤن َٽىن خڀى ٛخؼبًوٿ خټرب ڄه 10ؤَٸدڂ ( ) 11وخؼبعمىپ َٕ MasterIDدوٌ ، 2و٬ىًٌد َعڃ ؤوٍ خحملُٲ
ٌو خڀعُظُر ( ) 3وهبر ؤن َٕدوٌ ( ،) 1و خحملُٲ ٌو خڀعُظُر ( ) 7وهبر ؤن َٕدوٌ ( ( ، ) 5بٌخ و٠٭ىدٌڃ ـدور ز٭١هڃ
َىعؿ .) 15
خحلپ :
ٔى ٫١خڀٹُمص ( ) 1زًپ ( ... ) 2ؤىٱًن خؼبٕدوخش بذل ( ؤټرب ڄه ؤو َٕدوٌ ).
ٔىٕىً ٸُمص ڀځمُز ٫خڀى Txt3 ٍٝسبؽٿ َُٔدپ ٜمُك وٌٍ [ ( ] 00100050000خڀ٥ىپ = - 11خڀؽدڀػ = – 1خڀٕدز5 = ٫
):
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 334
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خِن بٔىدي ٸُمص ڀځمُز ٫خڀى ( Txt3 ٍٝخؼبُـ٭ُص ( + ) Ldarg.0ربمُٿ خؼبُز ٫خڀى + ) Ldfld ( ٍٝربمُٿ خڀى+ ) LdStr ( ٛ
بٔىدي خڀى ٛڀځمُز ٫خڀى: ) Set_Text ( ٍٝ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 335
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 336
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 337
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ٌىد وبدوپ خڀربودڄؿ ؤوٍ لُوٲ خالٔڃ ,وهبم ٫ٸُمص ڄىخٸ٭هد يف خؼبعمىپ ( ) Strبٌنً هبر خالوعسدي بذل ؤن َٽىن خالٔڃ ؿبعىَدً ٬ځً
لُٲ وخلً ڄه خڀٕځٕځص ( ٬ ) Strځً خألٸٿ؛ ألوً بٌ دل َٽه ؤلً لُوٲ خالٔڃ ڄىـىيخً يف خڀٕځٕځص Strٴ٭ىًٌد ٔعُـ ٫خڀًخڀص
InStrخڀٹُمص 0وزبُؾ َٔدڀص خػب٥إ :
ټمد ظالل ٧يف خڀٝىَش :خپَُٔدپ خڀٝمُك = خڀٹُمص خڀؽدزعص ( + ) D41543452452ٸُمص خؼبعمىپ Str4
Hex 41 54 34 52 45 D2
Ascii A T 4 R E -
وخِن ڀىمدوپ بهبدي خڀَُٕدپ ڀالٔڃ ( ) Robenزدٔعىًخڂ خؼبىٹك Deblectorوإلهبدي ٸُمص خؼبعمىپ : Str4
كبمٿ خڀربودڄؿ زدؼبىٹك ټمد ظ٭ځمىد ،وو ٫١وٹ٥ص ظىٸٳ ٬ىً خڀٕ , L_016b ُ٥مث وًوٿ خڀسُدودض يف خڀربودڄؿ؛ ڄؽالً :خالٔڃ :
، Robenخڀَُٕدپ 123456789 :و١ٱ ٣ز٭ًٌد َ Check Serialعىٸٳ خؼبىٹك ٬ىً وٹ٥ص خڀعىٸٳ خڀٕدزٹص.
وً٬ F10 ٣ٰٟش ڄُخض ووالل ٧يف خڀځىلص َ Autoٸمىد خؼبًوٿ زدؽبٽٓ :
313233343536373839 = 123456789
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 338
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
41543452452D7474
tt = 7474
.7.1زضاغ ١ايهٛز
ټمد ظالل ٧يف خڀٝىَش خڀعدڀُص :هبر ؤن َٽىن ٤ىپ خالٔڃ ، 12 :و٤ىپ خڀَُٕدپ 15 :
ز٭ًٌد َعڃ ؤوٍ ؤوپ 7لُوٲ ڄه خڀَُٕدپ وَعڃ ربىَځهد بذل ؤلُٲ ټسًنش :
وَعڃ سبَُُ خأللُٲ خڀٕس٭ص خڀٕدزٹص بذل خڀًخڀص ٠ GXمه خڀىلًش : GenR
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 339
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
هبر خالوعسدي ٌىد بذل ؤن ٌ Bufferى ڄٝٵىٴص ڄه خڀسدَعدض ظعُخوق ٸُمص ټٿ لً زٌن ( ) 255 – 000ؤٌ ټٿ لً ڄاڀٳ ڄه 3
ؤَٸدڂ ،و ڀٽه يف خڀَُدُ٠دض :خڀٝٵُ ٬ځً خڀُٕدَ ڄهمٿ ( ڄؽالً .) 004 = 4 , 078 = 78 :
خڀٕ ُ٥خڀعدرل َٹىڂ جبم ٫لًوي خؼبٝٵىٴص Bufferوَٵٝٿ زُىهد زىخٔ٥ص خڀ٤ُٙص ( ( -وَ٭ًُ ودظؿ خڀ٭مځُص ٬ځً ٘ٽٿ و: ٛ
ڄدٌخ ُٔمًغ ڀىدظؿ سبَُُ خغبُوٲ خڀٕس٭ص خألوذل ڄه خڀَُٕدپ بذل خڀًخڀص GX؟ ُٔعڃ سبٌَُُد ڀځًخڀص : MX
ڄدٌخ ربىٌ ٌٍي خڀًخڀص؟ وٌٍر ؽبد ووالل ٧ؤهند يخڀص ڄٹدَوص ڄ ٫خڀٹُمص StrMخؼبىـىيش يف : cctor
يٴ ٫خغبُوٲ خڀٕس٭ص خألوذل ڄه خڀَُٕدپ ؽبدُ٘ىٯ َ SHA1ىعؿ ٔځٕځص وُٝص َٵٝٿ زٌن لًويٌد خپُ٘٤ص ( ) -
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 340
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
StrM 42 188 186 87 233 121 71 98 89 137 97 189 95 81 67 144 126 237 155 44
Repair 042 188 186 087 233 121 071 098 089 137 097 189 095 081 067 144 126 237 155 044
RESULT 042188186087233121071098089137097189095081067144126237155044
-وڀٽه ټمد و٭ځڃ ٴةن خپـ SHA1ظىعؿ ٸُمص ڄه خڀىى Hex ٪بٌنً ڀىمىپ Resultبذل Hexڄه والپ : SnD RT
خڀٕاخپ خؼبُ٥وق ٌى :ڄد ٌٍ خغبُوٲ خڀٕس٭ص خڀٽسًنش خڀيت ٌد٘هد زـ ٌ SHA1ى ..… abcba2 :؟
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 341
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
لٹُٹص ڀإلـدزص ٬ه ٌٍخ خڀٕاخپ َځّڄىد خٔعىًخڂ ظٹىُدض خڀـ ) Brute Force Attack ( BFAؤو ڄد َ٭ُٲ زدٔڃ خؽبفىڂ خڀ٭ٙىخجٍ
.
و َ٭ين ٌىد :ذبَُر صبُ ٫خڀٽځمدض خؼباڀٵص ڄه 7لُوٲ و٬مٿ ٌدُ٘ىٯ SHA1ؽبد ،وڄٹدَوص خڀىدظؿ ڄ ٫خؽبدٖ خڀٌٍ ڀًَىد.
ايططٜك ١اٍعاز١ٜ
-وٵعك زُودڄؿ Cainووعىـً بذل خڀٝٵمص ( : ) Cracker
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 342
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
٩َ -هُ ڀىد ڄُز ٫لىخٌَ وًوٿ ٠مىً خؽبدٖ خڀٌٍ ڀًَىد :
abcba57e9794762598961bd5f5143907eed9b2c 2
-ٴًَُؾ خؽبدٖ خڀٌٍ ڀًَىد ٠مه خڀٹدجمص ،خِن و١ٱ ٣زَّ خڀٵإَش خأليبه ولبعدَ : Brute Force Attack
: Minيبؽٿ ؤٜٱُ ٤ىپ ڀځٽځمص خؼبُخي خڀسمػ ٬ىهد ) ټىن خڀٽځمص ڀًَىد ڄاڀٵص ڄه 7لُوٲ بٌن ٔ :ىف٭ځهد . ( 7
: Maxيبؽٿ ؤټرب ٤ىپ ڀځٽځمص خؼبُخي خڀسمػ ٬ىهد ) ټىن خڀٽځمص ڀًَىد ڄاڀٵص ڄه 7لُوٲ بٌن ٔ :ىف٭ځهد ؤَ١دً . ( 7
-ټىن ټځمعىد ظُمىپ بذل ؤلُٲ ټسًنش :ٴهٍ بڄد ؤلُٲ ټسًنش ٴٹ ٣ؤو ؤلُٲ ټسًنش وؤَٸدڂ ؤو ؤلُٲ ټسًنش وؤَٸدڂ وَڄىِ.
-ؤىسًؤ خؽبفىڂ زداللعمدپ خألٸٿ ( ؤلُٲ ټسًنش ٴٹ ( ٣وبٌخ دل َٵځك وىعٹٿ بذل خاللعمدپ خڀؽدين ٴدڀؽدڀػ .
َٕ : Customعىًڂ بٌخ ټىط ٬ځً ٬ځڃ دبد ٸً ظعٽىن ڄىً خڀٽځمص ،ؤو بٌخ ؤَيض زبمٌن ز٭ ٟخڀٽځمدض؛ ڄؽالً:
( ) AT4REROBENDOTNETEXPERT4وبٌخ قبك زبمُىٻ ٴٕعٝٿ بذل خڀٽځمص خڀٝمُمص زُٕ٬ص .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 343
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-وڀٽىىد ٔى٭عمً ؤوالً خؼبسًؤ خڀعٹځًٌُ ألوً خألمشٿ ،ٸڃ دبٿء خغبٹىپ ټمد يف خڀٝىَش :
-هبر خالوعسدي بذل ؤن ڄ٭ًپ خڀُٕ٬ص وخڀىٸط خؼبعسٹٍ ىبعځٳ ڄه ـهدِ بذل آوُ لٕر ڄىخٜٵدض ټٿ ـهدِ.
-ز٭ً ڄ ٍ١لىخرل ( 30يٸُٹص ) مت خټعٙدٲ خڀٽځمص خؼبٹدزځص ڀځهدٖ خؼبًوٿ ،وٌٍ ( : ) ROBENET
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 344
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-ؤ ً٬بيودپ خؽبدٖ ټمد ٴ٭ځىد ڄٕسٹدً مث َِ خڀُمٌن وخوعُ Brute Force Attackوخڀٵُٶ خڀىلًُ ٌىد ؤوىد ٔىٽعر خڀٕځٕځص
( ) AT4REROBENDOTNETEXPERT4يف خغبٹٿ Customټمد يف خڀٝىَش مث : Start
-والل ٧خټعٙدٲ خڀٽځمص زُٕ٬ص وؤن خؼبًش ٸً ظٹځٝط خؼبًش بذل ( 3ؼىخنٍ ) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 345
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وٙٱٿ خؼبځٳ خڀًٴ٭ٍ RunMe.Batووٽعر خألڄُ خڀعدرل ( ) Shabrمث Enterڀځع٭ُٲ ٬ځً زدَخڄُعُخض خڀربودڄؿ وَُ٤ٹص خٔعىًخڄً
:
خټعر ٔ ُ٥خألوخڄُ خڀعدرل مث خ٠ٱ( Enter ٣بٌخ ټدن ـهدِٺ ڄعىخ٠٭دً ٸځٿ خڀـ tڄؽالً :بذل 2ؤو : )4
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 346
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ً ڄ ٍ١لىخرل ( 600ؼدوُص لىخرل 10يٸدجٷ ( وـً خڀربودڄؿ خڀٽځمص خؽبًٲ وٌٍ : ROBENET
ظ٭ځُٷ:
خٔعٱُٶ Shabrؼځػ خؼبًش خڀيت خٔعٱُٸهد ( Cainوڀٽه خٔعىًخڄً ڀٍخټُش خعبهدِ ؤټرب ).
خٔعٱُٸط َُ٤ٹص خڀعىمٌن 3ؼىخنٍ ٴٹ ,٣وڀٽه ٌٍخ خألڄُ ال َىفك يخجمدً.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 347
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڀىًوٿ بذل خڀًخڀص وڀىُي ڄدٌخ َٵ٭ٿ زدالٔڃ؟ ( ال ل ٧خڀُٙق ٬ځً خڀٝىَش ) :
بٌخ يوځىد بذل خڀًخڀص ٔ G2Xىفًٌد وٵٓ ظٹىُص خڀعمىَٿ خڀيت ظٽځمىد ٬ځُهد ٔدزٹدً ( ڄٝٵىٴص َٵٝٿ زُىهد ُ٘٤دض ) وڀٽه زًون ٌدُ٘ىٯ
:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 348
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڀىمىپ Str4ټمد ظ٭ځمىد ( لٍٲ خڀ٤ُٙدض وب٠دٴص خألٜٵدَ ) َىعؿ ڀىد :
050069054069054053055052052053055056055048051052050068053057054053055051052 055054070052068054049054069
بٌن خڀٹٕڃ خؼب٭ځڃ زدألَِٶ ٌى خغبُوٲ خڀعٕ٭ص خألوذل ڄه خالٔڃ خؼب٭ُٲ Str5 = 2E6E6574457870342D :
)Str5(Hex E2 E6 65 74 45 78 70 34 D2
ASCII . n e t E x p 4 -
Result .netExp4-
خػبالٜص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 349
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خالٔڃ خؼب٭ُٲ ڄٽىن ڄه -netExp4. :ڄ١دٲ بڀُهد ؤٌ 3ؤَٸدڂ ( ڄؽدپ .) netExp4- 001 …. .netExp-478. :
ڀىًوٿ بذل خڀًخڀص G4Xوڀىٙدًٌ ڄد ظٵ٭ځً زدغبُوٲ خڀؽمدوُص خألوًنش ڄه خڀَُٕدپ ( الل ٧خڀُٙق ٬ځً خڀٝىَش خڀعدڀُص ) :
هبر خالوعسدي ٌىد بذل ؤن خڀًخڀص StrInظ٭ًُ ڄىٸ ٫ؤوپ ٬ى ُٝڄ٥دزٷ ( يف لدپ ټدن ٌىدٺ ؤټؽُ ڄه ٬ى ُٝڄ٥دزٷ ڄؽٿ .) 0,1,9,7 :
: 0ڄىٸ٭ً = 1
: 1ڄىٸ٭ً = 4
: 7ڄىٸ٭ً = 11
: 8ڄىٸ٭ً = 2
: 9ڄىٸ٭ً = 3
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 350
AT4RE :انفريك انعرتي نههُذسح انعكسيح ™انذود َد . خطىج إنى األياو:انهُذسح انعكسيح
.) 1789 ( ٽٿ خغبُوٲ خػبمٕص خألوذل ڄهٙ ؤى،ًٱُ ٸُمعٝٵُ ڀٝبٌن ٔىٕعس٭ً خڀ
.) 8 : خڀٹُمص: ًٱُ ٸُمص ( ڄؽالٜعسدَود ظٽُخَ ؤ٬ زد٫١ىخجٍ هبر ؤن وٙ٬ ٽٿٙبٌخ ؤَيود ظىڀًُ خڀُٸڃ ز
. 88899179 : وڄؽٿ،)9 , 1, 7 ( ټسًن؛ ڄؽٿ٫يف خغبُوٲ خڀؽالؼص خڀسدٸُص ٔىمعدؾ ؤَٸدڄدً ٌخض ڄىٸ
.) 179 (ؼالؼص ؤَٸدڂ ڄاڀٵص ڄه خألَٸدڂ+ ) 1789 ( طبٓ ؤَٸدڂ ڄاڀٵص ڄه خألَٸدڂ+ ) ROBENET ( خڀَُٕدپ ڄاڀٳ ڄه
: وخټعر خڀٽىي خڀعدرل،) BtnGen ( وَِخً زدٔڃ،) TXTN – TXTS ( زدٔڃٛدء ڄُز٭ٍ وٙ ٸڃ زةو-
Function RandomX( IntIn: Integer ): String;
Const
StrArry1 : Array [0..3]Of String = ('1','7','8','9');
StrArry2 : Array [0..2]Of String = ('1','7','9');
StrArry3 : Array [0..9]Of String =('0','1','2','3','4','5','6','7','8','9');
Var Str: String; I : Integer;
begin
Str:= '';
Randomize;
if InTIn = 5 Then
begin For I:= 1 To 5 Do
Begin
Str := Str + StrArry1[Random(4)];
End;
Result := Str;
End
Else If InTIn = 31 Then
begin For I:= 1 To 3 Do
Begin
Str := Str + StrArry3[Random(9)];
End;
Result := Str;
End
Else If InTIn = 32 Then
begin For I:= 1 To 3 Do
Begin
Str := Str + StrArry2[Random(2)];
End;
Result := Str;
End;
End;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 351
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
يف خغبٹُٹص لدوڀىد خوعٝدَ خڀٽىي ؤټؽُ ( ز ٢ُٙظىڀًُ ٸُمص ٙ٬ىخجُص ) ،وڀٽىىد دل وعىٜٿ بذل َُ٤ٹص ؤٸ ُٝڄه ٌڀٻ.
ڄه ڀًًَ َُ٤ٹص ؤٸ ُٝڄه ٌڀٻ ٴځُٙدَټىد هبد ڀىعىدٸٗ لىؽبد .
-وعمىن ؤن ظٽىوىخ ٸً خٔعمع٭عڃ وخٔعٵًمت ڄه ٸُخءش ٌٍخ خڀًَْ ،ووُـى ڄه خهلل ظ٭دذل ؤن هب٭ځً ودڀٝدً
ڀىـهً خڀٽُمي .
-بٌخ ټدن ڀًَٽڃ ؤٌ خٔعٵٕدَخض ؤو ؤٔحځص وُـى ُ٤لهد حبَُص ،ؤىٕ٭ً زدإلـدزص ٬ىهد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 352
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ُٔٽىن ٌٍخ خڀًَْ دبؽدزص ظ٥سُٷ ٬مځٍ ؼبد ظ٭ځمعً ٔدزٹدً ٬ه ربځُٿ زُخڄؿ خڀًوض وط ،وڀىسًؤ ٬ځً زُټص خهلل :
Reflector
Deblector
Comm Operator
كبمٿ خڀربودڄؿ يخوٿ زُودڄؿ Reflectorمث وىعٹٿ بذل خڀ٭ٹًش CommOpوعٝٵك خڀ٭ىدوَهُٔ ,فٍذ وُ٩ود ڄسدُ٘ش خڀ٭ىىخن :
RegisterFormوًوٿ بڀًُ ووعٝٵك خإلـُخءخض زًخوځً ،قبً ؤظبدء خإلـُخءخض ڄٙى٘ص ,ال زإْ وعٝٵمهد زدڀعُظُر ,وَعىٸٵىد ٌٍخ
خإلـُخء :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 353
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وٌى ميؼٿ خإلـُخء خؼبٕعىًڂ ٬ىً خڀ١ٱ٬ ٣ځً خڀَّ Registerووُي َٔدڀص خڀعٕفُٿ خڀٝمُك ؤَدڀص خػب٥إ :
يبٽه بهبدي خڀَُٕدپ ؽبٍخ خڀربودڄؿ زععس ٫خإلـُخءخض خؼبٕعىًڄص ،وڀٽه ٌٍخ ڀُٓ ًٌٲ
خڀًَْ٬ ,ځً خڀ٭مىڂ ٔىٹًڂ ٠ُ٬دً َُٔ٭دً ؽبٍي خڀَُ٥ٹص يف هندَص خڀُٙق.
كبمٿ خإل٠دٴص Deblectorڄه خڀٹدجمص Toolsوخڀيت ٔعٹىڂ زًوَ خؼبىٹك يف زُؾبُدض خڀًوض وط :
٨هُ ڀىد َُ٘ ٣خأليوخض خػبد ٚزدؼبىٹك يف خأل٬ځً ,وڀىلدض خڀربودڄؿ يف خعبّء خڀٕٵځٍ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 354
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 355
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
)3و ٫٠وٹ٥ص ظىٸٳ ٬ىً ظ٭ځُمص ڄ٭ُىص ڀععسًٔ ٫ن خڀ٭مځُص ( هبر خالوعسدي بذل ؤن خؼبىٹك هبر ؤن َٽىن يف لدڀص ظىٸٳ ڄاٸط
ڀععمٽه ڄه و ٫٠وٹ٥ص ظىٸٳ ،ويبٽه خڀ١ٱ٬ ٣ځً َِ خڀعىٸٳ خؼباٸط Pauseڀى ٫٠وٹ٥ص ظىٸٳ ؤؼىدء ظٙٱُٿ خڀربودڄؿ ).
يف ڄؽدڀىد ٔى ٫١وٹ ٣ظىٸٳ ٬ىً زًخَص بـُخء خڀ١ٱ٬ ٣ځً خڀَّ ٬ Registerىً خڀٕ L0000 ُ٥زى ٫٠خؼباُ٘ يف خڀځىلص IL Viewمث
خڀ١ٱ٬ ٣ځً َِ وٹ٥ص خڀعىٸٳ ؤو خڀ١ٱ٬ ٣ځً خؼبٵعدق : F9
-خِن و٥ځٷ خؼبىٹك زدڀ١ٱ٬ ٣ځً ) F7 ( Startووًوٿ َٸڃ ظٕفُٿ ڄ٭ٌن ،وڀُٽه 1234567890مث و١ٱ٬ ٣ځً َِ خڀعٕفُٿ
.Register
َ -عىٸٳ خؼبىٹك ٬ىً خڀٕ L0000 ُ٥ڀألٔٳ Deblectorڄىٹك ظٵعٹُ بذل خؼبُووص ،وٌىدڀٻ ـىخور وٹ ٛټؽًنش ٴًُ ،وٌٍخ ؤڄُ ٤سُ٭ٍ
ٴهى ڄد َّخپ يف ٤ىَ خڀع٥ىَُ.
-خ٠ٱ٬ ٣ځً F11ؤټؽُ ڄه ڄُش ڀځًوىپ ٠مه خالٔعً٬دء خڀٌٍ ظًَُي ،ټمد يبٽىٻ خٔعىًخڂ خألڄُ Step Outڀځىُوؾ خڀَُٕ ٫ڄه
خإلـُخء خغبدرل.
َ -٭عرب ب٠دٴص وٹ ٣ظىٸٳ ڄًَؤص ٬دڄالً ڄهمدً يف ظىٹُك ـًُ ويٸُٷ ڀځربودڄؿ ،وَس٭ًٺ ٬ه خڀًوىپ يف ُٙ٬خض خألٔ ُ٥ڄه خڀٽىي.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 356
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-ز٭ً ظىٸٳ خؼبىٹك ٬ىً خڀٕ L0000 ُ٥و١ٱً٬ F11 ٣ي ڄه خؼبُخض ،وًوٿ ز٭ًٌد بذل بـُخء ٴًُٰ ( ٍ٬ن ٌدڂ زدڀىٕسص ڀىد ) ,خٔعىًڂ
خِن خڀَّ Step Outڀځىُوؾ ڄه خإلـُخء خغبدرلٔ ،عًوٿ يف بـُخء ـًًَ ؤَ١دً ًٰن ڄهڃ ٌىد ،خ٠ٱ Step Out ٣ڄُش ؤوُي ,خٴ٭ٿ
ٌڀٻ ڄُش ؤوُي ،و٬ىًٌد ٔى٭ىي بذل بـُخءود خڀُجٍُٕ.
-ټمد ظاللَ ٧ٹىڂ خڀربودڄؿ دبٹدَوص خڀٽىي خؼبًوٿ Codeڄ ٫ڄٝٵىٴص ڄه خڀٹُڃ ،ويف لدپ خڀع٥دزٷ َ٭ًُ خڀٹُمص ، Trueڀىفُذ
بلًي خڀٹُڃ ،وڀُٽه :
ALODH-74NXF-J02I9-3AUOQ-9QE5S
والل ٧ؤن خڀربودڄؿ ٸسِٿ خڀُٸڃ وؤٜسك ڄٕفالً زدڀٽدڄٿ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 357
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-لٹُٹص ڄد ؤ٬فسىد ٌى خڀَُٕدپ َ ILoveSPT :سًو ؤن ڄربؾبىد َعڃظ ٫حبٓ خڀٵٽدٌص :
Reflector
Reflexil V 0.9 ( Reflector
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 358
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
خ٠ٱ ٣خڀَّ ( ) Add pdf Fileوخوعُ ڄځٵدً حبُػ َٽىن لفمً ؤټؽُ ڄه 100ټُځىزدَط٬ ،ىًٌد ًٔنٴ ٟخڀربودڄؿ بيَخؾ خؼبځٳ
ؤُىربٺ زإن خڀىٕىص خڀعفَُسُص ؿبًويش زـ 100ټُځىزدَط ٴٹ: ٣
وى٥ځٷ خِن بذل زُودڄؿ Reflectorووٕٹ ٣خؼبځٳ زًخوځً ( خڀربودڄؿ ڄُٴٷ ) ،لبعدَ خؼبځٳ مث و١ٱ٬ ٣ځً ؤڄُ خڀسمػ ،ولبعدَ خڀَّ
Search Stringsووًوٿ خڀٽځمص Trialخؼبىـىيش يف خڀُٔدڀص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 359
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
وـً ڀىد خڀربودڄؿ ٬ىَُٝه وبعىَدن ٬ځً خڀٽځمص Trialخڀيت ظٵًُ زإن خڀىٕىص ذبَُسُص ،ڀىًوٿ بذل خڀ٭ىm ُٝ
مث و١ٱ ٣زٙٽٿ ڄّيوؾ ٬ځً ٩ُٔ m: voidهُ ڀىد خڀٽىي ټدڀعدرل :
بٌخ ٸُؤض خڀٽىي ـًُخً ٔعالل ٧ؤن ٸُمص خؼبعٱًن ( ٌٍ ) Lڄه ربًي ؤن خڀىٕىص ذبَُسُص ؤڂ ال؟
ال لٌ ٧ىد :بٌخ ټدوط ٸُمص L = Trueٴدڀربودڄؿ وٕىص ذبَُسُص ،ؤڄد بٌخ ټدوط L= Falseٴدڀربودڄؿ وٕىص ڄٕفځص.
ڀى١ٱ٬ ٣ځً خؼبعٱًن Lؼب٭ُٴص ؤَه ظٕعىً ڀً خڀٹُمص ،ز٭ً خڀ١ٱ ٣وىٹُ زَّ خڀٵإَش خأليبه ولبعدَ خألڄُ : Analyze
لبعدَ ڄه خڀځىلص Analyzeخڀ٭ٹًش Used Byڀىععس ٫وڀى٭ُٲ ؤَه َٕعىًڂ خؼبعمىپ؟ وؤَه ظٕعىً ڀً خڀٹُمص True or False؟
خوعُ خألوپ B.Ctorزدڀ١ٱ٬ ٣ځًُ زَّ خڀٵإَش خأليبه وخوعُ ڄه خڀٹدجمص . Goto to member
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 360
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
لځُٿ ،وپن
ڀرشٌ دلًَِ ڄه خپض
يف خحلٶٌٶش ي ٌ خ خإلؾَخء ي و ڂٸٛي ود ،و ميټىٻ خال٢ال ٬ ٪ٿي خ ٶ
نيوٿ بڀًُ خ قظً ال ٌ٤ىپ خڀَٗق.
٬ىً خڀًوىپ ڀإلـُخء ٔعالل ٧ټُٳ َعڃ بٔىدي ٸُمص خدلربىپ Lزىدء ٬ځً ُ٘ ٢ڄٕسٷ :
َٽٵُىد ٬ٽٓ خعبمځص خڀُ٤ُٙص ڀُٝسك خڀربودڄؿ ڄٕفالً زدڀٽدڄٿ ،ؤىٕعىًڂ ٌىد خأليخش خؼبٕدً٬ش Reflexilوٌٍ بلًي ب٠دٴدض
خڀربودڄؿ ، Reflectorوٵعك خإل٠دٴص ڄه خڀٹدجمص : Tools
َ٭رب ٬ه خڀ ٢ُٙخڀٕدزٷ زدڀځٱص خڀىُٔ٥ص ( ) ILزدإلـُخء brtrue.sوخڀٌٍ َ٭ين زُؾبُدً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 361
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
True
Else
False
وڀ٭ٽًٕ هبر خٔعىًخڂ خإلـُخء brfalse.sوَ٭ين زُؾبُدً :
ٔعفً خإلـُخء brtrue.sيف خڀٕ 011 ُ٥و١ٱ٬ ٣ځًُ زدڀَّ خأليبه ولبعدَ خألڄُ : Edit
لبعدَ ڄه خڀٹدجمص خؼبهًٔڀص OpCodeمث لبعدَ خإلـُخء brfalse.sمث و١ٱ: Update ٣
خِن ٔىىعٹٿ بذل لٵ ٧خڀعٱًنخض ڄه والپ خوعُدَ خڀربودڄؿ ڄه خڀٹدجمص خڀُمىن مث خوعُدَ خألڄُ Save asڄه ڀىلص خإل٠دٴص :
ڀىفُذ خؼبځٳ خؼب٭ًپ خِن AdvancedPdfProtector.Patched.exeؤىىعدَ ڄځٳ Pdfلفمً ؤٺزُ ڄه 100ټُځى ( دل
ظ٭ً ظ٩هُ خڀُٔدڀص ) قبُذ ؤَ١دً خألڄُ ( Protect Pdf Fileمت خڀ٭مٿ زىفدق ) .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 362
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
الق٨ىد يف خڀربودڄؿ ؤن ؤظبدء خڀُ٥ٶ وخإلـُخءخض وخؼبعٱًنخض فبىٌص ( ) a,b , .. L, Kوٌٍخ ألن خڀربودڄؿ ؿبمٍ زىخٔ٥ص زُودڄؿ خڀعٙىَٗ
( . ) dotfuscator
Reflector
Delphi 7
ڀىٵعك خڀربودڄؿ زدٔعىًخڂ زُودڄؿ Reflectorمث وًوٿ بذل خؼبځٳ ووعٵك ٚخڀربودڄؿ.
خيوٿ بذل خڀ٭ٹًش AutoPPt Graphؤعفً خإلـُخء lnRegs_Clickخ٠ٱ٬ ٣ځًُ وڀىععس ٫ڄد وبًغ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 363
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ټمد ظاللٌ ٧ىدٺ ڄٹدَوص زٌن َٸمٌن ووعُفص خؼبٹدَوص ربًي ٴُمد بٌخ ټدن خڀعٕفُٿ ٜمُمدً ؤڂ ال؟
بٌن خؼبٹدَوص ظعڃ زٌن خؼبعٱًنَه txtLicو TheRightوڀٽه ڄد نبد ٌٍخن خؼبعمىالن؟
الل ٧يف خڀځىلص خڀُٕدََص ٌىدٺ خإلـُخء CreateRegوٌى ڄؽًن ڀالٌعمدڂ ڀىًوٿ ووُي ڄد وبعىًَ :
ټمد ظاللَ ٧ٹىڂ ٌٍخ خإلـُخء حبٕدذ خڀُٸڃ خؼب٭ُٲ ڀځفهدِ ڄه والپ خڀًخڀص Randomوَٙٽٿ ڄٵعدقخً ڄ٭ُٴدً ٬ځً خڀٙٽٿ :
( الل ٧خڀٕ) str ُ٥ XXXX-XXXX-XXXX
ز٭ً ٌڀٻ ٌٸىڂ زعىَّه ٌٍي خڀٹُمص يف خڀُهبٕعٌُ يف خؼبٵعدق خڀٵُ: RegKey ٍ٬
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 364
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ڀى١ٱ٬ ٣ځً خؼبعٱًن TheRightڄه خإلـُخء lnRegs_Clickووُخٸر ټُٳ َعڃ لٕدذ ٌٍخ خؼبعٱًن :
َ )1اوٍ خڀُٸڃ خؼب٭ُٲ RegKeyوظّخپ ڄىً خڀ٤ُٙص ( ) -ووبىپ بذل ڄٝٵىٴص ڄه ؼالؼص لًوي يف لدڀعىد:
ڀى٥سٷ ٬ځً خغبًوي خڀؽالؼص ڄ ٫خالوعسدي بذل ؤوً خڀُٸڃ خڀٝمُك ٴٹ ( ٣الل: ) as integer ٧
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 365
AT4RE :انفريك انعرتي نههُذسح انعكسيح ™انذود َد . خطىج إنى األياو:انهُذسح انعكسيح
//-----------------------------------------------------
//----------------------------------------------------
Keygenning DotNet Targets ) 2( ٘إقالسٚ زٛت ْت َٔ ر الٍ ْػذ ايهٚكات ايسٝذٔ يتطبٝ عٌُ ن.4
. بذل خڀځٱص خڀربؾبُص خڀيت لبعدٌَدOpCode ڄُّش ڄهمص ڄه والپ ربىَٿ خڀٽىي ڄهReflector َىٴُ ڀىد زُودڄؿ
مه زُحص خڀربؾبص٠ ًٹٝسُٹدض خڀًوض وط ڄه والپ وٕه خڀٽىي وڀ٥َُٹص ټعدزص ټُفه أللً ظ٤ ٔىمدوپ والپ ٌٍخ خڀًَْ ُ٘ق
. خؼبىخٴٹص ڀځٽىي خؼبىٕىن
Reflector
Reflexil
SharpDevelop
Doc Tray
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 366
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
٬ -ىً ظٙٱُٿ خڀربودڄؿ ظ٩هُ ڀىد َٔدڀص ظٵًُ زإن ٜاللُص خڀىٕىص ٸً خوعهط ،وَسًو ؤن خؼبربڄؿ ٸَُ ؤن ظ٭مٿ خڀىٕىص لىت ظدََه ڄ٭ٌن :
-ڀىسًؤ زعمځُٿ خڀٽىي ڄه والپ زُودڄؿ ٔ , Reflectorىًوٿ يف ڄُز ٫خڀسمػ خڀٽځمص expiredڀىُي ؤَه مت خٔعىًخڄهد؟ ( ال ظىٓ
خوعُدَ خڀَّ : ) Strings Search
-وًوٿ بذل خإلـُخء Form1_Loadؤىالل ٧ؤن خؼبربڄؿ لًي ٬مٿ خڀىٕىص ٸسٿ ٬دڂ ٔ 79D (hex)= 2009ىٹىڂ زدٔعىًخڂ
خإل٠دٴص Reflexilڀعٱًُن خڀ٭دڂ بذل 2020ڄؽالً.
-وٵعك خإل٠دٴص ووى ُ٩يف Operandوقبً خڀٹُمص ٬ 2009ىً خڀٕ: 054 ُ٥
-و١ٱ٬ ٣ځً خڀٹُمص زدڀُمٌن ولبعدَ خألڄُ Editمث كبَُ خڀٹُمص بذل 2020ڄؽالً وو١ٱ: Update ٣
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 367
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-وٱځٷ خؼبځٳ خڀٹًمي ,زدوعُدَي مث خڀَّ خأليبه مث , Closeوكبمٿ خؼبځٳ خؼب٭ًپ . DocTray.Patched.exe :
-وٙٱٿ خؼبځٳ خؼب٭ًپ ،ووالل ٧ؤن خڀُٔدڀص خوعٵط وؤن خڀربودڄؿ و ٫٠جبىخَ خڀٕد٬ص ،وإيت خِن ڀ٭مځُص ظٕفُٿ خڀربودڄؿ ،لبعدَ ڄه
خڀٹدجمص خألڄُ : Register Doc Tray
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 368
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
ُ -نيوٿ ؤٌ َٸڃ ظٕفُٿ وڀُٽه 1234567890يف خغبٹٿ Unlock Codeمث و١ٱ Register ٣و٬ىًٌد ٔع٩هُ خڀُٔدڀص :
Invalid Registration Code
-و١ٱ٬ ٣ځً syscode3ڀىسمػ ٬ه ڄُـ٭ُعً وڄٽدن خٔعىًخڂي ( َإوٍ خألڄُ ز٭ ٟخڀىٸط ،ټه ٜسىَخً!! )
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 369
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-خغبًغ خألوپ ال َهمىد ( ألوىد ټىد زًخوځً ٸسٿ ٸځُٿ ) ،خغبًغ خڀؽدين ٌى خؼبهڃ Form1_Loadڀىًوٿ بڀًُ زدڀ١ٱ ٣زدڀَّ خأليبه مث
٬ځً Goto To Memberووعٝٵك خڀٽىي ( ڄالل٩ص :وى ٪ڀٱص خڀربؾبص .) Visual Basic
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 370
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
-ڀىُي ڄد هبر ٬ځُىد ظٱًني يف خڀٽىي ( ڀٱص خڀربؾبص ٔ – Visual Basic .netىٕعىًڂ خڀربودڄؿ SharpDevelopڀٽعدزص خڀٽُفه
):
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 371
AT4RE انفريك انعرتي نههُذسح انعكسيح: انذود َد™ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 372
الباب السادس :حتليل تطبيقات اجلوال
373
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ انجىال انهُذسح انعكسيح :خطىج إنى األياو.
َ .1كسَ١
َ٭عرب ٬ددل ټُٕ ظ٥سُٹدض خعبىخپ ـًًَ نٔسُدً ڄٹدَوص زٽُٕ زُخڄؿ خڀٽمسُىظُ ،ڀٍڀٻ ٔعالل ٧خوعالٴدً زٌن خأليوخض خؼبٕعىًڄص ڀٽُٕ
زُودڄؿ ټمسُىظُ ڄ ٫خأليوخض خؼبٕعىًڄص ڀٽُٕ ظ٥سُٷ خعبىخپ.
وڀځسًء يف ٌٍخ خؼبى٠ى ٪وىٝمٻ زٹُخءش ٌٍخ خؼبٹدپ ،وٌى ڄه ؤلٕه ڄد ټعر يف ټُٕ ظ٥سُٹدض خعبُٿ خڀؽدين ڄه خعبىخپ.
ؤَ١د كبر ؤن نوىي بذل ؤن ٌىدٺ ٴُٸدً ټسًنخً زٌن ټُٕ ظ٥سُٹدض خعبُٿ خڀؽدين وزٌن ټُٕ ظ٥سُٹدض خعبُٿ خڀؽدڀػ وخڀـ . Pocket PC
ؤعاللٌ ٧ڀٻ ٬ىً خڀىٜىپ بذل ٌٍي خعبّجُص يف خڀٽعدذ بن ٘دء خهلل .ؤڄد خِن ٴىمه ٔىع٭دڄٿ ڄ ٫خعبُٿ خڀؽدين.
)1ربٌٕن ٸًَخض زُودڄؿ IDAو٠س ٣بً٬خيخظً ڀععالءڂ ڄ ٫ڄ٭دعبدض ARMوٌٍ خػبدٜص زدعبىخالض.
)2خٔعٱالپ خؼب٭ځىڄدض خڀيت ٔىمٝٿ ٬ځُهد ڄه ڄځٳ خڀَُٕىَْ خدلوـىي ڄ ٫خڀربودڄؿ ڀعمًًَ خؼبٽدن خڀٝمُك ڀځهفىڂ ٬ځًُ.
مث خٔعسًخپ خڀـ IDSخؼبىـىي يف زُودڄؿ ، IDAولىت ال وبًغ و٥إ خٸُؤ ڄځٳ خڀـ readme.txtخؼبىـىي ڄ٭هڃ ڀعع٭ُٲ ٬ځً
خؼبٽدن خڀٝمُك خڀٌٍ هبر و٠٭هڃ ٴًُ ڄ ٫خڀربودڄؿ.
ٌٍ ضبدَص ِڄىُص٬ ،ىً ٴعك خڀربودڄؿ زبربٺ زإن خڀربودڄؿ ذبَُيب ؼبًش 3ؤَدڂ مث ظىعهٍ خؼبًش خڀعفَُسُص ،وظ٩هُ ڀىد َٔدڀص ڄّ٬فص ظ٥دڀر
زعٕفُٿ خڀربودڄؿ ،وال يبٽه ظٙٱُٿ خڀربودڄؿ ز٭ً ٌڀٻ بال ز٭ً خڀعٕفُٿ :
ؤَ١دً َىـً ضبدَص ؤوُي ٬ځً خڀربودڄؿ ٬ىً ٬مٿ Saveلُػ ؤوً ال َٹىڂ حبٵ ٧ؤٌ ڄځٳ ـًًَ بال يف خڀىٕىص خؼبٕفځص.
خِن ٔىٲ وٹىڂ زدوعُدَ Register applicationؤىمدوپ ظٕفُٿ خڀربودڄؿ زإٌ َٸڃ ڀٽٍ كبٝٿ ٬ځً َٔدڀص خػب٥إ ،وخڀيت ڄه
والؽبد ُٔمٽىىد ڄهدصبص خڀربودڄؿ :
ٔعالل ٧ؤوً ٸً ؤ٨هُ َٔدڀص ٜىظُص مث ٬دي بذل وٵٓ خڀىدٴٍش خؼبّ٬فص خڀٕدزٹص.
وٹىڂ خِن زدڀ٭ىيش بذل خعبهدِ وؿبدوڀص ٴٻ ڄځٳ خڀـ SISخػبد ٚزدڀربودڄؿ خڀ١مُص ،ؤىٲ وٕعىًڂ ؽبٍي خؼبهمص زُودڄؿ
: UnMakeSIS
ٔعالل ٧ؤوً َعڃ ٴٻ ڄځٵدض خڀربودڄؿ ٬ځً 4ؾبځًخضٔ ،ىًوٿ بذل خجملځً appsولبعدَ خؼبځٳ خؼبىعهٍ زـ app.ألن ٌٍخ خؼبځٳ ٌى
ڄځٳ ظٙٱُٿ خڀربودڄؿ يخوٿ خعبىخپ :
لٕىد ٔىسًؤ خِن ظٙٱُٿ خڀربودڄؿ يف IDAوؿبدوڀص خڀسمػ ٬ه ؤٌ ٍ٘ء ٌدڂ يف خڀـ Stringخػبدٜص زدڀربودڂؾ :
ڀألٔٳ ال َىـً ؤٌ ٍ٘ء ٌدڂ ٌىد يبٽىىد ڄه والڀً خڀىٜىپ بذل ڄٽدن بِخڀص ٌٍي خڀىدٴٍش خؼبّ٬فص!!
ڄدٌخ ٔىٵ٭ٿ؟ ټُٳ ٔىٝٿ بذل ڄٽدن خڀعمٹٷ ڄه خڀعٕفُٿ و ُٞ٬خڀُٔدڀص خؼبّ٬فص ز٭ً خوعهدء خؼبًش خڀعفَُسُص؟
ٔعالل ٧جبىخَ ڄځٳ خڀربودڄؿ ڄځٵدض ؤنَي ظىعهٍ زـ rsc.وڄه خظبهد َعسٌن ؤهند ڄځٵدض خڀَُٕىَْ خػبدٜص زدڀربودڄؿ ،بٌن ٴدڀربودڄؿ
َٹىڂ زدٔعًنخي ؤٌ َٔدجٿ ظ٩هُ ٴًُ ڄه والپ ٌٍي خؼبځٵدض ،وال َعڃ لٵ ٧خڀُٔدجٿ يخوٿ خڀربودڄؿ وٵًٕ ،وٌٍي خغبمدَص ڄىـىيش يف خڀٽؽًن
ڄه زُخڄؿ خعبىخپ.
ٔىٹىڂ زٵعك ڄځٳ MidiEd.Rscزىخٔ٣ش زُودڄؿ ود ٚڀځع٭دڄٿ ڄٌٍ ٫ي خڀىىُ٬ص ،وٌى : UltraRscEditor
ؤؼىدء حبؽىد ٬ه خڀىٝى ٚخڀ٭دڄص ٔىاللٔ ٧عَُىٯ ٌدڄص ـًخً وٌٍ َٸڃ 20لُػ ؤهند خػبدٜص زُٔدڀص خػب٥إ : Code Invalid
ؤَ١دً ٔعالل ٧ؤن خڀٕعَُىٯ َٸڃ 19وبعىٌ ٬ځً Code Acceptedڀٍڀٻ ٔىٹىڂ دبهدصبص ٌٍخ خؼبٻخن ،وڀٽه ټُٳ؟
ٌىدٺ يخڀص ٌدڄص ـًخً َعڃ خٔعىًڄهد يف زُخڄؿ خعبىخپ عبځر خڀىٝى ٚڄه ڄځٳ
خڀَُٕىَْ وٌٍ خڀًخڀص . ReadResourceAsDes
ٌٍي خڀًخڀص يخجمدً َٕسٹهد ً٬ي زدؽبٽٓ ،وٌى ٬ىىخن خڀٕعَُىٯ يف ڄځٳ خڀَُٕىَْ ،وخڀٌٍ ٔععڃ ٸُخءظً زىخٔ٥ص ٌٍي خڀًخڀص :
ٔعالل ٧ڄؽالً يف خڀٝىَش خڀٕدزٹص ؤن خڀًخڀص َٕسٹهد خڀ٭ًي EADF020ؤٌ ؤن ٌٍخ ٬ىىخن ڀٍٙء ڄد يف خڀَُٕىَْ ُٔعڃ خٔعً٬دئي .وڄه
والپ خڀعفُزص وځٝط بذل وعُفص يبٽه خٔعٱالؽبد يف ټٿ خڀربخڄؿ خڀيت ظٕعىًڂ ٌٍي خڀَُ٥ٹص وٌى ؤن خڀ٭ًي EADFؼدزط وَځًُ ؼالؼص ؤَٸدڂ
ڄعٱًنش ڄه يخڀص بذل ؤوُيٌٍ ،ي خألَٸدڂ ٌٍ ظُظُر خڀٕعَُىٯ يخوٿ ڄځٳ خڀَُٕىَْ.
َ٭ين ڄؽالً ڄٌٍ ٫خ خڀربودڄؿ وـًود ٬-ىًڄد ٘دًٌود ڄځٳ خڀَُٕىَْ خػبد ٚزً -ؤن خڀىٝى ٚڄُظسص ٴًُ ڄه 0بذل 261ٴځى ؤوًود خڀ٭ًي
خڀٕدزٷ ُٝٔ EADF020سك َٸڃ خڀٕعَُىٯ خؼب٥ځىذ خؼبٵُوٌ ٞى َٸڃ 20ال ظىٓ ؤن خڀ٭ًي زدؽبٽٓ وبىپ بذل Decimalوَٝسك
،32ڀٽه دبد ؤن خڀ٭ً زًؤ ڄه خڀٝٵُ ٴُٕٽىن ٌٍخ خڀُٸڃ ٌ EADF020ى ٬ىىخن خڀٕعَُىٯ َٸڃ 33يخوٿ ڄځٳ خڀَُٕىَْ :
ڄځمى٨ص ٌدڄص خڀ٭ًي EADFڄعٱًن ڄه زُودڄؿ ِوُ؛ ڀٍڀٻ ٴىمه ٔىإوٍ ٴٹ ٣آوُ
َٸمٌن ٬ىً خحملدوڀص ڄ ٫زُودڄؿ آوُ.
خِن يبٽىىد ڄ٭ُٴص خڀُٸڃ خڀٌٍ َْٕسٷ يخڀص ٬ ReadResourceAsDesىًڄد ًََُ خڀربودڄؿ ـځر َٔدڀص خػب٥إ . Code Invalide
زقه الطرتٓيغ يف ملف السٓطْزع ٍْ 20أضف إلُٔ ُٝٔ 1سك 21لىڀً بذل ٌٽٓ ُٔٝسك 15إذٌ عيْاٌ الطرتٓيغ الرٖ
ضٔطتدعُٔ الربىامج ضٔكٌْ . EADF015
و٭ىي خِن بذل زُودڄؿ خڀـ IDAمث Searchمث Immediate Valueووٽعر : xEADF0150
َدبد َٹىپ خڀس٭ :ٟؼبدٌخ ال و٭ٽٓ خڀٹٵّش خؼبىـىيش يف زًخَص خڀُوظٌن وز٭ً ٌڀٻ وًوٿ ؤٌ َُٔدپ ڀعٕفُٿ خڀربودڄؿ؟
ٌٍي خڀَُ٥ٹص ود٤حص ٬ځً خڀُٰڃ ڄه ؤوً ز٭ً بيودپ ؤٌ َُٔدپ ٔىٲ َ٭ُ ٞڀٻ َٔدڀص Code Acceptedڀٽه ُٔ٩ٿ خڀربودڄؿ ًٰن
ڄٕفٿ ،وڀه ظٕع ٫ُ٥لىت ٴعمً ز٭ً خوعهدء خؼبًش خڀعفَُسُص.
خغبٿ خألڄؽٿ ٌى ظعس ٫خڀٹٵّش خڀيت ظايٌ زىد بذل ٌٍخ خڀُوظٌن وؿبدوڀص ٬ٽٕهد لىت ال َ٭ُ ٞپود خڀربودڄؿ ٌٍي خڀىدٴٍش خؼبّ٬فص ز٭ً خوعهدء ڄًش
خڀعفَُر.
خٌٌر بذل زًخَص خڀُوظٌن وخ٠ٱ٬ ٣ځً Xڄه ڀىلص خؼبٵدظُك :
ٔع٩هُ ڀىد ودٴٍش ربعىٌ ٬ځً ڄٽدوٌن َعڃ خٔعً٬دء ٌٍخ خڀُوظٌن ٬ىًنبد :
وًوٿ بذل خالٔعً٬دء خڀؽدين؛ ألن خألوپ ً٬مي خڀٵدجًش وڀُٓ ٌى خؼبٽدن خڀٝمُك خپٌٌ ىبعرب ٴًُ خڀربودڄؿ خڀَُٕدپ وخڀـ Trial Time
: Protection
بٌن َعڃ خٔعً٬دء خڀُوظٌن خڀٕدزٷ ڄه ٬ىً BL sub_100072A4و٬ىً ؿبدوڀعٻ إليودپ خڀَُٕدپ خػب٥إ يف ڄُلځص خٔعٽٙدٲ
خڀربودڄؿ الل٩ىد ؤوً ز٭ً ظبد٬ٻ ڀځُٔدڀص خڀٝىظُص -وخڀيت ظ٭ين ؤن خڀَُٕدپ و٥إَ -ٹىڂ خڀربودڄؿ زة٬ديش ُٞ٬خڀىدٴٍش خؼبّ٬فص خڀيت
ظ٥دڀسٻ زدڀعٕفُٿ ڄُش ؤوُي ،وٌٍخ َ٭ين ؤن ٌىدڀٻ لځٹص ڄٕاوڀص ٬ه ٌڀٻ ،وال َعڃ خػبُوؾ ڄىهد بال ز٭ً بيودپ خڀَُٕدپ خڀٝمُك،
َي
ؤعاللٌ ٧ڀٻ يف خڀٝىَش خڀٕدزٹص ٬ىً خڀٹٵّش BEQ loc_10007760وخػب ٣خألوٌ ُ١ى ًٔن خڀربودڄؿ بٌخ سبط خڀٹٵّش ،وټمد ض
ٴةن ٌٍخ خػبَ ٣إوٍود بذل زًخَص خڀُوظٌن ڄُش ؤوُي ؤٌ ؤوً لځٹص.
وٕعىعؿ ڄه ٌڀٻ :ؤن ٌٍخ خڀُوظٌن ٌى خڀٌٍ وبعىٌ ٬ځً خڀىدٴٍش خؼبّ٬فص خڀيت ظ٥دڀر زدڀعٕفُٿ ،وخڀيت ظ٩هُ ز٭ً خوعهدء خؼبًش خڀعفَُسُص
ڀځربودڄؿ ،ڀٍڀٻ ٔىسمػ ٬ه ټٿ خالٔعً٬دءخض خڀيت ظايٌ زىد بذل ٌٍخ خڀُوظٌن ٺڄد ٴ٭ځىد ڄ ٫خڀُوظٌن خڀٕدزٷ :
وٝ٭ً ڀأل٬ځً بذل زًخَص ٌٍخ خڀُوظٌنٔ ،ىفً ٸٵّش ٌدڄص ـًخً بٌخ سبط ٔعإوٍود ز٭ًُخً ٬ه خڀىدٴٍش خؼبّ٬فص و٬ه خڀـ : Trial Time
خِن وًَُ ٬ٽٓ خڀٹٵّش BEQ loc_10007574ڀٍڀٻ وإوٍ خألوٴٕط خػبد ٚهبد :
خألوٴٕط ٌى ٔ DE75ىٹىڂ زٵعك ؤٌ ؿبَُ ٌٽٓ ،ؤىٌٍر بذل ٌٍخ خألوٴٕطٔ ،ىفً ؤن خڀـ BEQظٕدوٌ D0و٭ٽٓ خڀـ D0
بذل D1ظٝسك BNEؤٌ ؤوىد ٬ٽٕىد خڀٹٵّش :
وٹىڂ حبٵ ٧خؼبځٳ زىٵٓ خالٔڃ MidiEd.Appمث ؤُٿ ٌٍخ خؼبځٳ بذل خعبىخپ.
زىخٔ٥ص ؤٌ زُودڄؿ ڄؽٿ خڀـ SeleQوٹىڂ زإوٍ خؼبځٳ ڄه خڀُٔدجٿ مث ٬مٿ Cutڀً و Pasteيف ؾبځً خڀربودڄؿ :
خِن ٔىٹىڂ زعفَُر خڀربودڄؿ .ڄسدَٺ خڀربودڄؿ َ٭مٿ زًون ؤٌ َٔدجٿ و لىت ز٭ً خوعهدء خؼبًش خڀعفَُسُص :
ڀٽه ڀألٔٳ ڄدِخپ خڀربودڄؿ ًٰن ڄٕفٿ!! ـُذ ؤن ظًوٿ بذل ڄځٳ MIDIولدوپ خڀع٭ًَٿ ٬ځًُ ،وـُذ ٬مٿ : Save
ڀٽه خ٬عٹً خػب٥ىخض ؤٜسمط وخ٠مص ،وٌٍ خڀٌٍدذ بذل ڄځٳ خڀَُٕىَْ وخڀسمػ ٬ه خڀٕعَُىٯ This option is only
availableوز٭ً ٌڀٻ خڀسمػ ٬ه خڀـ Immediate Valueټمد ٴ٭ځىد ٔدزٹدً و٬ٽٓ خڀٹٵّش خڀيت ظايٌ بذل ٌٍي خڀُٔدڀص :
بٌن ٌٍ َٸڃ 44وُ١ٳ وخلًخً ظٝسك 45كبىپ بذل ٌٽٓ ظٝسك D2بٌن خڀـ Immediate Valueظٕدوٌ : EADF02D
ٔىفً خٔعً٬دجٌن ،وز٭ً خڀعفَُر ظسٌن ؤن خالٔعً٬دء خڀؽدين ٌى خؼبٕاوپ ٬ه ٌٍي خڀُٔدڀص ٴځىًوٿ بڀًُ :
خلٵ ٧خؼبځٳ زىٵٓ خالٔڃ وخوٹځً بذل خعبىخپ ټمد ٴ٭ځىد ٔدزٹدً .وخِن ـُذ لٵ ٧ؤٌ ڄځٳ ڄ٭ًپ.
ڄسدَٺ مت زب ٌ٣خڀىدٴٍش خؼبّ٬فص ،و ُٞ٬ڀٻ ودٴٍش بيودپ خالٔڃ خڀٌٍ ظىي لٵ ٧خؼبځٳ خعبًًَ زً :
خلٵ ً٩ڄؽال زدٔڃ At4reمث خ٠ٱ٬ ٣ځً ُٔ OKعڃ لٵ ٧خؼبځٳ يف ؾبځً خڀٝىظُدض يف خڀـ : Phone Memory
expenses-s60-3-v-2-0.sis
smartcom_s60_3rd_trail.sis
وال ظىٓ ؤَ١دً زُودؾبدً ڀالظٝدپ زٌن خعبىخپ وخڀٽمسُىظُ؛ ڄؽٿNokia PC Suite :
خػب٥ىش خألوذل :خٔعىُخؾ خؼبځٳ خڀعىٵٌٍُ ڀځع٥سُٷ ڄه ڄځٳ sisزىخٔ٥ص SISWareوٴٻ ٠ٱ ً٥زىخٔ٥ص .Petran
خػب٥ىش خڀؽدوُص :ربمُٿ خؼبځٳ خڀعىٵٌٍُ يف Pro Advanced v5.2 IDAوخڀسًء يف خڀعمځُٿ.
خػب٥ىش خڀؽدڀؽص :ظ٭ًَٿ خڀـ Opcodesڀځع٭ځُمدض خڀالِڂ ظٱًُنٌد زدٔعىًخڂ WinHexؤو ؤٌ ؿبَُ ٌٽٓ آوُ.
خػب٥ىش خڀُخز٭ص :ب٬ديش ٠ٱ ٣خؼبځٳ خڀعىٵٌٍُ زىخٔ٥ص Petranوخٔعسًخپ خؼبځٳ خؼبؽسط يف خعبىخپ.
مت ٬مٿ ٌٍخ خڀًَْ زدڀعفُزص ٬ځً ـىخپ Nokia N73وز٭ً خوعُخٶ خغبمدَص.
.4.1ايتطبٝل األٍٚ
ز٭ً ظؽسُط خڀع٥سُٷ يف خعبىخپ وٴعمً قبً ؤن ڄًظً خڀعفَُسُص 10ؤَدڂ ،ټمد ظاللٌ ٧ڀٻ يف خڀٝىَش :
ويف ٸدجمص Optionsذبً وُدَ Registerوٌٍخ ڄد ٔىٕعٵًُ ڄىً ڀٽُٕ خڀع٥سُٷ ،بٌن ڀىىعٹٿ بذل خػب٥ىخض.
يف ټؽًن ڄه خڀع٥سُٹدض َعڃ خٔعىًخڂ ٌٍي خڀًخڀص ڀ٭مٿ خؼبٹدَوص زٌن زُدودض Dataڄ٭ُىص ،وخڀيت ٸً َٽىن ڄىهد خوعسدَ ٜمص خڀَُٕدپ
خؼبًوٿ ؤو ؤن خڀربودڄؿ ڄٕفٿ ؤو ذبَُيب وڄد بذل ٌىدڀٻ.
;class TDesC8
Members:
()Compare
Prototype :
;IMPORT_C TInt Compare(const TDesC8 &aDes) const
Parameters
The 8-bit non-modifable descriptor whose data is to be compared with this
const TDesC8 &aDes descriptor's data,
ذرى ادلمارَح تني bit non-modifiable Descriptor's Data-8و Specified Descriptor's Dataتايراً يغ
تايد ،
Return value
Positive, if this descriptor is greater than the specified descriptor. Negative, if this
Tint descriptor is less than the specified descriptor. Zero, if both descriptors have the same
length and their contents are the same.
( Return وظعٕدوي خڀسُدودض ٬ىًڄد َٽىن ٤ىؽبمد وؿبعىخنبد ڄعٕدوٌَن ،ويف ٌٍي خغبدڀص ظٽىن خڀٹُمص خؼبُـ٭ص ؤو ڄد َٕمً
)Valueڀځمٕفٿ ( ٌٍ )Registerخڀٝٵُ ،وڄد ً٬خ ٌڀٻ ظٽىن ٸُمص خؼبٕفٿ بڄد ڄىـسص ؤو ٔدڀسص :
وڀٽه ٌٍي خڀًخڀص ظٕعىًڂ ألُٰخ ٞؤوُي ټؽًنش ،ڀٍڀٻ هبر خڀعُټُّ ٬ځً خؼبٽدن خڀٝمُك خڀٌٍ ىب ٛيخڀص خڀعمٹٷ ڄه خڀعٕفُٿ ،وٰدڀسدً
ڄد ظٽىن ڄعسى٬ص زع٭ځُميت MOVNE & MOVEQلُػ َعڃ وٹٿ خڀٹُمص 1بذل خؼبٕفٿ يف لدڀص ټدن خڀَُٕدپ خؼبًوٿ ٜمُمدً ،ؤو 0
٬ىًڄد َٽىن و٥إ ،ٸڃ زدڀ١ٱ ٣ڄُظٌن ٬ځً ڄد ٌى ڄى٠ك يف خڀٝىَش ؤعفً وٵٕٻ ٌىد :
٫٠ڄاُ٘ خڀٵإَش ٬ځً __ imp_TDesCCompareERKSوخ٠ٱ٬ ٣ځً لُٲ " "Xڀځٌٍدذ بذل ٌىد :
خوعُ خڀـ Referenceخڀؽدڀػ وخ٠ٱ *** OK ٣ألوً – ز٭ً خڀعمځُٿ – ٌى خڀٌٍ ىب ٛيخڀص خڀعمٹٷ ڄه خڀعٕفُٿ ***
ټمد ظُي ٌىدٺ ڄٹدَوص زٌن خؼبٕفٿ وخڀٹُمص 0ٴةن ټدوط ٸُڃش خؼبٕفٿ ًٰن ڄٕدوَص ڀځٝٵُ ٴٕعىٹٿ ڀً خڀٹُمص ٜٵُ ،ويف خغبدڀص خألوُي
٬ىًڄد ظٽىن ٸُمعً ٜٵُخً َىٹٿ ڀً خڀىخلً ،وٸً ُ٬ٴىد ؤن ٸُمص خؼبٕفٿ ال ظٽىن ٜٵُخً بال ٬ىًڄد ظٽىن خڀسُدودض ڄعٕدوَص زدَعدً زدَعدً يف
خڀ٥ىپ وخحملعىي ،ؤٌ ؤن خڀَُٕدپ خؼبًوٿ َٕدوٌ سبدڄدً خڀَُٕدپ خڀٝمٍق خڀٌٍ َىسٱٍ ؤن وٕفٿ زً خڀربودڄؿ.
وٌٽٍخ َٽىن خڀع٭ًَٿ ٬ځً خڀع٭ځُمص خألوًنش يف خڀٝٳ زعمىَځهد بذل MOV R3, 1ٴمهمد ټدن ودظؿ خڀ٭مځُدض ٸسځهد ٴةن آوُ ٸُمص
ٔعىٹٿ ڀځمٕفٿ ٌٍ خڀىخلً ،وزدڀعدرل َعڃ ظٕفُٿ خڀربودڄؿ .بٌن ٬ځُىد ظ٭ًَٿ زدَعدض خڀع٭ځُمص MOVEQ R3, #1حبُػ ظٝسك
: MOV R3, #1
ػُىاٌ األوفظد
انثايراخ ادلؼذنح انثايراخ األصهيح
Offset
1BAD8 01 30 A0 E3 01 30 A0 03
خوعٹٿ بذل خػب٥ىش خڀؽدڀؽص ڀع٭ًَٿ خڀالِڂ وٌٍخ ڄد ٔعُخي ز٭ً خڀع٭ًَٿ :
خوعٹٿ بذل خػب٥ىش خڀُخز٭ص مث خٔعسًپ خؼبځٳ خڀعىٵٌٍُ خؼب٭ًٍپ زدڀٹًمي ( ز٭ً ټُٕ خحلڄدَص ٴٹ.)٣
ؤو ؤ٠ ً٬ٱ ٣خؼبځٵدض ټځهد زىخٔ٥ص SISWareبذل ڄځٳ sisڄ ٫خٔعسًخپ خؼبځٳ خڀعىٵٌٍُ وٸڃ زًڄؿ خؼبځٳ خڀىدظؿ sisزدڀٙهديش خڀيت
ڀًَٻ (ٌٍخ يف لدپ دل ظٹڃ زٵٻ خغبمدَص).
ز٭ً خٔعسًخپ خؼبځٳ ٸڃ زٵعك خڀربودڄؿ ؤفٿ زإٌ َٸڃ ؤو لُٲ :
ظالل ٧ؤوً مت خڀعٕفُٿ زىفدق و٬ىً ب٬ديش خڀعٙٱُٿ َٹىڂ خڀربودڄؿ زعٵ٭ُٿ ټدٴص خػبٝدج .ٛڄسدَٺ!!
.4.2ايتطبٝل ايجاْٞ
غبٕه خغب ٧ٴفمُ ٫زُخڄؿ ٌٍي خڀُٙټص ؽبد وٵٓ ؤٔځىذ خغبمدَص ،وٌٍ ٔهځص ـًخً ،وَعڃ ٴٽهد ٬ه َُ٤ٷ خڀسمػ ٬ه َٔدجٿ خػب٥إ وڄد
٘دهبهد؛ ڄؽٿ Trial is expired :وٌٍخ زدڀ١س ٣ڄد ٔى٭مځً ڀٽُٕ ٌٍخ خڀع٥سُٷ.
٬ىً ٴعك خڀربودڄؿ ألوپ ڄُش Continue Trialوز٭ً خوعهدء خؼبًش خڀعفَُسُص Trial Expiredټمد يف خڀٝىَش :
خوعٹٿ بذل خػب٥ىظٌن خألوذل مث خڀؽدوُص ،وز٭ًٌد خٴعك ودٴٍش Stringsيف زُودڄؿ IDAوٸڃ زدڀسمػ ٬ه خڀٽځمدض خڀيت ظُخٌد يف خڀٝىَش وٌٍ
Trial Expiredوٌٍخ ڄد ٔعفًي :
ټمد ظالل ٧ٴةن ټٿ ڄد َسمػ ٬ىً خڀٽُخټُ ڄىـىي ٌىد ،زسٕد٤ص وزال ظ٭ٹًُ ٬ځُىد ؤن كبٝٿ ٬ځً Licensed Userزًالً ڄه
Trial Expiredؤو ، Continue Trialڀٍڀٻ ٸڃ زدڀ١ٱ ٣ڄُظٌن ٬ځً Licensed Userڀعٝٿ بذل ٌىد :
٫٠ڄاُ٘ خڀٵإَش ٬ځً aLicensedUserمث خ٠ٱ "X" ٣وخوعُ خػبُدَ خألوپ ڀعٝٿ بذل ٌىد :
ؤَ١د ڄاُ٘ خڀٵإَش ٬ځً off_300D8مث " "Xڀعٝٿ ؤوًنخً بذل ٌىد :
ټمد ظُي َىـً ٸٵّش ظع٭ًي aLicensedUserوٌٍ BNE : Branch if Not Equalڀعٝٿ بذل aContinuetrialؤو بذل
aTrialExpiredلٕر خغبدڀص.
ڄسًجُدً ٔىٹىڂ زعٱًُن خڀٹٵّش بذل NOPلىت ال َعڃ ظىٵٌٍُد ،وزدڀعدرل ٌٍَر خڀربودڄؿ بذل ، aLicensedUserڀٍڀٻ خوعٹٿ بذل خػب٥ىش
خڀؽدڀؽص وٸڃ زع٭ًَٿ خڀسدَعدض خڀالِڄص ټمد يف خعبًوپ :
ػُىاٌ األوفظد
انثايراخ ادلؼذنح انثايراخ األصهيح
Offset
27C1C 00 00 A0 E1 27 00 00 1A
خٌٌر بذل خػب٥ىش خڀُخز٭ص وڄه ز٭ً خٔعسًخپ خؼبځٳ خؼب٭ًٍپ زدألٜځٍ ٸڃ زعٙٱُٿ خڀربودڄؿ ،ؤعالل ٧ؤوً ٸً مت ظٕفُځً :
لٕىدً ٸڃ زعٹًمي خڀعدََه ٘هُخً وخلًخً ڀألڄدڂ وخٴعك خڀربودڄؿ ڄدٌخ ظالل ٧؟
ڀٹً ٨هُض َٔدڀص Trial is Expiredوڀٽه َعڃ ٴعك خڀربودڄؿ وٌى َ٭مٿ زٽدٴص وٝدج ،ًٝبٌن ٴهٍي ؾبُي َٔدڀص ڄّ٬فص ؤٌ Nag
Screenوڀٽه ڄٌ ٫ڀٻ ال ڄدو ٫ڄه بوٵدجهد ،ٴځى٭ً بذل زُودڄؿ IDAويف ودٴٍش Stringsخحبػ ٬ه صبځص Trial is Expiredوخظس٫
وٵٓ خػب٥ىخض خڀيت ٬مځىدٌد ٔدزٹدً ڀعٝٿ ؤوًنخً بذل ٌىد :
ټمد ظاللٌ ٧ىدٺ ظ٭ًَٿ ؤوپ وظ٭ًَٿ ؼدن ٍ َعڃ جب٭ٿ خڀع٭ځُمعٌن NOPلىت ال َعڃ خڀىًخء ٬ځً ظځٻ خڀىدٴٍش خؼبّ٬فص وٌٽٍخ وٕع ٫ُ٥ؤن
وٹىپ :ڄسدَٺ ٬ځُىد خڀىٕىص خڀٽدڄځص !
بذل ٌىد وٝٿ بذل وعدڂ خڀًَْ ٬ځً ؤڄٿ ڀٹدء ٸديڂ بن ٘دء خهلل ،ويڄعڃ يف َ٬دَص خهلل.
Symbian .6ضٚابط َؿٝس ٠يًُعٜس َٔ املعًَٛات سَ ٍٛعادتات ْٚ ARMعاّ ايتؿػٌٝ
http://en.wikipedia.org/wiki/ARM_architecture
http://www.arm.com/
http://en.wikipedia.org/wiki/Symbian
http://www.forum.nokia.com/info/sw.nokia.com/id/2c835bc6-4106-4563-9eb07f215b27e83c/S60_3rd_Edition_Cpp_Developers_Library.html
http://developer.symbian.com
http://www.newlc.com
َ .1كسَ١
.1.1املتطًبات
.ARM7-TDMI-manual-pt2
.arm_edit_Disassembler
.DuckHunt
.Fun2Link
.Handmark Yathzee 1.05
.WinCE
خڀع٭ځُمدض :
انرؼهيًح ادلؼىن
ADC صب ٫ڄ ٫خغبمٿ
ADD
AND And
B خڀٹٵّ
CMP ڄٹدَوص
EOR EOR
MOV MOV
MUL MUL
ظ٭ځُمص Bظ٭ين خڀٹٵّ ،وڀٽه يبٽه ب٠دٴص خڀځىخلٷ ٬ځُهد ٴعٝسك ڄؽالً :
BEQ خٸٵّ بٌخ ټدن َٕدوٌ
BNE خٸٵّ بٌخ ټدن ال َٕدوٌ
BLT خٸٵّ بٌخ ټدن ؤٜٵُ ً
سبدڄد
ظ٭ځُمص : MOV
Mov = XX XX A0 EX
ڄؽدپ :
ظ٭ځُمص : CMP
CMP = XX 00 5X EX
ڄؽدپ :
BRANCH = XX XX XX EA
)BEQ: If Z = 1 (XX XX XX 0A
)BNE: If Z = 0 (XX XX XX 1A
)BMI: If N = 1 (XX XX XX 4A
ؤوالً ٘ٱٿ Microsoft Visual Studio 2005 :ڀع٩هُ خڀٙد٘ص خڀعدڀُص :
يبٽىٻ ڄه ٌىد خوعُدَ ؤٌ و٩دڂ ڀعمدټًُ ،وڀٽىىد ٔىىعدَ ، Pocket Pc 2003خِن خ٠ٱ ٣زدڀَّ خأليبه ڀځٵإَش ٬ځً SE Emulator
Pocket Pc 2003وخوعُ : Connect
خوعسً ڀإل٘دَش يخوٿ خؼبُز ٫خألضبُ يف خڀٝىَش!! ٴهٍ يڀُٿ خالظٝدپ زدحملدټٍ.
خِن ٔىٹىڂ زُز ٣خعبهدِ ڄ Microsoft ActiveSync 4.5 ٫وهبٍخ وٕع ٫ُ٥ربمُٿ خڀربخڄؿ ٬ځً خعبهدِ خحملدټٍ.
خ٠ٱ ٣زَّ خڀٵإَش خڀؽدين ٬ځً Pocket Pc 2003 SE Emulatorمث خوعُ : Cradle
خوعُ : Guest
خِن يبٽىىد ربمُٿ ؤٌ زُودڄؿ ٬ځً Emulatorولىت خٔع٭ُخ ٞخؼبځٵدض خؼبىـىيش ٴًُ.
ويبٽىىد لىت ؤن وٹىڂ ز٭مځٍخض خؽبىًٔص خڀ٭ٽُٕص ولىت خڀـ . Remote Debugger
٘ٱٿ Microsoft Visual Studio 2005مث New -> projectوخوعُ ټمد يف خپٜىَش :
>Next -
Finish.
خِن خؼبُٙو ٪ڄُٙو Console Smart Device ٪ٴدَٮ مث Build -> Build Solution
خڀځ٭سص ڀُٕط حبدـص ڀځٽُٕ ،ٴٹ ٣ؤ٠ٳ خظبٻ ڀٿـ Ownerؤع٭مٿ ،وڀٽه غبدـص يف
ؤوٵٕىد ٸمىد زٍڀٻ.
ٸڃ زدحملدټدش ټمد ٴ٭ځىد يف خڀٵٹُش خڀٕدزٹص وضبٿ خڀځ٭سص ٬ځً خڀـ . Emulator
ٔىٹىڂ ز٭مٿ ٬ Remote Debuggerځً خڀځ٭سص ،وڀٽه ٸسٿ ٌڀٻ ڀىىٕه ڄٕدَ خڀځ٭سص ٘ٱٿ Microsoft ActiveSync 4.5مث
خ٠ٱ٬ ٣ځً Exploreوظدز ٫ٴعك خؼبځٵدض لىت ظٝٿ بذل خؼبٕدَ خؼبى٠ك زدڀٝىَش :
ٔعٝسك :
لدوپ ؤن ظٕعمُ زدڀععس ٫والل ٧ؤن خڀـ َ Emulator٭مٿ ڄ ٫ؤوخڄُ خڀـ Debugger
الل ٧ؤن ٌٍخ خڀځ٭سص ظعٽىن ڄه ڄځٳ وخلً ٴٹ ،٣وٌى ڄځٳ خڀـ exeٴٵٍ ٌٍي خغبدڀص دل وٽه حبدـص بذل ٠س ٣بً٬خيخض خڀـ
Remote Debuggerزٿ ټدن فبٽه خالټعٵدء زىٕه خڀځ٭سص بذل ؾبځً خڀـ Debugوظٙٱُٿ خڀربودڄؿ ( )F11ولىت يون ظٙٱُٿ
خڀـ Emulatorؤُ Microsoft Visual Studio 2005عىذل ظٙٱُٿ خڀـ Emulatorووٕه خڀځ٭سص.
ٌٍي خڀَُ٥ٹص ال ظىٵ ٫ڄ ٫خڀربخڄؿ خڀيت ربعىٌ ڄٽدظر َز ٣ؤو ڄځٵدض يخظد ؤو ٜىَ
ؤو ًٰنٌد.
يبٽه خالٔعٱىدء ٬ه خڀـ Emulatorوٌڀٻ زدٔعىًخڂ ـهدِ Pocket pc
لٹُٹٍ وخظسد ٪خػب٥ىخض خڀٕدزٹص ؤعُي ؤن خڀـ ُٔ Debuggerىٵٍ ٬ځً
ـهدِٺ خغبٹُٹٍ .
.IDA
( WinCE Plugin For IDA ڄ ٫ڄُٴٹدض خڀًَْ):
خوٕه خؼبځٵدض ida_kdstub.dllوwince_remote_arm.dll
بذل خجملځً خألٔدٍٔ ڀـ IDA
وخوٕه خؼبځٳ wince_stub.plwخؼبىـىي يخوٿ ڄځٳ خڀـ Pluginsبذل
ڄؿپ .IDA يخوٿ ڄځٳ Pluginsخؼبىـىي يف خ
( Handmark Yathzee 1.05 يف خؼبُٴٹدض).
ٸڃ زدحملدټدش ټمد ٴ٭ځىد يف خڀٵٹُش خڀٕدزٹص وضبٿ خڀځ٭سص ٬ځً خڀـ . Emulator
ٔىٌٍر وكب ُ١ڄځٳ خڀځ٭سص خڀـ EXEڄه Emulatorمث وٙٱٿ Microsoft ActiveSync 4.5مث و١ٱ٬ ٣ځً Explore
ووعدز ٫ٴعك خؼبځٵدض لىت وٝٿ بذل خؼبٕدَ خؼبى٠ك زدڀٝىَش :
خوٕه ڄځٳ خڀځ٭سص بذل ٔ٥ك خؼبٽعر ،مث ٘ٱٿ IDAمث خٔمر خڀځ٭سص ڀًخوځً ٔع٩هُ ڀٻ خڀىدٴٍ خ٠س ٣خإلً٬خيخض :
خ٠ٱ: ok ٣
خ٠ٱ: ok ٣
خ٠ٱ yes ٣و٬ىًٌد ُٔىٹٿ IDAڄځٳ خڀځ٭سص خڀـ EXEبذل خجملځً خعبٍَ يف خڀـ : Emulator
ڄد خؼبٙٽځص ؟
ټدن ڄ٭هد ڄځٵدض َز ٣ربدذبهد ټٍ ظ٭مٿ ،و٬ىًڄد وٕىعهد بذل ٔ٥ك خؼبٽعر وٕىعهد ڀىلًٌد.
ڀه ربٿ خؼبٙٽځص زىٕه ټٿ خؼبځٵدض بذل ٔ٥ك خؼبٽعر؛ ألن IDAڀه َىٕه ڄځٳ خڀـ EXEبذل خعبٍَ خڀُجٍُٕ :
ٸً ظ٭مٿ خڀځ٭سص وال ظ٩هُ خڀُٔىڄدض وخألٜىخض ڀىٵٓ خڀٕسر خڀٕدزٷ .
ڀى ټدوط خڀځ٭سص ڄٽىوص ڄه ڄځٳ وخلً ٴٹ ٣ڀىفمط خڀ٭مځُص ټمد يف خڀځ٭سص
خڀٕدزٹص .
خِن ؤ ً٬خڀٽُش Debugger -> Start process ،وال ظىٓ لٍٲ خؼبځٳ ڄه خعبٍَ خڀُجٍُٕ خؼبسٌن زدأل٬ځً :
خِن NO
OK
OK
ڄه خؼبمٽه ٠س ٣بً٬خيخض خڀـ Remote Debuggerٸسٿ خڀعٙٱُٿ ،الل: ٧
ټدن ڄه خؼبمٽه وٕه ڄځٵدض خڀځ٭سص بذل خؼبٽدن خڀٌٍ َىٕه ٴًُ IDAخؼبځٳ ،ـُذ وٕه خؼبځٵدض ؤع٭مٿ خڀځ٭سص .
.5اَجً ١تطبٝك١ٝ
خڀځ٭سص ٌٍ خڀيت مت ُ٘ق خڀٵٹُش خڀٕدزٹص ٬ځُهد ،ٴځىفُذ خڀځ٭سص ٬ځً خڀـ ٘ Emulatorٱٿ خڀځ٭سص ڄه :
ال ظىٓ هبر ظٙٱُٿ خڀـ Emulatorوَز ً٥ڄMicrosoft ActiveSync 4.5 ٫
وربمُٿ خڀځ٭سص.
مث خحبػ ٬ه و ٛخڀُٔدڀص ،ويبٽه ؤن ظسًؤ زدڀٻظدزص ؤُ IDAسمػ (خټعر : ) if
خِن خ٠ٱ٠ ٣ٱ٥عٌن ٬ىً خؼبُز ٫خألَِٶ ڀىٌٍر بذل ڄٽدن خڀٽىي خڀٌٍ خٔعىًڄط ٴًُ خعبمځص :
لٕىدً ٌٍخ ٌى خڀٽىي ،خ٠ٱ ٣زَّ خڀٵإَش (يف ڄٽدن ال وبىٌ ظ٭ځُمدض ) خڀؽدين وخوعُ : Graph Veiw
يخوٿ خؼبُز ٫خألضبُ خڀُٔدڀص خڀٱًن ڄُٰىزص ،وهبر ؤن ال وٝٿ بڀُهد ،وال ل ٧ؤوً َعڃ خڀىٜىپ بڀُهد ڄه ؤَزُ٤ ٫ٶ ،الل ٧خألٔهڃ ٴىٶ
خؼبٕعُ٥ٿ.
لٕىدً ٔى ٫١وٹ٥ص ظىٸٳ ٬ځً ؤز٭ً ـّء ڄه خڀٽىي خڀٌٍ َىٜځىد بذل خڀُٔدڀص (ؤوپ ـّء زدڀعمٹٷ) ،ؤى٭ُٴً ڄه نالپ خڀىٸىٲ ٬ځً
خألٔهڃ وڄٙدًٌش خڀ٭ىدوَه ؤ٬ځً خؼبُز٭دض :
ظٵم ٛخڀ٭ىدوَه ڀألٔهڃ ټمد يف خؼبُز ٫خڀربظٹدرل ٔدزٹدً ،وخوعُ ؤٸٿ ٌٍي خڀ٭ىدوَه٤ .س٭د ٔعفً ؤن ؤٸٿ خڀ٭ىدوَه ٌى خألوپ ڄه ٬ځً خڀُمٌن
خ٠ٱ٬ ٣ځً خڀٕهڃ ڄُظٌن :
٫٠وٹ٥ص ظىٸٳ ٔعٝسك خڀع٭ځٍڄص زدڀځىن خألضبُ ،وبزًؤ خڀععس: Debugger -> Start Process ٫
خألضبُ ٌ :ى ودٴٍش خڀع٭ځُمدض ،وال ل ٧ؤن IDAؤوٸٳ خڀربودڄؿ ٬ىً وٹ٥ص خڀعىٸٳ.
خڀربظٹدرل :ودٴٍش خڀٕعدٺ.
خألو : ُ١ودٴٍش خؼبٕفالض.
ڀالٔعمُخَ زدڀععسٔ ٫ى١ٱ٬ ٣ځً F8والل ٧ؤن ٌٍي خڀٹٵّش ڀه ظٙٽٿ ڄٙٽځص ؤؼىدء ٬مځُص خڀعٕفُٿ؛ ألهند ڀه ظٹىيود ڀځُٔدڀص (الل٧
ٌڀٻ ڄه والپ وڄُ ٟخڀٕهڃ).
ٌىدٺ ڄٙٽځص يف ٌٍي خڀٹٵّش؟! ٜمُك ؤهند ال ظايٌ بذل خڀُٔدڀص ڄسدُ٘ش ،وڀٽه خوّپ بذل خألٔٵٿ ؤعفً ٸٵّش بـسدََص بذل خڀُٔدڀص ،بٌن
هبر ذبدوِ ٌٍي خڀٹٵّش.
وټمد ظعٙدًٌ ٴهٍي خڀٹٵّش ٌٍ BGTؤٌ خٸٵّ بٌخ ټدن ؤټرب سبدڄدً ،ويبٽه ذبدوٌِد جب٭ٿ خڀ٭ځڃ َٕ Zدوٌ خڀىخلً (ؤٌ َٕدوٌ سبدڄدً وڀُٓ
ؤټرب سبدڄدً).
ً٬پ ٸُمص Zټمد يف خڀٝىَش ،لٕىدً ظدز ٫خڀععس ٫وْسبُ ٬ځً خڀٹٵّخض ٬ىً خڀ٭ىدوَه :
000311F8 00031204
وټځهد ٔعٹىي ڀځمٽدن خڀٝمُك ،ظدز ٫ظىٵٍُ خڀربودڄؿ زدڀٽدڄٿ زدڀ١ٱ٬ ٣ځً (: )F9
مت ظٕفُٿ خڀځ٭سص ،وخِن ٔىٹىڂ ز٭مٿ Crackڀځمځٳ وَځّڄىد ڀٍڀٻ :
٬ځٍڄص خ پٶيميش
خپض Hex Code ٬ځٍڄص خ عبًًَش
خپض Hex Code
خ٠ٱ٬ ٣ځً خڀع٭ځُمص خڀيت وًَُ ظ٭ًَځهد ،والل ٧ؤن IDAٸً لٕر خإلِخلص يف خؼبځٳ :
٘ٱٿ : arm_edit_Disassembler
خوعُ ڀ٭سعىد خڀيت ٬ځً ٔ٥ك خؼبٻظر File open jump to Offset
OKمث خ٠ٱ ٣زٙٽٿٍ ڄّيوؾ ٬ځً خڀع٭ځُمص خؼبُخي ظ٭ًَځهد ،وًٰن خڀع٭ځُمص وټمد يف خعبًوپ خڀٕدزٷ :
ؤ ً٬ظٙٱُٿ خڀـ ، Emulatorضبٿ خڀځ٭سص ،خٔعسًپ ڄځٳ خڀـ EXEزدڀٽُخٺ ،ؤيوٿ ؤٌ َٸڃ ظٕفُٿَ ،خج ٫ظ٭مٿ!!
خوٕه ڄځٳ خڀځ٭سص بذل ٔ٥ك خؼبٽعر ،مث خٔمسً ڀًخوٿ زُودڄؿ IDAټمد ٴ٭ځىد ٬ىً ټُٕ خڀځ٭سص خڀٕدزٹص :
خ٠ٱ٬ ٣ځً Functionsؤع٩هُ ڀٻ ودٴٍي ربىٌ صبُ ٫خڀًوخپ خؼبٕعً٬دش يخوٿ خڀربودڄؿ ،مث خزًؤ زٽعدزص : Messageboxw
الل ٧خؼبٕفٿ LRٴًُ ٬ىىخن خإلـُخجُص خڀيت خٔعً٬ط يخڀص !! messageboxW
ٌٿ ظٙدًٌ خؼبُز ٫خألَِٶ؟ خوٹُ ٬ځً خڀٕهڃ خؼبىؾوي يخوځً ڀٽٍ وٌٍر بذل ٌٍي خإلـُخجُص ،ؤوط ٌىد :
ؤ٠ٳ وٹ٥ص ظىٸٳ ٬ىً خڀٹٵٌّ خڀربظٹدڀُص ،و٬ىً خڀىٜىپ بڀُهد خ٬ٽٓ ٸُمص خؼبٕفٿ ، Zظد ز ٫خڀعىٵٍُ:
432
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
.OllyDbg
. AT4RE FastScanner v2.0
.ExeInfo PE v 0.0.1.9
ٸسٿ ټٿ ٍ٘ء ٔىٹىڂ زٵم ٛخڀربودڄؿ زدٔعىًخڂ AT4RE FastScanner v2.0وٌٍ و٥ىش ڄهمص ظ٭ُ٥ىد ٴٽُش ؤؤ٬ ٫ه
خڀربودڄؿ فبد َٕهٿ ٬ځُىد ټُٕي :
خڀربودڄؿ َٕعىًڂ خڀ٭ًًَ ڄه ڄٽدظر خڀعٙٵًنٔ ،ىًَْ ٬مٿ خڀس٭ ٟڄىهد اللٹدً.
ٶڂ زعٙٱُٿ خڀربودڄؿ ڀىع٭ُٲ ٬ځًُ ،وڀٽٍ وإوٍ ٬ىً ٴٽُش ؤمشٿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 433
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ال قبً ؤٌ َٔدجٿ ظ٥دڀسىد زدڀعٕفُٿ ،وڀٽه ٔىٹىڂ ز٭مځُص خڀعٕفُٿ زإوٵٕىد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 434
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
والل ٧ؤن خڀربودڄؿ ؤٜڃ؛ ٴهى َعمًغ زځٱص خڀىٝى ٚوزًون َٔدجٿ !!
ڀٽه ؤوٍود ٴٽُش زُٕ٥ص ٬ه خڀربودڄؿ ،وڄد ٔىٹىڂ زً ٌى خڀسمػ ٬ه خڀى ٛخڀٌٍ ً٠ُ٬خڀربودڄؿ ،وٌى Invalid Serial Number
يف زُودڄؿ : OllyDbg
ؤټًُ ؤوٻ ظ٭ُٲ ڄد ٬ځُٻ ٬مځً؟! و ٫٠وٷخ ٢ظىٸٳ يف ټال خؼبى٠٭ٌن ،مث ٘ٱٿ خڀربودڄؿ وخٌٌر بذل وخـهص خڀعٕفُٿ وؤټعر ؤٌ ؤٔڃ
وَٸڃ ،مث ؤ٠ٱ ٣ڄىخٴٷٔ ،عؿ ي ؤوً ظىٸٳ ٬ىً ؤلًنبد :
ٔعفً ؤن ٌىدٺ ٸٵّخض ڄُٙو٤ص ظٕسٹهد يخڀص ،زدڀعإټًُ ٌٍ خڀيت ظعمٹٷ ڄه خڀَُٕدپٌ ،ٿ ٌى ٜمُك ؤڂ ال؟ ويف لدڀعىد ٔىٌٍر بذل
َٔدڀص خػب٥إ ،وڄد ٔعٹىڂ زً ٌى ٬مٿ وٹ٥ص ظىٸٳ ٬ىً يخڀص خڀعمٹٷ ٬ىً خڀ٭ىىخن 004245BC :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 435
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
٘ٱٿ خڀربودڄؿ خِن ،وؤيوٿ ؤٌ زُدودض ،مث خ٠ٱ ٣ڄىخٴٷ ،و٬ىً يخڀص خڀعمٹٷ خ٠ٱ ٣خڀَّ F7ڀځٌٍدذ بڀُهد :
خِن ظعس ٫خڀربودڄؿ ،وخٴعك ُ٬ىُٻ ٬ځً ودٴٍش خؼبٕفالض وخؼبٽًْ :
وـًود خڀَُٕدپ وزًون ؤٌ ٬ىدء ،خِن ٸڃ زىٕىص و٘ٱٿ خڀربودڄؿ وؤيوٿ خڀَُٕدپ خڀٝمُك خڀٌٍ وـًودي يف خڀربودڄؿ ،مث خ٠ٱ ٣ڄىخٴٷ :
والل ٧ؤن خڀَُٕدپ ٜمُك زًڀُٿ ٨هىَ ٌٍي خڀُٔدڀص ،وٌى ًََُ ڄىد َز ٣خالوعُوط ،ڀُعمٹٷ ڄه خڀعٕفُٿ پيي ًٔنٴُ خڀُٙټص ،وٌىدٺ
ُٔعإټً ڄه ؤن زُدودض خڀعٕفُٿ خڀيت ؤيوځىدٌد ًٰن ڄىؼىٸص ڀًًَ ،وؤوىد لٝځىد ٬ځُهد زَُ٥ٹص ًٰن ُُ٘٬ص وڀه َعڃ خڀعٕفُٿ يف خڀربودڄؿ !
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 436
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٔع٩هُ ڀىد ٌٍي خڀُٔدڀص ٬ىً خڀ١ٱ٬ ٣ځً خڀَّ startڀٍخ هبر ٬ځُىد خِن بټمدپ ٬مځُص خڀعٕفُٿ ،وزب ٍ٥ؤو ڄى ٫خڀربودڄؿ ڄه خڀعمٹٷ
ڄه خڀعٕفُٿ ٬رب خإلوعُوط .يف خغبٹُٹص ڀه وععس ٫ڄٌٍ ًَٝي خڀُٔدڀص ،وڀٽه ڄد ٔىٹىڂ زً ٌى خڀىٜىپ بذل خڀًوخپ خڀيت َٹىڂ ڄه والؽبد
ٜدپ ٬رب خإلوعُوط ڀځعمٹٷ ڄه خڀعٕفُٿ.
خڀربودڄؿ زدالض
ٔىٹىڂ ڄه والپ ٌٍخ خڀربودڄؿ خڀسمػ ٬ه صبُ ٫خڀُوخز ٣خؼبىـىيش يف ٠مُعىد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 437
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
خڀٕهڃ .
ٔعفً خڀ٭ًًَ ڄه خڀُوخز ٣وڄد َهمىد ٌى خؼبىٸ ٫خػبد ٚزدڀعمٹٷ ڄه خڀعٕفُٿ ,وٌى خؼبٙدَ بڀًُ ذ
خحبػ ٬ه ٌٍخ خڀى ٛؤو ٬ه ٌٍخ خڀُخز ٣يف : OllyDbg
والل ٧وـىي خڀُخز ٣وزدألٔٵٿ ڄىً ٬سدَيت :خڀٹسىپ وَٴ ٟخڀَُٕدپ ،وؤَ١دً ٬سدَش ً٬ڂ خالظٝدپ زدڀًٕنٴُ.
بٌن يف ٌٍخ خؼبٽدن ڄه خڀربودڄؿ ظعڃ ٬مځُص خالظٝدپ زدڀًٕنٴُ وخپربٹٷ ڄه خڀعٕفُٿٌ ،ٿ ٌى ٜمُك ؤڂ ڄّوَ؟ وٌىد زدڀعمًًَ ٔىٹىڂ
زةڀٱدء ؤو زبٌٍ ٍ٥ي خڀ٭مځُص جب٭ځً ٌٍَر بذل َٔدڀص خڀٝىخذ.
خ٠ٱ ٣زٙٽٿ ڄّيوؾ ٬ځً خڀى ٛخؼباُ٘ ڀىًَْ ټُٵُص َعڃ زب٬ ٍ٥مځُص خظٝدپ خڀربودڄؿ زدڀًٕنٴُ ٬رب خإلوعُوط:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 438
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
٫٠وٹ٥ص ظىٸٳ ٬ىً خڀ٭ىىخن 0042517Cوؤِپ صبُ ٫خڀىٹد ٢خڀٕدزٹص خڀيت و٠٭ىدٌد ،مث خ٠ٱ٬ ٣ځً خڀَّ Startڄُش ؤوُي ؤُعىٸٳ
٬ىً ظځٻ خڀىٹ٥ص ،ظعس ٫ؤعالل ٧ؤن خڀربودڄؿ َٹىڂ زةَٔدپ خڀسُدودض خڀيت ؤيوځىدٌد بذل ًٔنٴُ خڀُٙټص ٬رب ٌڀٻ خڀُخز: ٣
ٔع٩هُ ٌٍي خڀُٔدڀص ،وٌٍ َٔدڀص خػب٥إ؛ ڀ٭ًڂ وـىي خظٝدپ زدڀًٕنٴُ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 439
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ڄد ٔىٹىڂ ز٭مځً ٌى :خٔعسًخپ NOPزدڀع٭ځُمدض خڀيت ظعهُإ ز٭مځُص خالظٝدپ وبَٔدپ زُدودض خڀعٕفُٿ بذل خڀًٕنٴُ ،وظٽىن ٬مځُص
خالٔعسًخپ زًءخً ڄه خڀ٭ىىخن 0042518Aوبذل خڀ٭ىىخن خڀٌٍ ظ٩هُ ٴًُ َٔدڀص خػب٥إ ،ؤٌ ٬ىً ٌٍخ خڀ٭ىىخن : 004251B6
خِن ٘ٱٿ خڀربودڄؿ وخ٠ٱ٬ ٣ځً خڀَّ Startڀىٙدًٌ وعُفص ڄد ٸمىد زً :
ٔعفً لًوغ و٥إ ٬ىً ٌڀٻ خڀ٭ىىخن خؼبى٠ك زدڀٝىَش ،ؤسر ٌڀٻ ٌى ڄد ٸمىد زً ڄه لٍٲ خڀع٭ځُمدض ،ؤُعڃ بٰالٶ خڀربودڄؿ ز٭ً
لًوغ ٌڀٻ خػب٥إ !!
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 440
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ال زإْ ؤ ً٬ظٙٱُٿ خڀربودڄؿ وخٌٌر بذل وٹ٥ص خڀعىٸٳ يف خؼبٽدن خڀٌٍ َعمٹٷ ٴًُ خڀربودڄؿ ڄه خڀعٕفُٿ ،وخٔعسًپ NOPزعځٻ
خڀع٭ځُمدض ،و ٫٠وٹ٥ص ظىٸٳ ٬ىً خڀ٭ىىخن خڀٌٍ لًغ ٴًُ و٥إ ټ٭الڄص ڀٻ ،وڄه مث ؤيوٿ خڀسُدودض خڀٝمُمص وظعس ٫خڀربودڄؿ بذل ؤن
ظٝٿ بذل خڀ٭ىىخن خڀٌٍ لًغ ٴًُ خػب٥إ :
خِن وٕعسًپ Pop EAXزعځٻ خڀع٭ځُمص لىت ال وبًغ و٥إ يف خڀع٭ځُمص خڀيت ظځُهد : TEST EAX,EAX
وؤَ١دً ٌٍي خڀٹٵّش بذل NOPلىت سبُ ڄه َٔدڀص خڀٝىخذ ،وَعڃ خالوعهدء ڄه خڀعٕفُٿ يف خڀربودڄؿ ،وَعڃ ٸسىپ خڀَُٕدپ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 441
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
وهبٍي خڀ٭مځُص ـ٭ځىد خڀربودڄؿ َٹسٿ زُدودض خڀعٕفُٿ زًون ٬مځُص خڀعمٹٷ ڄه خڀعٕفُٿ ٬رب ًٔنٴُ خڀُٙټص .و زٍڀٻ وٽىن ٸً خوعهُىد ڄه
٬مځُص خڀعٕفُٿ يف خڀربودڄؿ زىفدق.
ظىـً زُخڄؿ ظعمٹٷ ڄه خڀعٕفُٿ ٬ىً ظٙٱُځهد ؤؼىدء خظٝدڀٻ زدإلوعُوط زًون ٬ځمٻ ،وذبً ؤهند
ظځٱٍ زُدنخض خڀعٕفُٿٌٍ .ي خڀربخڄؿ ز٭١هد ؤڄُي ٔهٿ وڄد ٬ځُٻ ٔىي ربًًَ خڀُوخز ٣يف
ؤٌ ڄىهد خڀيت ظٹىڂ ز٭مځُص خالظٝدپ زدڀًٕنٴُ ،وبن دل ظٕع ٫٥ربًًَ خڀُخز٣
خڀربودڄؿ؛ ڀع٭ُٲ خً
٫٠وٹد ٢ظىٸٳ ٬ځً صبُ ٫خڀُوخز ،٣و٬ىً خڀىٸىٲ ٬ځً ؤلًٌد ٸڃ زعٱًن ؤٌ لُوٲ خڀٝمُك ٲ
ظٱًُن لُٲ ڄه :ڄه ٌڀٻ خڀُخز ،٣ؤٌ ٸڃ ذ
www.typhoon.comڀُٝسك www. typhaon.com :
كبٵ ٧خڀعٱًنخض خڀيت ٸمىد هبد ،مث وٙٱٿ خڀربودڄؿ ،و٬ىًٌد ٔعفً ؤوً ال َ٭مٿ هندجُدً ،وٌىد و٭ُٲ ؤن خڀربودڄؿ َٕعىًڂ CRC32وٌٍ
وىخَِڄُص ظٕعىًڂ ڀٽٙٳ ؤٌ ظ٭ًَٿ يف خڀربودڄؿ ،وٸً خٔعىًڄهد خؼبربڄؿ ڀُمى ٫ؤٌ ظ٭ًَٿ زدڀربودڄؿ ،وَسًو ؤوً ٌټٍ ٸځُالً؛ ٴهى دل
َ٩هُ ڀىد ؤٌ َٔدڀص ظسٌن زإن خڀربودڄؿ ڄځ٭ىذ زً ،وخڀيت ټدوط ٔعٕهٿ ٬ځُىد ټؽًنخً يف بهبدي ٌٍي خغبمدَص وزبُ٥هد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 442
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ڀٽه ال ٬ځُٻ ٴٹ ٣ضبٿ خؼبځٳ خؼب٭ًپ يف ollyويف َُ٘ ٣خألوخڄُ ؤيوٿ ٌٍخ خألڄُ BP ExitProcessوڄد ٸمىد زً ٌى وٹ٥ص ظىٸٳ
٬ځً ٌٍي خڀًخڀص ڀى٭ُٲ ڄ ًَٝخڀًخڀص خڀيت َٕعًُ٬هد خڀربودڄؿ ٬ىً بٰالٸً :
خِن ٘ٱٿ خڀربودڄؿٔ ،عفً ؤوً ظىٸٳ يف خؼبٽدن خؼبى٠ك يف خڀٝىَش خڀيت ؤڄدڄٻ ،وٌىد ٸڃ زةِخڀص ٌٍي خڀىٹ٥ص :
ظىـً بذل خؼبٽًْ يف زُودڄؿ OllyDbgوخڀٌٍ ُٔسٌن ڀىد خڀًخڀص خڀيت ظٕعًُ٬هد ڄه والپ خڀربودڄؿ ،وٌٍ ٬ىً ٌٍخ خڀ٭ىىخن يف خڀربودڄؿ
: AutoRun_.ِ00404BB7
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 443
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
بٌن خڀ٭مځُص وخ٠مص دبد َٹىڂ زً خڀربودڄؿ ڄه ٬مځُص لٕدزُص زٌن َٸمٌن ،وٰدڀر خڀ٩ه ؤهند زٌن ٸُمص ـبّوص يف خڀربودڄؿ -وخڀٌٍ و٠٭هد
خؼبربڄؿ -ڄ ٫خڀٹُمص خڀؽدوُص خڀيت وڀًهتد ضبدَص CRC32يف خؼبځٳ خڀٌٍ ٸمىد زدڀع٭ًَٿ ٴًُ ،وخڀىعُفص :خڀٹُمعدن ًٰن ڄعٕدوَعٌن ،وٌٍ ڄد
ٔعف٭ٿ ظځٻ خڀٹٵّش خؼبُٙو٤ص ال ظٹٵّ ،وبمبد ٔعمُ بذل خڀًوخپ خڀيت ظٹىڂ زةٰالٶ خڀربودڄؿ.
وٌىد ظ٭ُٲ ڄدٌخ هبر ؤن ظٵ٭ٿ؟ وٌى ظٱًن خڀٹٵّش خؼبُٙو٤ص بذل ٸٵّش ًٰن ڄُٙو٤ص ،ؤٌ بذل Jmpخلٵ ٧خڀعٱًنخض خڀيت ٸمىد هبد ،و٘ٱٿ
خؼبځٳ ٔعفًي َ٭مٿ وزًون ؤٌ ڄٙدټٿ ،وهبٍخ وٽىن ٸً خوعهُىد ڄه ټُٕ خڀربودڄؿ زٙٽٿ هندجٍ.
ْظالل٬ ٧ىً ظٙٱُٿ ڄځٳ خڀربودڄؿ خڀٱًن ڄ٭ًپ ؤوً ڄٕفٿٌ زدظبىد ،ٴهى ال َٹىڂ زدڀعمٹٷ ڄه
خڀًٕنٴُ ٔىي ڄُش وخلًش ،وٌٍ ٬ىً بيودپ زُدودض خڀعٕفُٿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 444
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹًڂ يف ٌٍخ خڀًَْ ُ٘لدً ڀَُ٥ٹص بهبدي خڀَُٕدپ وټعدزص ټُفه ڀربودڄؿ ڄٙٵُ خبىخَِڄُص خڀعٙٵًن DES
.OllyDbg
.SnD Reverser Tool
.Delphi 7
زسٕد٤ص زٵم ٛخڀربودڄؿ زربودڄؿ PEiDوخٔعىًخڂ خڀسالٌٰن ( Kanalڀځٽٙٳ ٬ه خڀعٙٵًن ) :
ألوً ٸً َٕعىًڄهد خڀربودڄؿ ؤؼىدء لٕدزً ڀځَُٕدپ ؤو زُدودض خڀعٕفُٿ ( وٌٍخ ڄد وبًغ ٰدڀسدً ).
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 445
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
َىسهىد ڀځسمػ ٬ه ؤڄىَ ظع٭ځٷ زدػبىخَِڄُص خؼبٕعىًڄص يخوٿ خڀربودڄؿ ،ٴهىد ڀًَىد . DES
ؤوالَ :ظٕعىًڂ َُ٤ٹٌن :ظٙٵًن EnCryptوٴٻ خپظٙٵًن . DeCrypt
ؼدوُدً ٌٍ :حبدـص بذل ڄٵعدق Keyظٕعىًڄً يف ٬مځُدض خڀعٙٵًن وٴٻ خڀعٙٵًن ،وٌى ڄ٭ځه ،ؤٌ هبر ؤن َعىخـً يخوٿ
خڀربودڄؿ ؤو َعڃ لٕدزً يخوٿ خڀربودڄؿ.
ٴ٭ځً ٔسُٿ خؼبؽدپ :بٌخ ټدن ڀًَىد خڀٽځمص AT4REوؤَيود ظٙٵًنٌد زـ DESزدٔعىًخڂ خؼبٵعدق. 123456ABCD :
ٔىٕعىًڂ خأليخش ، Snd Reverser Toolخوعُ } DES {EnCryptمث ؤيوٿ خڀسُدودض خڀ٭ځىَصٔ ،عفً ؤن خڀُٔدڀص خؼبٙٵُش ٌٍ:
968d9d1b5f836a39والل ٧ؤهند زدڀى٩دڂ خڀٕعص : ) HEX ( ٌُٙ٬
خِن وٍ خڀٹُمص 968d9d1b5f836a39 :و٠٭هد يف Inputوؤزٹٍ وٵٓ خؼبٵعدق ،وڀٽه خوعُ ٔ Des .. Decryptعالل ٧ؤن
ٴٻ خڀعٙٵًن ؤوعؿ ڀٻ AT4REوڀٽه خوعسً بذل ؤن خؼبٵعدق زٹٍ وٵًٕ ڀځ٭مځُعٌن :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 446
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
بٌن وټمد ظالل ٧خڀ٭مځُص ٰدَص يف خڀٕهىڀص ڄ ٫ڄ٭ُٴص خؼبٵعدق خؼبٕعىًڂ يف وىخَِڄُص خڀعٙٵًن.
-ضبٿ خڀربودڄؿ يف OllyDbgوخحبػ ٬ه خڀُٔدڀص خڀٕدزٹص ،و ٫٠وٹ٥ص ظىٸٳ ٬ىً زًخَص خإلـُخء . 004DD8A0
٘ -ٱٿ خڀربودڄؿ وظىـً بذل خڀعٕفُٿ وؤيوٿ خپزُدودض خڀعدڀُص :
-خ٠ٱ Register ٣ؤُعىٸٳ خؼبىٹك ٬ىً وٹ٥ص خڀعىٸٳ خڀيت و٠٭ىدٌد ٸسٿ ٸځُٿ .ڄدٌخ َٵ٭ٿ خڀربودڄؿ زسُدودض خڀعٕفُٿ خػبدٜص زىد؟
ڀىععس ٫ؤوالً زدڀ١ٱ٬ ٣ځً : F8
-وعدز ٫خڀ١ٱ ٣ٴع٩هُ ڀىد ٔځٕځص وُٝص فبُّش وٌٍ 770video920avi532 :ال زً ؤن َٽىن ٌٍخ ٌى ڄٵعدق خڀعٙٵًن ،وخالٔعً٬دء
خڀعدرل ڀً َٹىڂ ز٭مځُص ظٙٵًن ؤو ٴٻ خڀعٙٵًن ،ڀىالل: ٧
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 447
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٌُٙ٬بٌن ٴدڀ٭مځُص خجملُخش ٌٍ ظٙٵًن ،ؤڄد بٌخ ټدن خڀىدظؿ ٔځٕځص وُٝص ( ظٙمٿ
ش -بٌخ ټدن خڀىدظؿ خڀعدرل ڀالٔعً٬دء ٬سدَش ٬ه ٔځٕځص ٔعص
صبُ ٫خپـ ٬ ، Charځً ٔسُٿ خؼبؽدپ ( AsD9•ófÁ :وڀٽه OllyDbgال َ٩هٌُد بٌخ خلعىض ٬ځً َڄىِ ،زٿ َ٩هُ ڄٹدزځهد يف
خڀٕعص ) ) Hex ( ٌُٙ٬ٴدڀ٭مځُص خجملُخش ٴٻ ظٙٵًن.
-ال ل ٧ودظؿ خالٔعً٬دء Call 004DD7B0ؤُعڃ و٠٭ً يف EAXوڀىمدوپ لٵ ً٩ـًُخً 00F3D5F4
-خِن ُٔٹىڂ خڀربودڄؿ دبٹدَوص خالٔڃ خؼبًوٿ ڄ ٫ٸُمص ڄ٭ُىص ڄه والپ خالٔعً٬دء . Call 00404868ڀىًوٿ بذل يخوٿ خإلـُخء
ووُخٸر خؼبٹدَوص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 448
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
-والل ٧وـىي ڄٹدَوص زٌن خالٔڃ خؼبًوٿ Robenوخڀٹُمص خڀىدذبص ٬ه ٴٻ خڀعٙٵًن ڀځَُٕدپ ،وٌٍ 00F3D5F4 :
َ )1عڃ ؤوٍ خڀَُٕدپ ،وَٹىڂ زٵٻ ظٙٵًني زـ DESڄٕعىًڄدً خؼبٵعدق . 770video920avi532 :
خألڄُ زُٕٔ !! ٣ىإوٍ خالٔڃ ووٙٵُي زـ Desزدٔعىًخڂ خؼبٳظدق وودظؿ خڀعٙٵًن ُٔٽىن خڀَُٕدپ؛ ألن خڀربودڄؿ ٬ىًڄد ُٔٵٻ ظٙٵًن
ٌٍخ خڀَُٕدپ ُٔىعؿ ڄ٭ً خالٔڃ خڀٌٍ ٘ٵُودي.
-ڀىٕعىًڂ خأليخش SnD Reverser Tool :إلهبدي َُٔدپ ٜمُك ڀالٔڃ Robenڄٕعىًڄٌن :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 449
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 450
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 451
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ټدڀ٭ديش كبدوپ ظسُٕ ٣خألڄىَ ڀع٩هُ زٝىَش ؤو٠ك؛ ڀٍڀٻ ٔىمدوپ يف ٌٍخ خڀًَْ ؤن نُ٤ق لځىپ ڀٽٿ خڀعٕدئالض خڀيت ٸً ظإيت يف
ٌٌىٻ ,ڀٍڀٻ ن٤ځر ڄىٻ خڀٹځُٿ ڄه خڀعُټُّ.
خڀٽعر خإلڀٽعُووُص ڄؽځهد ڄؽٿ خڀٽعر خڀىَٸُص ،ڀٽىهد زٝٵص لًَؽص َٸمُص ،ظعُـڃ زُدودهتد ټمد َعُـڃ ؤٌ زُودڄؿ ،وٌٍ ً٬ش
ؼالغ ؤٜىدٲ ٬ځً خألٸٿ ڄه خڀٽعر ٬ځً ٌُحدض ـبعځٵص ،ڄؽال :
ؤ٘ٻپ وڀٽٿٍ وىخَِڄُعً ،وكبه ٬ځً َٹٌن زدوٻ َؤَط ؤټؽُ ڄه ش
خ
EXE ، PDF ، DOCټمد َؤَط ؤَ١دً زُخڄؿ ڀځعمىَٿ ڄه ٌُحدض خذل ؤوُي.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 452
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ڄى٠ى ٪خڀُىڂ َعمًغ ٬ه خڀٽعر ڄه ٌُحص ڄځٳ ظىٵٌٍُ وبعىٌ ٜٵمدض خڀٽعر زٙٽٿ ڄى٩ڃ ؤهٿ خالٔع٭مدپٌ .ىدٺ ً٬ش زُخڄؿ
ظىعؿ ٌٍخ خڀٝىٳ ڄه خڀٽعر ،وؤ٘هٌُد Ebook Workshopخڀٌٍ ْن٬عمًي يف خڀًَْ.
ال َٵعُ ٞزىد ؤن نُ٘ق زُودڄؿ eBook Workshopألوً ڀُٓ ڄى٠ى٬ىد .ڀٹً ٸمىد زٝى ٫ڄؽدڀٌن ٔىٕعٱځهڃ يف خڀًَْ.
ٔىځٹٍ وُ٩ش ٬ځً خؼبؽدپ خألوپ ,وْذبً ؾبځً زدٔڃ Ebook To Crackڄُٴٷ ڄ ٫خڀًَْ ٸڃ زدوعُدَ Exemple 1.exeوٌى
ؤزٕ ٣ڄؽدپ زٽځمص ُٔ :
ټمد ظُي ؤوپ ڄد َ٥دڀر زً ٌى خڀعٕفُٿ وَ٥ځر ٴٹ ٣ټځمص خڀُٕ .ڄى٥ٹُد وټمد ـُض خڀ٭ديش ٔىسمػ ٬ه ٍ٘ء َإوٍود ؽبٍي خڀىدٴًش
وٌٍ Passwordؤڀُٓ ټٍڀٻ؟!
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 453
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٌٍخ خڀٽعدذ ڂ٠ٱى ٢زـ ASPackوٌى ٠دٰ ٣ڄٙهىَ ټمد ظ٭ځڃ ويَوْ ٴٽً ټؽًنش ـًخً ،ڀٽه ٌىدٺ ُٔ يف ٴٻ ٌٍي خألڄؽځص
ْنً٘ن بڀًُ خ يف ؿبځهد زةٌن خهلل.
ز٭ً ؤن ُ٬ٴىد وى ٪خڀ١ٱ ٣وَُ٤ٹص خڀٵٻ خڀسُٕ٥ص خؼبُٙولص يف خڀىٕىص خألوذل ڄه خڀٽعدذَ ،سٹً ٬ځُىد خڀع٥سُٷ خغبُيف ڀځَُ٥ٹص ڀىمٝٿ
٬ځً خڀربودڄؿ خألٜځٍ ( ڄٵٽىٺ يف خڀٍخټُش ).
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 454
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٸڃ ز٭مٿ ربځُٿ ڀځٽىي ،وٌڀٻ زدڀ١ٱ٬ ٣ځً Ctrl + Aمث ؤِپ وٹ٥ص خڀعىٸٳ ڄه وى HardWare ٪خڀيت و٠٭ىدٌد ،ټمد َځٍ :خذبً
ڀٹدجمص : Debug
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 455
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
مث :
لػ ٬ه خڀٽځمص خؼبٵعدق ڀٽُٕ خڀٽعدذ وٌٍ ٠ Passwordمه وٝى ٚخڀربودڄؿ :
ٔىٹىڂ خالن زدپذ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 456
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ٔعىُؾ ڀٻ ودٴًش خڀىٛو ٚخٜ٭ً پأل٬ځً وخزًؤ خڀسمػ خؼبععدرل ٬ه ټځمص : Password
خِن ظ٭ُٲ ڄد ٬ځُٻ ٴ٭ځً ,وٌى و ٫٠وٹ ٣ظىٸٳ يف ټال خؼباَُ٘ه ڀٽځمص Passwordمث خڀ١ٱ٬ ٣ځً , F9ڄدٌخ لٝٿ؟ ڀٹً
ٴعمه خڀٽعدذ زًون خؼبىٹك وُـط ڀىد ودٴًش خڀعٕفُٿ ،ؤڀُٓ ټٍڀٻ؟ وٌد كبه ڄعىٸٵىن
ظىٸٳ يف بلًخنبد .الل ٧ڄ٭ىد يف خألوپ ؼبد خ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 457
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
خِن يف خؼبىٹك -يف ٍ٘ء ڄهڃ ڀٽُٕ خڀٽعدذ -و ڄد ٬ځُىد ٔىي ـ٭ٿ خؼبىٹك َعدز ٫ظىٹُك خڀٽعدذ ظځٹدجُدً ڀىُي ڄىٸ ٫وُوؾ خڀىدٴًش
خؼبّ٬فص.
خڀٽعدذ ؤ٤ځٷ ودٴٍظً خؼبّ٬فص ڀځعٕفُٿ ،وټمد ظُي ٴدؼبىٹك ظىٸٳ ٬ىً خٔعً٬دجهد ،وْذبً ٸسځهد ٸٵّخض ڄُٙو٤ص ،وخڀٹٵّش خڀىخ٠مص
خڀيت ال ذب٭ٿ خڀٽعدذ ڄٕفالً ٌٍ خڀيت ال ظً ٪خؼبٕفٿ َ BLإوٍ ٸُمص ٜ ( 1مُك ) :
ڄد ٬ځُىد ٔىي ٬ٽٕهد خو ـ٭ځهد ال ظٹٵّ يخجمدً ،ڀى٭ٽٕهد ,ؼبدٌخ و٭ٽٕهد زًپ ؤن قب٭ځهد ال ظٹٵّ يخجمدً؟ خعبىخذٌ :ى ً٬ي خڀسدَعدض خڀيت
خذخ ٴةوىد ٔىٱًن ٬ځً خألٸٿ زدَعٌن خو
ٔىٱًنٌد؛ ٴٵٍ لدپ ٬ٽٕهد ٴٹٔ ٣ىمٝٿ ٬ځً ظ٭ًَٿ زسدَط وخلً ،ؤڂخ يف لدپ ـ٭ځهد ال ظٹٵّ ي
ؼالغ.
ش
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 458
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
يًهتب
.3نتاب ١يٛزض ا
ؤظعٍټُ ڄد ٸځىدي يف خڀسًخَص :
" ٌٍخ خڀٽعدذ ڂ٠ٱى ٢زـ ASPackوٌى ٠دٰ ٣ڄٙهىَ ټمد ظ٭ځڃ ويَوْ ٴٽً ټؽًنش ـًخً ،ڀٽه ٌىدٺ ُٔ يف ٴٻ ٌٍي خألڄؽځص
ْنً٘ن بڀًُ خ يف ؿبځهد زةٌن خهلل" .
ٌىد ْنـُر :زسٕد٤ص ٴةن ٌٍخ خڀىى ٪ڄه خڀٽعر ال َٕعىًڂ ٠ٱ ٣ٴٹ ،٣زٿ َ٭عمً ظٹىُص خڀـ Overlayوٌٍ ظٹىُص ظع٥ځر ز٭ٟ
خؼبهدَخض يف خڀع٭دڄٿ ڄ٭ً خ ،ټمد ؤن ٌىدٺ يَْ پألن ، Atlasseوُ٘ق ڄه خألٔعدٌ dj-sibaلىپ ٌٍي خڀعٹىُص.
زٍڀٻ وٕعىؿ ؤوً ڀُٓ ڄه خڀٕهٿ ٴٽً ًَوَدً ،ڀٽه ڄد وعٵٷ ٬ځًُ ؤوىد ټُٕودي يف خڀٍخټُش وڀًَىد زًَٿ ڀځـ Patchوٌىد ظعفځً ٸُمعً،
وٌى خڀـ Loaderوٌٍخ خڀربيبؿ زسٕد٤ص َٹىڂ زدپظ٭ًَٿ ٬ځً زُودڄؿ ڄد يف خڀٍخټُش ڄسدُ٘ش.
ټمد ظالل ٧ڄه ٬ىىخن خڀٵٹُش " ټعدزص ڀىيَ ڀځٽعر " وڀُٓ ٜى٭ً زربودڄؿ ڄد.
خِن ٔىٹىڂ زربؾبص Loaderڀځٽعدذ خألوپ زدألظبسځٍ ،وزدٔعىًخڂ يوخپ ٸً مت ُ٘لهد يف خإلًٜخَ خألوپ ڄه خڀٽعدذ يف ٴٹُش خڀځىيَ؛
ڀٍڀٻ ٔه ٫٠خڀٽىي ڄسدُ٘ش ،وْن ٫٠ڄالل٩دض ٴٹ: ٣
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 459
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
وٸط ڀعٵٻ يف خڀٍخټُش ,ڀٍڀٻ ٔىٹىڂ زةَٹدٲ خڀځىَي ڄًش ِڄىُص ڄ٭ُىص ٸًٝنش
ټڃخ و٭ُٲ ٬ه خڀربخڄؿ خؼب١ٱى٤ص وخؼبٙٵُش ٴةهند ظإوٍ خً
ـًخً مث نسبڃ ٬مځىد زٕالڂ .
.4اغتدطاز اٍغطٜاٍ
خألڄُ زُٕ ٣ـًخ ٌٍي خؼبُش ،يف خؼبُش خڀٕدزٹص ،ؤٌ يف خڀٵٹُش خڀٕدزٹص ،ـ٭ځىد خؼبىٹك ًَڀىد ٬ځً ڄٽدن خٔعً٬دء ودٴٍش خڀعٕفُٿ ،ودل
ن٘دًٌ خؼبٹدَودض خڀيت َٹىڂ هبد ،ؤڄد يف ٌٍي خڀٵٹُش ٲٔىٹىڂ خذپظعس ٫زإوٵٕىد ُٔ٥خً ُٔ٥خً ،ؤىُي ڄدٌخ ْوبٝٿ ؟
ؤ ً٬ظٙٱُٿ خؼبؽدپ ،وٸڃ زة٬ديش وٵٓ خؼبُخلٿ يف خڀٵٹُش خڀٕدزٹص ،وڀٽه ال ظ١ٱٌٍ ٣ي خؼبُش Ctrl + F8زٿ ٸڃ زدڀععس ٫زـ : F8
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 460
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ڄرَٺ ٬ځُٻ.
ٔعفً خدلٸدَوص ،وخپَُٔدپ يف خؼبٕفٿٌ .د ٸً وـًود خپَُٔدپ زٕهىڀص ،وٌى AT4REـُزً ،و خ
ْن ٫٠خڀٽىي زًون ُ٘ق؛ ألوً قي مت ُ٘ق ٌٍي خڀٵٹُش يف خإلًٜخَ خألوپ ڄه خڀٽعدذ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 461
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ڀىٵعك خؼبؽدپ خڀؽدين ٔهـً ؤوً َ٥ځر َُٔدپ ڄع٭ځٷ زٹُمص زًوٌَد ڄع٭ځٹص زدٔڃ خعبهدِ :
خڀٽُفه .ټُٳ ٔىفځر خپَُٔدپ ؽبٍخ خؼبؽدپ؟ خعبىخذ زُٕ ٣ـًخً :زىٵٓ َُ٤ٹص
ڄد ٬ځُىد ٔىي ـځر خپَُٔدپ ؤوالً ،مث سنٲكر ذ
خؼبؽدپ خألوپ ٔىفً خپَُٔدپ ڀځمؽدپ خڀؽدين.
يف خؼبٕفٿ EAXڀٽىً َعٱًن ڄه ـهدِ ِوُ؛ ٴمؽالً ٬ځً ـهدٌِ ؤـً :
B087B3739356A 0
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 462
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد ڀًَٻ ٴځه َٙعٱٿ؛ ڀٍڀٻ َځّڄىد ټُفه .ٸسٿ خڀسًء يف ڄُخلٿ خڀٽُفه ڀىٹڃ زٝى Sniffer ٫ڀځٽعدذ خڀؽدين زىٵٓ خڀَُ٥ٹص سبدڄدً،
وَٽٵٍ ظٱًُن خڀ٭ىىخن AdressVAخذل . 0048AE61hؤڄد خڀځىيَ خألوپ خڀٌٍ زُؾبىدي يفصحل ڀً؛ ألن ٬ىىخن خؼبٹدَوص ال َعٱًن .ؤڄد
َٽٵٍ ظٱًُني يف خڀٕىَْ ټىي مث صب ٫خڀځىَي.
يف لدپ ڀى ظٱًن ٲ
ڀىمُ خذل ٜى ٫خڀٽُفه – وڀُٓ زُؾبعً َ -ځّڄٻ زُيبفٌن َإظُدن ڄ ٫زُودڄؿ Ebook WorkShopونبد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 463
AT4RE انفريك انعرتي نههُذسح انعكسيح: ذطثيماخ عًهيح يىسعح انهُذسح انعكسيح :خطىج إنى األياو.
وخِن ز٭ًڄد وـًود خؼبٵعدق َځّڄىد خڀُٸڃ خڀعٕځٕځٍ ڀځفهدِ ٔىمٝٿ ٬ځًُ زـ : GetID
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 464
الباب الثامً :تصنيه سلييات للباتصات
465
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ٔىٹًڂ ٌىد ُ٘لدً ڀځمُخلٿ خڀ٭مځُص ڀعٝمُڃ ٔٽٌن ڀربودڄؿ dupوخڀٌٍ َٕعىًڂ ڀٝىد٬ص زدظٙدض وڀىيَخض.
)2هتُحص خڀٕٽٌن.
)3ظُټُر خڀٕٽٌن.
-ؤَٴٹىد ڄ ٫خڀًَْ ظٝمُمدً ڄ ٫خؼبځٳ خؼب ًٌَٝزاللٹص PSDڀُعڃ خڀ٭مٿ ٬ځًُ ؤؼىدء خڀُٙق.
ٔ -ى٭عمً ٬ځً ٔٽٌن ڄىـىي ڄٕسٹدًَ ,إيت ڄ ٫زُودڄؿ dUPوٌى , VistaSkin.resؤىمدوپ خٔعسًخپ خڀٝىَ خػبدٜص زعٝمُمىد
زدڀٝىَ خڀيت ربعىًَ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 466
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-وٵعك خجملځً Bitmapووځٹٍ وُ٩ش ٬ځً خڀٝىَ خڀىخـر ظّوًَ خڀربودڄؿ هبد :
)1وځٵُص ڀځعٝمُڃ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 467
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
َّ -ويود زُودڄؿ dupدبُّش ظٵَُٯ ڀىن ڄ٭ٌن ڄه خڀعٝمُڃ ,ڄه والپ بوٙدء ڄځٳ زاللٹص RGNوٌىد هبر خالوعسدي بذل ؤن َٽىن ٌٍخ
خڀځىن ًٰن ڄٕعىًڂ يف خڀعٝمُڃ.
ڄه -لدوپ ـ٭ٿ ڀىن خػبځٵُص ( خڀ٥سٹص ) Backgroundزځىن ڄٙدزً ڀځٝىَش خڀعدڀُص ڄه والپ ظ٭ٌُن خػبدُٜص Color Overly
خڀىدٴٍش Layer Styleوخڀيت يبٽه ؤن ظ٩هٌُد زدڀىٹُ خؼبّيوؾ ٬ځً خڀ٥سٹص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 468
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-خِن ٔىمدوپ بوٙدء خغبدالض خألَز ٫ڀځَّ ( Patchڄد َ٥سٷ ٬ځًُ يبٽه ؤن َ٥سٷ ٬ځً زٹُص خألَِخَ) ،ؤىٕعىًڂ ٌىد َُ٤ٹص زُٕ٥ص
ؤَُ٭ص.
-خٴعك خجملځً PATCH BTNيف ودٴٍش Layersوخوعُ خڀى Patch ٛوخڀٙٽٿ Patchزدالٔع٭دوص زدڀ١ٱ٬ ٣ځً خڀَّ Ctrlؤؼىدء
٠ٱ ٣خڀٵإَش.
خِن خ٠ٱ٬ ٣ځً خؼبٳخظُك Ctrl + Eڀًڄؿ خڀ٥سٹعٌن ڄ ٫ز٭١همد ،ؤعٙدًٌ خڀىعُفص خڀعدڀُص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 469
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
خِن خڀَّ ٴُعك دبُٙو ٪ـًًَ ،وٌى ٸدزٿ ڀځعمَُُ ڄٵُيخً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 470
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-خلٵ ٧خدلڀٳ خِن زاللٹص BMPزدٔعىًخڂ File > Save As :ؤو خٔعىًڂ ظُټُسص خؼبٵدظُك Ctrl + Shift + Sوخلٵ٩هد زدالٔڃ
Patch_Up.Bmpوٌى خغبدڀص خألوذل ڀځَّ.
-خوٹُ ٬ځً خڀ٥سٹص Patchوٹُخً ڄّيوـدً ڀعىُؾ ڀٻ خڀىدٴٍش LayerStyleخوعُ ڄىهد خڀسدذ Color Overlayوخوعُ ڀىودً وڀُٽه
خألو: ُ١
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 471
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-ټَُ خڀ٭مځُص خڀٕدزٹص ڄه ؤـٿ خڀَّ Patch_Downڄ ٫خوعُدَ ڀىن آوُ ؤو ظإؼًن ـبعځٳ.
– زدڀىٕسص ڀځمدڀص Patch_Disableيبٽه ب٠دٴص خڀعإؼًن Satinڄ ٫خوعُدَ خڀځىن خڀُڄديٌ وخػبدُٜص . Distance = 0
ُٔ -ٽىن خڀٙٽٿ خڀىهدجٍ ڀځمدالض خألَز ٫ڀځَّ ڄٙدزً ڀځٝىَش خڀعدڀُص :
-هبر خالوعسدي بذل لٵ ٧خألڀىخن خؼب٥سٹص ٬ځً خڀَّ Patchڀع٥سٹهد ٬ځً خڀَّ Aboutٴٍٙء صبُٿ ؤن وبمٿ خالؼىٌن وٵٓ خڀځىن.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 472
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-ټمد وىي خإل٘دَش بذل بڄٽدوُص ربىَٿ خؼبٕعُ٥ٿ بذل Smart Objectمث ب٠دٴص و٬ ٛځًُ ،وٌٍخ َٽىن ؤټؽُ ٴ٭دڀُص ،وَٕمك ڀٻ
زة٠دٴص ظإؼًن ڄىٵٝٿ ٬ځً خڀى ،ٛوڀٽىىد خظس٭ىد ٌٍي خڀَُ٥ٹص لىت ال َ٥ىپ خڀُٙق ټؽًنخً.
-ؤڄد مبىٌؾ Aboutٴُعس ٫وٵٓ خڀعٝمُڃ خؼبٕعىًڂ يف خڀىمىٌؾ خڀُجٍُٕ ،ڄ ٫خالوعسدي بذل ً٬ڂ بڄٽدوُص خٔعىًخڂ ودُٜص ؤوٍ ٘ٽٿ
ڄ٭ٌن ( ) RGNوڀه وعُ٥ٶ ڀُٙلً ٌىد.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 473
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-ز٭ً ٌڀٻ لبعدَ ظٝمُڃ خػبځٵُص خػبد ٚزىد وو١ٱ: Replace ٣
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 474
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-ز٭ً خالوعهدء وىعٹٿ بذل ظ٭ًَٿ خڀىمدٌؾ Dialogڀى ٫٠خڀ٭ىد ُٜيف ؤڄٽدهند خؼب٥دزٹص ڀعٝمُمىدٔ ،ىمدوپ ـ٭ٿ خڀىمىٌؾ وخڀ٭ىد ُٜڄٙدهبص
ڀځٙٽٿ خڀعدرل :
-خِن كبٵ ٧خڀٕٽٌن زدٔڃ ـًًَ ،وڀُٽه MySkin.resڄه والپ خألڄُ . File > Save As :
ٔ -ىىعٹٿ خِن بذل ٬مٿ ڄځٳ RGNوخڀٌٍ َٕعىًڂ ڀعٵَُٯ خڀٙٽٿ ڄه خڀځىن خڀسىٵٕفٍ.
-وٵعك ٜىَش خػبځٵُص ڄه والپ Browseمث و١ٱ ٣خڀَّ Pickولبعدَ خڀځىن خڀسىٵٕفٍ زدٔعىًخڂ ٘دٴ٥ص خألڀىخن مث و١ٱ ٣سر
انفأرج األميٍ ولبعُ : Ok
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 475
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
وعىـً بذل زُودڄؿ Dupووًوٿ ڄ٭ځىڄدض خڀربودڄؿ ڄه والپ خڀَّ . New Project
وىعٹٿ ز٭ًٌد بذل ڀىلص Settingsونِوي خڀربودڄؿ دبځٳ خڀٕٽٌن خڀٌٍ ؤوٙإودي MySkin.resودبځٳ ( RGN
.) MyRgn.RGN
ؤڄد زدڀىٕسص ألڀىخن خؼبُز٭دض خڀىُٝص وڀىن خڀٽعدزص ،ٴُفر ٠س٥هد ڀععىخٴٷ ڄ ٫خڀعٝمُڃ ،وڀځمٝىپ ٬ځً خڀځىن زًٸص وعس ٫ڄد
َځٍ ٠مه خڀٵىظى٘ىذ :
- 1و١ٱ٬ ٣ځً خؼبُز٭ٌن يف خڀّخوَص خڀُُٕي.
- 2لبعدَ خپڀىن زٙدٴ٥ص خألڀىخن .
- 3وىٕه خڀځىن ڄه خؼبُز ٫خڀٕٵځٍ ( خڀٕعص ( ٌُٙ٬ووځٝٹً يف . Dup
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 476
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-يبٽىىد ؤَ١دً ظٱًن ڀىن ولفڃ خػب ٣ووى ً٬ڀځى ٛخؼبعمُٺ Scroll textلٕر ٌوٸىد وَئَعىد خڀٵىُص ،ؤىمدوپ ٠س ٣خإلً٬خيخض
ټدڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 477
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
-خِن خؼبځٳ ـدٌّ ڀالو٥الٶ ڄه والپ خڀ١ٱ٬ ٣ځً خڀَّ Create Patchوٌٍي ٜىَش ڀځٕٽٌن ز٭ً خڀعُټُر :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 478
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ٌى زُودڄؿ ٜدو ٫ڀځسدٖ ًَ٬ڃ ً٬ش ؤوىخ Offset patch ٪و S+R Patchو patch Registryو
دلن ال َ٭ُٲ زُودڄؿ Upppٲ
FileDropوًَ٬ڃ ٜىَ خڀـ PNGٴٹ ٣يف خڀٕٻٌودض وٌى ڄه زُؾبص UFO-Pu55yڄه ٴَُٷ . SND
.1خطٛات ايعٌُ
.1ٸڃ زعٝمُڃ ٔٽٌن زإٌ زُودڄؿ ظٝمُڃ ذبًُ خٔعىًخڂي (يبٽىٻ خالٔعٵديش ڄه ڄځٳ خڀـ PSDخؼبُٴٷ).
٬ .2مٿ خڀٕٽٌن َع٥ځر لٵٜ 6 ٧ىَ ڄه وى PNG ٪زدڀٙٽٿ خڀعدرل :
-خػبځٵُص. 1
َِ -خڀسدٖ. 2
َِ -خػبُوؾ. 3
٬ َِ -مٿ خڀىٕىص خاللعُدُ٤ص (ٌٍي خػبدُٜص خوعُدََص يبٽه خالٔعٯنخء ٬ىهد). 4
َِ - 5بَٹدٲ وظٙٱُٿ خڀىٌٍ( ًُٙي خػبدُٜص خوعُدََص يبٽه خالٔعٯخنء ٬ىهد).
ٜ - 6ىَش ٜٱًنش ؼبٙدًٌش خڀٕٽٌن ٬ىً خوعُدًََ يف خڀربودڄؿ (٬ديش ظٽىن ؤز٭ديٌد .)150 X 275
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 479
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد زدڀىٕسص ڀَّ خڀسدٖ ٴُفر ؤن َٽىن ټمد يف خؼبؽدپ خڀعدرل ،وبعىٌ ٬ځً خغبُټدض خڀؽالغ زدڀعُظُر
ِوـٍ.
خً خڀعدرل (ڀأل٬ځً ،ڄاُ٘ ٬ځًُ ،ڀألٔٵٿ) وهبر ؤن َٽىن ُٞ٬خڀٝىَش (ً٬ )in pixelsيخً
ؤڄد زدڀىٕسص ڀَّ خػبُوؾ ٴُفر ؤن َٽىن ټمد يف خؼبؽدپ خڀعدرل ،وبعىٌ ٬ځً خغبُټدض خڀؽالغ زدڀعُظُر
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 480
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ِوـٍ.
خً خڀعدرل (ڀأل٬ځً ،ڄاُ٘ ٬ځًُ ،ڀألٔٵٿ) وهبر ؤن َٽىن ُٞ٬خڀٝىَش (ً٬ )in pixelsيخً
ؤڄد زدڀىٕسص ڀَّ خڀٝىض ،ٴهى ٘سًُ زَّ خڀىٕىص خاللعُدُ٤ص ،وڀٽه ظٱًن خڀٽعدزص ټمد يف خڀٝىَش خڀعدڀُص :
(و ٌىد ؤَ١دً ٸڃود زى ٫٠خڀځىن خڀُڄديٌ ټىځٵُص ،ڀٽٍ ظ٩هُ ټٿ خألَِخَ يف خڀُٙق)
ٜىَش ڄٙدًٌش خڀٕٽٌن ټمد ٸٿود ٜٱًنش خألز٭دي ( )150 X 275ٴهٍ ًٰن ڄهمص ڀځٕٽٌن ،وڀٽىهد
ڄهمص ڀځربودڄؿ ،ٴال يبٽه خٔعً٬دء خڀٕٽٌن ڄه يوهند.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 481
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
- 1ؤَٹىوص.
- 2ڄځٳ خػب ٣خؼبُخي خٔعىًخڄً (هبر ؤن َٽىن ٜٱًن خغبفڃ؛ ألوً َاؼُ ٬ځً لفڃ خڀسدٖ خڀٽځٍ).
- 3ڄځٳ و ًُٙڄه وىٌٍ( xm ٪ي خػبدُٜص خوعُدََص يبٽه خالٔعٯنخء ٬ىهد).
خڀٳَش :خڀربودڄؿ ًَ٬ڃ خڀىىٌ٬ن :خڀىى ٪خڀؽدزط ( ).CURوخڀىى ٪خؼبعمُٺ (ٌٍ ( ).ANIي خػبدُٜص خوعُدََص يبٽه - 4ڄاُ٘ ؤ
خالٔعٯنخء ٬ىهد).
.4خػب٥ىش خألوًنش يف ظٝمُڃ خڀٕٽٌن ٌٍ بوٙدء ڄځٳ ( ).iniوٌى خؼبځٳ خؼبٕاوپ ٬ه ذبمُ ٫خڀٕٽٌن وؤڄدټه خألَِخَ وخؼب٭ځىڄدض
خڀيت ربعىَهد خڀسدٖ؛ ټدٔڃ خڀربودڄؿ وًٰني ،ؤىٕعىًڂ إلوٙدجً زُودڄؿ . uPPP SkinHelper v0.1
- 1ٸڃ زٕك ذ خڀٝىَ بذل ؤڄدټىهد خؼبىٝٝص يف خڀربودڄؿ ،ټمد ٌى ڄى٠ك يف خڀٝىَش ،وټٍڀٻ خألڄُ زدڀىٕسص ڀألَٹىوص وخػب٣
وڄځٳ خڀى: ًُٙ
- 2خوعُ خڀَّ خڀٌٍ ظًَُ ظٱًُن ڄٽدوً ،وخٔعىًڂ خألٔهڃ ڀعٱًُن خؼبٽدن :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 482
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
- 3خِن ٬ځُٻ ظٱًُن ڄٽدن خڀٽعدزص خؼبعمُټص ،وظ٭ًَٿ وٝدجٝهد ټمد ظًَُ :
- 4وٹىڂ خِن زعٱًن ؤڄدټه خؼب٭ځىڄدض ټمد ٸمىد زعٱًُن ؤڄدټه خألَِخَ (زدڀىٕسص ڀځم٭ځىڄص خڀيت ظًَُ خالٔعٱىدء ٬ىهد خظُٺ خػبُدَ
)Noneوخٔعىًڂ خألٔهڃ ؤَ١دً ڀى٠٭هد يف ڄٽدهند خؼبىدٔر :
- 7ٸڃ حبٵ ٧خؼبځٳ ٬ه َُ٤ٷ خڀَّ ،ويبٽىٻ ؤَ١دً خٔعىًخڂ َِ ( )REFRESHڀعٙدًٌ خڀعٱًُنخض ؤڄدڄٻ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 483
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
.5خِن وز٭ً خالوعهدء ڄه خڀعٝمُڃ يبٽىٻ خٔعىًخڂ خڀٕٽٌن يف زُودڄؿ Upppوبوٙدء خؼبځٳ خڀعىٵٌٍُ ؼبُٙو٬ٻ.
.2ايٓتٝذ١
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 484
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
زُودڄؿ RealDraw 5ؤو ټمد ٔىٕمًُ RD5يبٽه ؤن وٹىپ :بوً وبعٿ خؼبُظسص 2ز٭ً زُودڄؿ خڀـ Photoshopخڀٙهًن ،ڄه لُػ
زُخڄؿ خڀعٝمُڃ ,يف ئَىد ٌٍخ ٔىٹىڂ زعٝمُڃ ٔٽٌن ) Uppp (Transparent Skinهبٍخ خڀربودڄؿ.
.Real Draw
ٜىَش خدلٌَُِص زدؼبُٴٹدض.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 485
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
)1خوعُ Project
)2ز٭ًٌد …Import
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 486
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ټمد ظُي ڀًَىد 6ڄٌَُّدض ،وظُخويود ٴٽُش ؤن قب٭ٿ ٘٭دَ خڀٵَُٷ " "AT4REټٿ لُٲ ڄه ٌٍي خڀـمُوٲ خػبمٕص ٬ځً ڄٌَُّص ڄه
خؼبٌَُّدض.
٬ځُىد خالٔعٱىدء ٬ه وخلًش ,وؤَ١د ـ٭ٿ خڀٕٽٌن ٘ٵدٴص يف بِخڀص ڀىن خػبځٵُص خألزُ.ٟ
ٸڃ زدڀ١ٱ ٣ڄُظٌن ٬ٿي خڀٝىَش زدڀَّ خألَُٕ ڀځٵإَشٔ ،عىٵعك ودٴٍش خڀع٭ًَٿ ټمد َځٍ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 487
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
ٌٍي خأليخش ظً٘ ً٬ٵدٴُص خڀځىن ) (Color Transparencyوخڀٱُ ٞڄىهد بِخڀص خألڀىخن خڀٱًن ڄُٰىذ هبد يف ڄىد٤ٷ )1
ڄ٭ُىص ڄه خڀعٝمُڃ /خڀٝىَش .وألن خڀٕٽٌن خؼبُخي ٬مځً ٘ٵدٲ؛ ڀٍخ ٔىَّٿ خڀځىن خألزُ ٟڀځىځٵُص.
ٌٍ )4ي خأليخش ڄهمعهد ظعمؽٿ يف مشىڀُص خألڀىخن خؼبُخي خٸعٝدٜهد٬ ،ځً ٔسُٿ خؼبؽدپ بٌخ ټدوط خؼبى٥ٹص ؿبعىَص ٬ځً ؤټؽُ ڄه ڀىن وخلً
ٴ٭ځُىد ربَُٻ ٌٍي خأليخش پڀُمٌن زٹًَ ڄ٭ٌن ٬ځً لٕر ً٬ي خألڀىخن خؼبىـىيش زعځٻ خؼبى٥ٹص ،ٴٵٍ ڄؽدڀىد ٌٍخ ال كبعدؾ
ڀعمَُٽهد؛ ألن ڀىن خػبځٵُص وخلً ٴٹ ،٣وٌى خڀځىن خألزُ: ٟ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 488
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
خڀىعُفص :
تؼذ: لثم:
)3ټمد ظُي ز٭ً خڀ١ٱ ٣زدڀَّ خألَُٕ ڀځٵدَش يف خؼبٽدن 3مت بِخڀص خڀځىن خڀربظٹدرل ڄىً ،وزٹُط خؼبى٥ٹص ٘ٵدٴص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 489
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
خڀىعُفص :
بِخڀص ظٽُخَ ؤڀىخن خؼبٌَُّعدن -خڀَّٸدء وخغبمُخء -زةوٙدء ڄٌَُّعٌن زځىوٌن آوَُه :
خڀٵٽُش ظعمؽٿ يف خڀعٹدٜ ٢ىَش ٬ه ڄٌَُّص ظسًو ـًُش ڄه ودلُص خڀٙٵدٴُص وخڀځىن ،ټدؼبٌَُّص خػبُ١خء ،وز٭ً ٌڀٻ ظٱًُن ڀىهند :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 490
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
)2خأليخش 2ڀعٝٱًن خڀربودڄؿ ،وخڀٱُ ٞڄىً خڀعٹدٜ ٢ىَش ؼبٽدن آوُ ڄه ًٰن خڀربودڄؿ ټـ ٔ٥ك خؼبٽعر.
)1ٸڃ زةِخڀص خڀع٭ٌُن ٬ىهد؛ ألوىد وًَُ ٬مٿ Screenshotڄه وخـهص خڀربودڄؿ ڀځمٌَُّص خػبُ١خء.
)2و١ٱ ٣زدڀَّ خألَُٕ ڀځٵإَش يف خؼبٽدن 3ڀسًء ربًًَ خؼبٽدن خؼبُخي ؤوٍ Screenshotڀً.
تؼذ: لثم:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 491
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
يف خڀٝىَش خڀعدڀُص :زدأليخش 4وٹىڂ زعٱًُن ڀىن خڀىٕىص 1بذل ڀىن ـًُ وڄىدٔر :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 492
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
زُٕ٥ص ،و٭مٿ وٵٓ خڀٍٙء ټمد ٬مځىد ڀځىٕه خؼبدُ٠ص :وٕه ,بِخڀص٘ ،ٵدٴُص ،وظسًَٿ ڀىن :
.2ؾعاض اٍؾطٜل
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 493
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
)2ؤيخش خڀٽعدزص.
)4ڄٽدن خڀٽعدزص.
وٽعر Aمث وٹىڂ زىٕىهد ،ز٭ًٌد وٹىڂ زځٝٹهد ٴىٶ خڀٕٽٌن ،وو١٭هد ٴىٶ خؼبٌَُّص خألوًنش ټمد َځٍ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 494
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
وٹىڂ زعمًًَ صبُ ٫خغبُوٲ ،وو١ٱ ٣زدڀَّ خألَُٕ ڀځٵإَش ،ولبعُ ,1وخڀٌٍدذ ڀـ Layersوخوعُدَ : Overlay
a
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 495
AT4RE انفريك انعرتي نههُذسح انعكسيح: انرصًيى انهُذسح انعكسيح :خطىج إنى األياو.
زدڀىٕسص ڀعٝمُڃ خألَِخَ ظُټىدٌد ڀٻ ،ؤڄد ټُٵُص خٔع٭مدپ خڀٕٽٌن ڄ ٫زُودڄؿ Upppٴٹً ظٽُڂ خألن Dr.badزُٙق وخٲٍ ڀٍڀٻ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 496
الباب التاسع :متفرقات
497
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ُٔٽىن يَْ خڀُىڂ وځُ٥دً فبد يبٽه ڀځمهىًْ خڀ٭ٽٍٕ خؼبسعًت ؤن َالٸًُ ؤؼىدء ٬مځً ،وٌٍخ ڄد ٔىع٭ځمً :
.1نتاب ١ايدلْاَر
ڀه وُټّ ٌىد ٬ه ټعدزص خڀربودڄؿ ،بمبد ٬ه خٔع٭مدپ RADASMخڀ٭عًُ زٽٿ ڄد ٴًُ ڄه ظُٔدوص ظٕهٿ ټعدزص زُخڄؿ خألظبسځٍ ،ؤُٽىن
خڀربودڄؿ ٌىد ٬سدَش ٬ه ڄعُـڃ زُٕ ٣ـًخً وبىپ ٔځٕځص ؿبدَٲ ڄه خڀُٝٱص خؼبععدز٭ص بذل ُٜٱص ڄٝٵىٴص ڄعىدٔسص ڄ ٫خألظبسځٍ.
ٔىمعدؾ بذل ظؽسُط وظٵ٭ُٿ ز٭ ٟخإل٠دٴدض خؽبدڄص ڀـ RADASMؤعفًٌد يف خجملځً Extra/RadPluginsوخڀَُ٥ٹص ٔهځص ـًخً:
- 1خٔعىُؾ صبُ ٫خؼبځٵدض بذل خؼبٕدَ %RADASM%\AddInsبٌخ دل ظٽه ٌٍي خإل٠دٴدض ڄىـىيش ٴًُ زدألٜٿ.
- 2خٴعك RADASMوخٌٌر بذل خڀٹدجمص Optionsaddin manager :مث ٴ٭ٍٿ ودودض ٌٍي خإل٠دٴدض ،ويف ټٿ
ڄُش خوٹُ ٬ځً Installؤو ٴٹ ٣خوٹُ ڄُظٌن ٬ځً ټٿ ب٠دٴص ًٰن ڄٵ٭ځص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 498
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و خإل٠دٴدض ٌٍ :
ټر ڀځٽعدزص.
: AutoCorrect - 1ب٠دٴص ظٕمك زعًخَٺ خألو٥دء وظََُُٕ ٫
: CodeTemplates - 2ؤَ١دً ب٠دٴص َخج٭ص ڀعَُٕ ٫خڀٽعدزص زة٠دٴص خڀـ snippetsڄه خڀٽىي.
: DlgToWin -ؤَ١دً ڀعَُٕ ٫ټعدزص خڀٽىي ،وربىَٿ ڄځٳ خڀـ ( dlgڄځٳ خڀـ dialogخؼب٭عمً ڄه ٜدلر 3
RADASMبذل ټىي ڄسين ٬ځً خڀـ .) API
خإل٠دٴص بذل بڄٽدوُعً يف ٬مٿ incrementationڀىٕىص خڀربودڄؿ ,ٴهى : VersionControl -زً خڀ٭ًًَ ڄه خؼبّخَد ,ٴر 4
يبٽىٻ ڄه لٵ ٧وٕه خلعُدُ٤ص ڄه خؼبځٵدض خؼبًََٝص ڀربودؾبٻ وبڄٽدوُص خٔع٭ديهتد.
َ : TxtLnkMan -خج ٫ڀععس ٫خڀٽىي وب٠دٴص خڀع٭ځُٹدض و.TODO LIST 5
: TabAddin -ظىُٕٷ وظُظُر خڀٽىي. 6
بٌن ز٭ً ؤن ظٵ٭ٍٿ ٌٍي خإل٠دٴدض (بن دل ظٽه ڄٵ٭ٍځص ڄٕسٹدً) خوعٹٿ بذل زًء ټعدزص خڀٽىي.
.1.2نتاب ١ايهٛز
ؤوٙث ڄُٙو٬دً ـًًَخً ټدؼب٭عدي وخوعُ ټـ Templateخؼبٕمدش ( Dialog as appٴٹ ٣إل٠دٴص خڀـ controlsزٕهىڀص).
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 499
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
وٌٍي خڀعٕمُص ڄٵًُش ـًخً ,ٴهٍ ٔعمٽىٻ ڄه خڀع٭دڄٿ ڄ ٫ؤظبدء ٔهځص خڀعٍټُ زًپ خڀع٭دڄٿ ڄ ٫ؤً٬خي ظ ُ٥١بذل خڀُؾو ٪بڀُهد يف ټٿ
ڄُش.
ظ٭دََٳ خڀًوخپ
خؼبعٱًنخض
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 500
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ًٌد خوٹٿ خڀٽىي خڀىدظؿ بذل خڀٵٹُش .constڀُىعؿ خڀٙٽٿ خڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 501
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و خِن ٔعُي ټُٳ ٔعٕهٿ ٬ځُٻ خألڄىَ ڀى ټدن ڀًَٻ 10ؤَِخَ ؤو ؤټؽُ .وبڀُٻ خڀىدظؿ ز٭ً و٠٭ً يف خؼبٽدن خؼبىدٔر :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 502
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ؤټًُ ڀه ذبًٌد ،ڀٽه يبٽىٻ ؤن ظُ١ٳ ڄد ظٙدء ڄه ٔ٥ىَ ظٽٌَُد ٬ديش بذل خؼبځٳ » « masm.ctوخڀٌٍ ذبًي يف خؼبٕدَ
%RADASM%\Addinsوٌڀٻ ڀُٽىن ڄد ظُ١ٵً ٬ځً خڀٙٽٿ ،ڄٌ ٫ټُ ؤن خإل٠دٴص خؼبٕاوڀص ٌٍ : CodeTemplates
... .3
... .4
.5خالٔڃ خڀؽدين.
و ٌٍخ ڄؽدپ ٔعمعدـً ټؽًنخً (ٔىمعدـً ؤَ١دً يف ٌٍخ خڀًَْ بن ٘دء خهلل).
خٴعك خؼبځٳ خؼبٍټىَ وٸڃ ز٭مٿ وٕه ڀځًخڀص DlgProcټدڄځص ،وخلٍٲ ڄد َعٱًن ٬ديش وؤ ٣٬خڀٽٿ خظبدً :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 503
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خڀٕهڃ ًَٙن بذل خإل٘دَش ~ خڀيت هبر ب٠دٴعهد يف خؼبٽدن خڀٌٍ ظًَُ ؤن َٽىن ٴًُ ڄاُ٘ خڀٵإَش ،وخلٵ ٧خؼبځٳ مث خ ً٬ظٙٱُٿ
RADASMڀُٽىن خڀٙٽٿ خڀىهدجٍ ټدڀعدرل :
ؤ٠ٳ ٌٍخ خڀٕ ُ٥إل٠دٴص بلًي ؤٌڃ وؤمشٿ خؼبٽعسدض خڀيت ال يبٽه خالٔعٱىدء ٬ىهد .وٌٍ ظإيت ڄ MASM ٫وڀٽه ؤَٴٹىدٌد ڄٌ ٫ڀٻ
(ذبًٌد يف )Extra\Libs
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 504
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و ظٝمُك ٌٍخ ٔهٿ ,ڄد ٬ځُٻ بال ؤن ظٵعك خؼبځٳ macros.asmوظسمػ ٬ه خؼبدټُو userlibوظٝځمهد ٌٽٍخ ( :خوعسً :خظُٺ
ڄٕدٴص ٸسٿ >)
ټٿ ٍ٘ء ؤٜسك ٬ځً ؤمت وـً .ٴځىسًؤ يف ب٠دٴص خڀٽىي خڀالِڂ ڀ٭مٿ زُودؾبىد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 505
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ظعٍټُ ٤س٭دً خألظبدء خڀيت ؤظبُىد هبد خڀـ Controlsخػبد ٚزدڀٵىَڂ ,ال زإْ بٌخ وُٕعهد ڄد ٬ځُٻ بال خڀ١ٱ٬ ٣ځً CTRL+SPACEز٭ً
ټعدزص ز٭ ٟخأللُٲ خڀيت ظعٍټٌُد ټـ _ EDTو RADASMؤُ٭ُ٥ٻ صبُ ٫خألظبدء خؼبسعًجص زـ ٌٍي خأللُٲ ڀعىعدَ ڄىهد.
زدألو : ُ١يخڀص ڄه خؼبٽعسص cryptohash.libوظٹىڂ زعمىَٿ خڀٽعدزص بذل ً٬ي ٔعص .ٌُٙ٬
وزدألَِٶ :يخڀص ڄه خؼبٽعسص ْ masm32.libظٹىڂ زٽٿ ڄد ربعدـً ،وٌٍ ڄ٭ُٴص يف ڄځٳ خؼبٕدً٬ش خڀعدز ٫ؽبد زدڀٙٽٿ خڀعدرل :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 506
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 507
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
يف :1ؤيوٿ ظ٭ځُٹدً ڀٻ؛ لىت ظٵُٶ زٌن خڀىٕه خحملٵى٨ص خؼبىعځٵص.
يف :2ؤينپ extensionsخڀيت ال ظًٌَُد ؤن ظىٕه ڄ ٫خؼبځٵدض خحملٵى٨صٰ :دڀسدً exe, obj, res, ilkو . idb
يف :3خ٠ٱ ٣غبٵ ٧خؼبځٳ ٬ځً ُٜٱص zipيف خؼبٕدَ (خڀٕهڃ) خڀٌٍ خوعُظً.
و خِن ٔىُ١ٳ ز٭ ٟخڀٽىي ڀالوعُدَ زٌن خڀُٝٯش خؼبىخٴٹص ڀألظبسځٍ وخؼبىخٴٹص ڀځـ Cڀُٝسك خڀٙٽٿ ٌٽٍخ :
و خِن ؤ٠ٳ خڀٽىي ټمد يف خڀٝىَش خڀعدڀُص ( :الل ٧ؤن خڀٽىي خڀٹًمي مت ظ٭عُمً وخإلزٹدء ٬ځً خڀٽىي خعبًًَ).
ؤؼىدء ټعدزعٻ ؽبٍي خألٔٔ ,ُ٥عالل ٧ؤن خڀ٭ًًَ ڄه خڀٽځمدض وخألٔ ُ٥ظعٽَُ زٙٽٿ يخجڃ ,وخغبٿ ٔهٿ ڀ٭ًڂ ټعدزعهد لُٴُدً ,ڄد ٬ځُٻ
بال خڀٌٍدذ بذل ToolsAuto correct listوبيودپ خغبُٲ ؤو خڀٽځمص خڀيت ظًٌَُد ؤن ظ٭ى ٞخڀٽځمص خڀيت ٔعًوځهد ٬ځً خڀُٕدَ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 508
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خټعر يف 1خغبُٲ ؤو خڀٽځمص خڀيت ظًٌَُد ؤن ظ٭ى ٞڄد يف 2مث خلٵ ٧زدڀ١ٱ٬ ٣ځً .3
وبٌخ ټدن ڄد ظًَُي يف 2ڄعٽىن ڄه خڀ٭ًًَ ڄه خألٔ ,ُ٥ؤيوٿ ظځٻ خألٔ ُ٥يف .4
و ٌٽٍخ ڀٽعدزص addrڄؽالًَ ,ٽٵٍ ټعدزص aوخڀ١ٱ٬ ٣ځً SPACEڀُٽمٿ خڀسالٌٰن خڀٽځمص.
بٌخ َـ٭ط بذل ٜىَش خڀٕىَْ خڀٕدزٹص ٔعفً ؤن خڀٽىي َسًو زٙ٭دً ـًخً؛ ڀعٝٵٍٴً زُٕ٬ص خٌٌر بذل ViewLancome tools
ؤع٩هُ ڀٻ ودٴٍش هبد ً٬ي ڄه خألَِخَ يبٽىٻ ظُٺ خإلً٬خيخض ټمد ٌٍ ؤو ظٱًُنٌد ټمد ظًَُ (٬ځُٻ زدڀعفَُر) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 509
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 510
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خوعهط زُؾبص خڀربيبؿ خڀٝٱًن ـًخً (زدڀ٥س ٫دل َٽه ًٌٴىد ؤن وربڄؿ زٹًَ ڄد ټدن خؽبًٲ بَٝدپ خڀ٭ًًَ ڄه خؼب٭ځىڄدض لىپ ب٠دٴدض
.) RADASM
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 511
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
مث خٔعسًپ خٔڃ خڀًخڀص وؤ٠ٳ dialogزََّه وڄُز٭ٍ و ٛوؤ ً٬ظٓڄُص خڀـ controlsټمد ٔسٷ بذل ؤظبدء ٔهځص خڀعٍټُ:
ٸسٿ خٔع٭مدپ خڀًخڀص SerialProcخ٬مٿ declarationڀـ protoخػبد ٚهبد ،وٌڀٻ ٬ه َُ٤ٷ خڀ١ٱ ٣زدڀَّ خأليبه مث Create
protoز٭ً خوعُدَ خؼبٽدن خؼبىدٔر :
و:
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 512
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و:
خؼبٕاوڀص ٬ه خڀعمٹٷ ڄه خڀَُٕدپ :خوعُودٌد ٔهځص ـًخً؛ ڀځعًَذ ٬ځُهد اللٹدً يف ٌٍخ خڀًَْ ،ويبٽىٻ يَخٔعهد بن ؤَيض :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 513
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
َٹىڂ خڀربودڄؿ زٹُخءش ڄ٭ځىڄدض خڀعٓـُٿ ڄه ڄځٳ reg.iniبٌخ ټدن ڄىـىيخً (يف )C:\windowsوَعمٹٷ ڄىهد :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 514
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
بٌخ دل ظٽه ٸُمص خؼبعٱًن 1ٴةن خڀربودڄؿ ڀه َىٵٍ خڀعٱًُن بذل ؤٌ ُٜٱص.
٤س٭دً خػبىخَِڄُص ڄربؾبص ڀعٽىن ٔهځص خڀٽُٕ جبمُ ٫خألوىخ ٪خؼبمٽىص ڄه خڀـ serial fishingبذل .Keygen
بن ٔهىڀص وىخَِڄُص خڀعٕفُٿ ؤڄُ ؤَيود ڄىً بُ٘خٺ ؤټرب ً٬ي ڄه خأل١٬دء ،إلټمدپ خڀًَوْ ڄه ـهص ،وڀعمٽُىىد ڄه خٔعىًخڂ ؤټرب ً٬ي
ڄه خأليوخض خڀيت و٭عٹً ؤن خؼبسعًجٌن هبهځىهند يف ٬ددل خؽبىًٔص خڀ٭ٽُٕص ڄه ـهص ؤوُي.
و١ٱ ٣خڀربودڄؿ زىخٔ٥ص زُودڄؿ خغبمدَص خڀٕهٿ ـًخ (ڀځعًََر ٴٹ )٣وٸً خوعُود زُودڄؿ خغبمدَص خڀٹًمي ACProtect 0.9gوٌڀٻ
ڀٕسر ٔع٭ُٴىوً ٴُمد ز٭ً.
خڀربودڄؿ ذبًي يف .\ Extra\Protection\Protectorڄ ٫وٕىعٌن ڄه زُيبفىد :وخلًش ؿبمُص زً وخألوُي ڀُٕط ؿبمُص.
.2.1انتؿاف ارتطأ
...وڀٽه ٬ىًڄد ؤيوٿ ُٔ٥خً ٤ىَالً ،ؤټؽُ ڄه 300لُٴـــد ٴدڀربودڄؿ َهىؿ وَٱځٹً خڀى٩دڂ .ؤود ؤ٬مٿ ٬ځً . P4
دبفُي ٸُخءش خڀُٔدڀصَ ,عسديَ بذل ٌٌىٻ ؤن ٌىدڀٻ ٌ Buffer overflowى خؼبٕاوپ ٬ه خػب٥إ؛ ألن خؼبٙٽٿ َ٩هُ ٴٹ٬ ٣ىًڄد ًَوٿ
خؼبٕع٭مٿ ٔځٕځص ؿبدَٲ ٤ىَځص.
و ڀىٵعُ ٞؤن خڀربودڄؿ ټسًن دبد ٴًُ خڀٽٵدَص ،وؤن ٴًُ خٔعىًخڂ ڄحدض Buffersؤؼىدء ربىَٿ خڀـ .DATA
خٴعك OllyDbgوخ٠سٌ ً٥ٽٍخ (وٌٍخ زدڀ١سٌ ٣ى خڀٝىخذ ؤؼىدء خڀعىٹُك ،ڀځسمػ ٬ه ؤو٥دء يخوٿ خڀربخڄؿ) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 515
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ٸسٿ ؤن ربمٿ خڀ١مُص خ٬مٿ compilingپوٕىص Debugوٌڀٻ زعٱًُن خػبُدَ خڀعدرل يف RADASMيف ProjectProject
: Options
خوعُ خػبُدَ خألو ُ١وخوعسً بذل خؼبٕعُ٥ٿ خألضبُ ڀُٽىن خؼبٕدَ ڄىـهدً بذل
ڄٽدن ( OllyDbgؤو خڀىٕىص خڀيت ظٕع٭مٿ ڄىً) حبُػ َٕهٿ خڀىًخء ٬ځًُ
زـ CTRL+D
مث خ٬مٿ Recompilingڀځمُٙو ٪وخٔعً OllyDbg ِ٪زدڀ١ٱ٬ ٣ځً ٔ ،CTRL+Dعالل ٧ؤن OllyDbgظ٭ُٲ ٬ځً خألظبدء خڀيت
خٔعىًڄعهد ڄه والپ ربمُٿ خڀـ symbolsخؼبىـىيش يف خڀًخظد زدَّ خڀيت َعڃ بوٙدئٌد ؤؼىدء خڀٽىڄسدَځُىٯ ,وٌٍخ َٕهٿ خڀع٭دڄٿ ڄ ٫خڀًوخپ
وخؼبعٱًنخض زٙٽٿ ؤلٕه :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 516
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و ٌٍخ ڀُٓ ټٿ ٍ٘ء ,خٌٌر يف OllyDbgبذل ViewSource filesؤُٵعك ڀٻ ودٴٍش ٴُهد صبُ ٫ڄځٵدض خڀٕىَْ خڀيت
خٔعىًڄعهد يف ڄُٙو٬ٻ ،ويبٽه خوعُدَ ؤٌ وخلً ڄىهد (يف لدڀعىد ڀًَىد ٴٹ ٣ڄځٳ وخلً) :
و دبد ؤن خػب٥إ وبًغ ز٭ً خڀ١ٱ٬ ٣ځً َِ خڀعمىَٿ ,ٴ٭ځُٻ زدڀٌٍدذ بذل خپَٔدڀص WM_COMMANDوزدڀ١س ٣بذل خغبًغ
BTN_CONVو ٫٠وٹ٥ص ظىٸٳ ٌىدٺ زـ : F2
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 517
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
و ڀععس ٫خألڄىَ ـًُخً خ٠ٱ٬ ٣ځً خڀـ barخػبد ٚز٭مىي خڀع٭ځُٷ ڀعٱٍَُي بذل ٬مىي ٔىَْ :
زدڀععس ٫ٸځُالً يف ٌٍي خغبدڀص ٔع٭ُٲ ؤن خػب٥إ يف ٜٱُ خڀـ Bufferخڀٌٍ َعځٹً ٔځٕځص خحملدَٲ خحملىڀص وڀعٝمُك خألڄُ وعُٺ ڀٻ ٌڀٻ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 518
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
مث ؤحبُ بذل ڄٽدن وـىي ڄځٵدض خڀـ Objؤو Libخػبدٜص زربودؾبٻ وزدؼبٽعسدض خڀيت ؤ٠ٵعهد بڀًُ ،مث خوعُ ڄد ظًَُ ،مث خ٠ٱ ٣ؤلً خألَِخَ
خألَز٭ص ڀعُظُر خؼبځٵدض بذل ؤَز ٫ؾبمى٬دض :
ڄالق٨دض :
- 1يبٽىٻ ٴ٭ٿ وٵٓ خڀٍٙء ڀځمٽعسص masm32.libڄؽالً ،وټٍڀٻ خؼبٽعسص cryptohash.libالٔعًنخي صبُ ٫ؤظبدجهمد.
- 2ودُٜص ربمُٿ خڀٕىَْ ودٜص ٴٹ ٣زـ COFF standardوال يبٽه ربمُٿ ڄځٵدض خڀًڀٵٍ ڄسدُ٘ش ڄؽالً بال ز٭ً ٬مٿ
compilingڀـ objڄه والپ وٝدج ٛخؼبُٙو ٪وخوعُدَ Produce obj c/c++ filesوز٭ً ٌڀٻ يبٽه
خٔعىًخڄهد.
- 3و ٌٍي خػبدُٜص خألوًنش ڄهمص ـًخً؛ ٴمؽالً ز٭ً خڀع٭ُٲ ٬ځً ڄٽعسص ٌد٘دض ڄد يف زُودڄؿ ڄد يبٽىٻ ربمُځهد و٬مٿ
ټىڄسدَځُىٯ ؽبد وخٔعًنخي خألظبدء ڄىهد ،فبد َٕهٿ خڀٽؽًن ڄه خألڄىَ يف خڀع٭ُٲ ٬ځً خڀًوخپ وخؼبعٱًنخض يون خغبدـص بذل بًٌخَ
خڀىٸط يف ظعس ٫ټٿ يخڀص و٥ىش خب٥ىش.
٬ - 4ځُٻ زًَخٔص وڄٹدَوص ڄد ظٽعسً زدألظبسځٍ وڄد َعڃ بوعدـً ټمځٳ ظىٵٌٍُ ،ڀُٕهٿ ٬ځُٻ ٴهڃ خڀربخڄؿ ؤؼىدء ظىٹُمهد ټهٍي
خألڄؽځص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 519
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
...
.3نػط ايدلْاَر
.3.1ؾو ايهػط
دل َ٭ً ٴٻ ACProtectڄٙٽځص لىت ٬ىً خؼبسعًجٌنٌٍ ,ي وٹ٥ص وعٵٷ ڄ٭ٻ ٴُهد ,ڀٽه ال ظٱديَ ,ڄد َؤَٻ بن ٸمط زٽُٕي زَُ٥ٹص
خلعُخٴُص ,سبهً ڀٻ خڀَُ٥ٷ ؤڄدڂ خغبمدَدض خڀ٭عًُش؟
ڄد َؤَٻ يف زُؾبص pluginڀـ َ Imprecٹىڂ زةٜالق خڀـ ( IATؤـٿ ,و٭ُٲ ؤوً ڄه خؼبمٽه ؤن ظ٭ٽٓ ز٭ ٟخڀٹٵّخض وظٽىن خڀـ
IATټدڄځص ,ڀٽه وًَُٺ ؤن ظع٭ځڃ خعبًًَ).
ضبٿ خڀربودڄؿ خحملمٍ بذل وٕىص فبىٌص ڄه OllyDbgٺىضدة األذ مزار ڄه ٴَُٹىد .وؤ٤ځٷ خڀربودڄؿ ,مث ظعس٭ً ؤعفً ز٭ ٟخؼبٹدڀر ټـ
IsDebuggerPresentو CreateToolhelp32Snapshotوڄه خڀٕهٿ ذبدوِنبد.
ڀٍخ ٴځىُټّ ٬ځً خڀـ IATوخڀيت َٹىڂ خڀربودڄؿ ز٭مٿ xorڀځٹُمص خڀٝمُمص ڀځـ APIڄ ٫ٸُمص ٙ٬ىخجُص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 520
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ؤڄد خڀربؾبص ٴٕهځص وڄىـىيش يف ڄځٳ خؼبٕدً٬ش خڀعدز ٫ڀـ Imprecخؼبٕمً Plugin.txtوذبًي ڄ ٫ز٭ ٟخألڄؽځص.
مث َځُهد
و دل َسٷ خِن بال ؤن ظعُـڃ خػب٥ىخض خڀيت ظٽځمىد ٬ىهد ٔدزٹدً بذل ټىي ٴعٝسك خڀًخڀص ٬ Traceځً خڀٙٽٿ (بٌخ ؤَيض خٔع٭مدپ
Templateڄٕعٹسالً ,ٴمد ٬ځُٻ بال ؤن ظُ١ٳ ټىي خڀعمٹٷ زٌن ُ٤يف خؼب٭ٹىٴص وظُٺ خڀٻپ ټمد ٌى) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 521
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
َى ٫٠خڀٽىي
يف ڄٽدن
خؼب٭ٹىٴص
انكىد
يماتهه يف
Imprec
يماتهه يف
OllyDbg
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 522
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ّ٬پ انكىد
خڀع٭ځُمص يماتهه يف
خڀؽدوُص OllyDbg
انكىد
خڀعإټً ڄه
خڀع٭ځُمدض
انكىد
٬مٿ خڀـ
XOR
يماتهه يف
OllyDbg
لٕدذ
خڀٹُمص انكىد
خڀٝمُمص
و خَـد٪
خڀٹُمص
( 200خڀيت خلٕر ودظؿ خڀـ xorوخلٵ ً٩حبُػ َٝسك يف خپټځمص خؼبّيوـص خألوذل ڄه ،Mapوڄَُ
انشزذ
ظ٭ين سبدڂ خڀٹُمص IMP_SUCCESSؤٌ ( )200وظ٭ين قبدق خڀ٭مٿشٌ.
خالڄُ زٝىَش
ٜمُمص)
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 523
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
وبٌخ ظعس٭ط خڀربودڄؿ زـ ٔ OllyDbgعفً ؤن خڀـ APIخڀىدٸٌ ٛى MessageBoxAويبٽه ؤن ظُ١ٵً زدڀىٹُ ڄُظٌن ٬ځً خڀُٕ٥
مث خوعُدَ خالٔڃ خؼبىدٔر.
٬ .2ىً خڀ٭ىيش بذل خڀٽىي ُٔ٩هُ خڀٽىي ٍُُٰ :ټمد يف خڀٝىَش :
تؼذ لثم
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 524
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڄر ٺ ٬ځُٻ.
٬ F2 .3ځً Section .textمث Dumpمث Reb IATمث RUNمث خَ
ٔىعُ٥ٶ خڀُىڂ بذل ؤلً خؼب٭ًخض خؽبدڄص ،وخڀيت زبع٬ ُٝځُٻ خڀىٸط(٤س٭دً زدإلڄٽدن خٔع٭مدپ Coderipperؤو IDAڄسدُ٘ش ,ڀٽه ظ٭ځڃ
خڀٍٙء خعبًًَ ؤڄُ صبُٿ).
خِن ڄد ٬ځُٻ بال ؤن سبأل ز٭ ٟخؼب٭ځىڄدض وخڀربودڄؿ َٽمٿ خ ڀسدٸٍ (ڄالل٩ص ٌدڄص :ڀٹً ً٬ڀىد يف آوُ غب٩ص ٬ځً وىخَِڄُص خڀعٕفُٿ
ڀى٩هُ ڀٻ ؤنبُص وٸىش خڀربودڄؿ ،وؤَه ظٽمه؟ وخؽبًٲ خؼبٕع٭مٿ ٔعفًي يف.) .Extra\Keygenning\TMG\Target
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 525
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
وبڀُٻ خڀعٵدُٜٿ ( ٤سُ٭ٍ ؤن َٕسٷ ٌٍخ يَخٔص ڀځىىخَِڄُص ،ويبٽىٻ خڀععس ٫ؤَ١دً يف خػبدودض ٬ځً خڀُمٌن يف TMGRSڀځمٕدً٬ش) :
وز٭ً ٌڀٻ َ٩هُ ڀٻ : مث ز٭ً ربًًَ خألوىخ ٪خڀٝمُمص خ٠ٱ:٣
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 526
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
غبٵ ٧خؼبُٙو ٪وظ٭ًَٿ ز٭ ٟخڀٕ٥ىَ وَٝسك خڀٽُفه ـدٌّخً : و خِن دل َسٷ بال خڀ١ٱ٬ ٣ځً
خٴعمً دبمَُ وٝى ،ٚمث خٌٌر بذل خڀٕ٥ىَ خألوًنش ،وؤ ً٬ظٕمُص خڀـ APIيف ټٿ خڀى ٛمث خلٍٲ خڀٕ٥ىَ :
و ٴدجًهتمد :بـسدَ خڀٽمسدَځُ ٬ځً ً٬ڂ ب٠دٴص ؤٌ prologueوال epilogueڀځًوخپ ألهند سبځٻ وخلًش.
ټٍڀٻ ؤ٠ٳ ټځمص procڀځًوخپ خؼبع٭ُٲ ٬ځُهد؛ ڀځعمٽه ڄه خؼبىديخش ٬ځُهد زٕهىڀص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 527
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 528
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڄد ٬ځُٻ بال ظٱًُن 3ؤو 4ؤٔ ُ٥ټمد يف خڀٕدزٷ وخڀىعُفص ٴىََص.
ٌٍخ خڀًَْ دل َٽه ڄه ربًٌ خػبىخَِڄُدض خڀالڄ٭ٽىٔص ؤو ربًٌ زُخڄؿ ضبدَص ٜ٭سص ،زٿ ٴٹ ٣إلَٝدپ ؤټرب ً٬ي ڄه خؼب٭ځىڂخض خڀيت و٩ه
ؤهند ڄٱُسص ٬ه خؼبسعًجٌن ،وخڀيت ظٙٽٿ يف وُ٩ود ٸىخً٬خً ٌدڄص هبر ٬ځً خؼبهىًْ خڀ٭ٽٍٕ ؤن َعٹىهد ،و٬ځً خؼبسعًت ؤن َٝٿ بڀُهد َىڄدً ڂ خ .
وؽبٍخ خڀٕسر دل و٭ُ خالٌعمدڂ خڀىخـر ڀځربودڄؿ (بٌخ ٜك ظٕمُعً ټٍڀٻ) ڄه لُػ خال٬عىدء زدألو٥دء خڀيت ٸً ربًغ ،ڀٍخ ٴدٍَ٬وود.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 529
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
التطفل للتنلً...
Malwares Hooking
.1املكسَ١
ظ٭عمً خڀٵًنؤدض ؤو خڀربخڄؿ خڀ١دَش ٬ځً ً٬ش ُ٤ٶ ڀعىٹٿ وظځىَػ خڀى٩دڂ؛ ڄىهد ڄه َ٭ُٗ يف Kernel landوڄىهد ڄه َ٭ُٗ يف
User landٸىش Kernel landظٽمه يف خغبٝىپ ٬ځً ټٿ ٜاللُدض خڀى٩دڂ ٬ځً خڀى٩دڂَ ،٭ين خڀعمٽڃ خڀٽدڄٿ يف خڀى٩دڂ ،وٌٍخ ڄد
ظ٭عمً ٬ځًُ ڄ١ديخض خڀربخڄؿ خڀ١دَش خغبًَؽص ،زُخڄؿ خڀعىَُر وخڀربخڄؿ خڀيت ظىٕه وٵٕهد زًون ؤٌ ًٌٲ وٌٍ ؤزٕ ٣وى ٪ڄه خڀربخڄؿ
خڀ١دَش.
.Delphi7
ٜ VMWareى ٫و٩دڂ ونبٍ ڀځعفُزص.
AT4RE Faust Virus Removerڀٵم ٛخڀـ Process
AT4RE Kernel Detectiveإلڀٱدء خؽبىٺ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 530
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
٬ - 1مٿ Hookڀـ Explorer.exeوڄىً خڀعمٽڃ يف ظٙٱُٿ ؤو بز٥دپ وٝدج ٛڄ٭ُىص ٔىعُ٥ٶ بڀُهد بن ٘دء خهلل يف ٌٍخ
خڀًَْ.
ٜ٭ر
٬ - 2مٿ Hookڀـ Winlogon.exeعب٭ٿ لٍٲ خؼبځٳ خڀ١دَ ؤڄُخً خً .
ظبدق خڀى٩دڂ زعٕفُٿ وخٔعً٬دء خڀربخڄؿ هبٍي خڀٕهىڀص ،ـ٭ٿ ڄربؾبٍ خڀٵًنؤدض َٕعٱځىهند ڀعٙٱُٿ زُخؾبهڃ خڀ١دَش وخال٬عمدي خڀٽدڄٿ ٬ځً
خڀـ Hookingڀعى ٍ٥خعبًَخن خڀىدََص وربمُٿ وٕه ؤلًغ ڀځٵًنؤدض :
ٔىمدوپ يف ٌٍخ خڀًَْ ٴهڃ آڀُص خڀـ Hookingوظ٥سُٷ ڄؽدڀٌن ٬مځٌن سبط زُؾبعهڃ زځٱص يڀٵٍ ڄُٴٹٌن ڄٌٍ ٫خ خڀًَْ.
يف ٌى َٸڃ ظٕځٕځٍ ولًَُٕ ،ع٭مٿ ڀځع٭َُٳ زدڀربخڄؿ يف خڀُهبٕعٌَُ ،٭عمً ٬ځًُ خؼبربؾبىن ڀعفىر خػبځ ٣زٌن خڀٹُڃ خڀيت ظٽعر
خڀُهبٕعٌُ ،ؤىٕع٭مځً يف ٬مځُص ظٕفُٿ ڄځٳ خؽبىٺ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 531
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڀځمٝىپ ٬ځً GUIDيبٽىىد خٔع٭مدپ زُخڄؿ خڀعىڀًُ خػبدٜص زً ،ؤو خال٬عمدي ٬ځً يڀٵٍ ڀعىڀًُ َٸڃ.
خڀَُ٥ٹص :
يف ودٴٍش يڀٵٍ خػبدٜص زدڀٽىي خ٠ٱ٬ ٣ځً خألَِخَ خڀعدڀُص يون ؤن ظُٴًَ ٫ٺCtrl + Shift + G :
يف ڄؽدڀىد ٔىإوٍ ٌٍخ خڀُٸڃ ، } E124-B95B-4A44-BD50-6B24CE4FE53D0494{ :ؤى٭مٿ ٬ځً خؼبځٳ خؼبُٴٷ ڄ٫
وٕىص يڀٵٍ 7يف ؾبځً . Demos
ٔىٹىڂ زس٭ ٟخڀعٱًُنخض خڀسُٕ٥ص ڀىعمٽه ڄه بز٥دپ وٝدج ٛخڀى٩دڂ خڀعدڀُصCopy – Move – Delete - .Rename
interface
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 532
AT4RE :انفريك انعرتي نههُذسح انعكسيح يرفرلاخ . خطىج إنى األياو:انهُذسح انعكسيح
uses
Windows, ActiveX, ComObj, ShlObj;
type
TCopyHook = class(TComObject, ICopyHook)
public
function CopyCallback(Wnd: HWND; wFunc, wFlags: UINT; pszSrcFile: PAnsiChar;
dwSrcAttribs: DWORD; pszDestFile: PAnsiChar; dwDestAttribs: DWORD): UINT;
stdcall;
end;
const
Class_CopyHook: TGUID = '{0494E124-B95B-4A44-BD50-6B24CE4FE53D}';
implementation
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 533
AT4RE :انفريك انعرتي نههُذسح انعكسيح يرفرلاخ . خطىج إنى األياو:انهُذسح انعكسيح
ClassID := GUIDToString(Class_CopyHook);
CreateRegKey('Directory\shellex\CopyHookHandlers\MalwareHookSample', '',
ClassID);
finally
Free;
end;
end
else begin
DeleteRegKey('Directory\shellex\CopyHookHandlers\MalwareHookSample');
inherited UpdateRegistry(Register);
end;
end;
initialization
TCopyHookFactory.Create(ComServer, TCopyHook, Class_CopyHook, '',
'Malware Hook Example', ciMultiInstance, tmApartment);
end.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 534
AT4RE :انفريك انعرتي نههُذسح انعكسيح يرفرلاخ . خطىج إنى األياو:انهُذسح انعكسيح
ٌٝى إىل بطْاَر ايتػذٌٛ َٔ ًَـ اشلَٝذلات ايتػذٚط باضٜ متط١ ارتام بـساي٤ادتع .2.3.2
regsvr32
function RegisterServer(const aDllFileName: string; aRegister: Boolean): Boolean;
type
TRegProc = function: HResult;
stdcall;
const
cRegFuncNameArr: array[Boolean] of PChar =
('DllUnregisterServer', 'DllRegisterServer');
var
vLibHandle: THandle;
vRegProc: TRegProc;
begin
Result := False;
vLibHandle := LoadLibrary(PChar(aDllFileName));
if vLibHandle = 0 then Exit;
@vRegProc := GetProcAddress(vLibHandle, cRegFuncNameArr[aRegister]);
if @vRegProc <> nil then
Result := vRegProc = S_OK;
FreeLibrary(vLibHandle);
end;
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 535
AT4RE :انفريك انعرتي نههُذسح انعكسيح يرفرلاخ . خطىج إنى األياو:انهُذسح انعكسيح
وخڀـ،ُٻ خػبُدَ إلڀٱدء خڀعٕفُٿ٥ ٴدن خؼبربڄؿ ڀه َ٭،ً ڀى ټدن ٴًنؤدً لٹُٹُد: ص٩ڄالل
: ٽٿٙ خڀعدز٭ص ڀځمؽدپ خؼبُٴٷ ڀه ظٽىن هبٍخ خڀExports
1- DllGetClassObject.
2- DllCanUnloadNow.
3- DllRegisterServer.
4- DllUnregisterServer.
: ظٽىن ٌٽٍخ ڀعٵديٌ بڀٱدء ظٕفٍپ خؽبىٺ
1- DllGetClassObject.
2- DllRegisterServer.
: خڀَّ ڄىخٴٷ٣ٱ١و
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 536
AT4RE :انفريك انعرتي نههُذسح انعكسيح يرفرلاخ . خطىج إنى األياو:انهُذسح انعكسيح
.ًهُض ٌٍي خڀُٔدجٿ ټمد ٌټُود آوٵد٨ ڀى ټدن خڀٵًنوْ لٹُٹُدً ؼبد
ٟ تؿشل ايطجيػذل.3.1
: مځُص ظؽسُط خؽبىٺ٬ دء ٸُڃ ـًًَش يف خڀُهبٕعٌُ ز٭ً بسبدڂٙ بو٧والل
[HKEY_CLASSES_ROOT\CLSID\{0494E124-B95B-4A44-BD50-6B24CE4FE53D}\InprocServer32]
@="C:\\DOCUME~1\\UTILIS~1\\Bureau\\MALWAR~1.DLL"
"ThreadingModel"="Apartment"
: ص دبځٳ خؽبىٺٜ خػبدClasse Id – CLSID بذلPointer مٿ٬ سك َ٭مٿٜدٴص خؼب٭ُٲ خڀٌٍ ؤ٠ب
[HKEY_CLASSES_ROOT\Directory\shellex\CopyHookHandlers\MalwareHookSample]
@="{0494E124-B95B-4A44-BD50-6B24CE4FE53D}"
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 537
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
سبط ٬مځُص ظٕفُٿ خؽبىٺ زىفدق يف خڀُهبٕعٌُ ،ودل َسٷ بال خڀعإټً ڄه ٴم ٛخڀـ Modulesخػبدٜص دبعٝٵك خڀى٩دڂ Windows
.Explorer
وٹىڂ زعٙٱُٿ زُودڄؿ AT4RE Faust Virus Removerمث وٌٍر بذل Toolsمث : Kill process
وال ل ٧ؤن ڄځٳ خؽبىٺ مت ربمُځً زىفدق ،ودل َسٷ ڀىد بال ؤن قبُذ خؼبځٳ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 538
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
٬ىً ؿبدوڀص ب٬ديش ظٕمُص خجملځً ظ٩هُ ڀىد ٌٍي خڀُٔدڀص وٌٍ َٔدڀص ڄځٳ خؽبىٺ:
مث ظځُهد َٔدڀص خػب٥إ خػبدٜص زدڀى٩دڂ وظس٥ٿ ٬مځُص ب٬ديش خڀعٕمُص.
وٵٓ خڀىعُفص ڄ ٫ذبُزص خػبٝدج ٛخألوُي .خِن ظإټًود ؤن خؽبىٺ َ٭مٿ زىفدق.
وٌى Winlogon.exeألن ټٿ غبمدَص ڄعىٔ٥ص ؼبځٳ خؽبىٺ ڄه خغبٍٲٔ ،ىٕع٭مٿ َُ٤ٹص ظ٭عمً ٬ځً ٌىٺ ؤَ١دً ؼبځٳ لٕدْ،
خؼبځٵدض خحملمځص ڄ٭ً ال ظٹسٿ خغبٍٲ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 539
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
""Logon"="o
""Logoff"="f
هبر ظٱًُن ڄٕدَ ڄځٳ خؽبىٺ DllNameلٕر خغبدـص وب٬ديش ظٙٱُٿ خڀى٩دڂ.
والل ٧ؤن ڄځٳ خؽبىٺ مت ربمُځً زىفدق ،وؤٜسك لٍٴً ؤڄُخً ٜ٭سدً.
.3.5إيػا ٤اشلٛى
يف ٌٍخ خؼبؽدپ يبٽىٻ ؤوٍ خڀٹدَت ؤن ظځٱٍَ خؽبىٺ زىٵٓ خڀربودڄؿ خڀٌٍ سبط زً ٬مځًُ خڀعؽسُط ،وڀٽه ڀُٓ يف لدڀص ټىوً ٴًنؤدً لٹُٹُدً؛
پٌخ ٔىٕع٭مٿ ودُٜص Unloadڀربودڄؿ خڀٵَُٷ. Kernel Detective
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 540
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
.3.6تٓعٝـ Winlogon.exe
.3.7تٓعٝـ Explorer.exe
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 541
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
دل َسٷَ ڀىد خِن بال ؤن كبٍٲ خڀٹُڃ خڀيت ؤُ٠ٵط بذل خڀُهبٕعٌُ ،ولٍٲ ڄځٳ خؽبىٺ وخؼبٿ ٴدض خؼبٕاوڀص ٬ه خڀعځىَػ ،وظؽسُط خؽبىٺ
ڀىعىځ ٛڄه خڀٵًنوْ هندجُدً.
)4ظىُ٩ٳ خڀُهبٕعٌُ.
.5ارتامت١
خغبمً هلل مت ٌٍخ خڀًَْ وبن ٘دء خهلل ذبً ٴًُ خؼبع٭ص وخڀٵدجًش.
خؼبسعٱدش
-خؼبځٵدض خڀيت ٬مٿ ٬ځُهد ٌٍخ خڀًَْ ڄُٴٹص ڀُعٕهَّ ڀٻ ؤوٍ خڀٽُمي خڀعفُزص ڄ ٫خظسد ٪ټٿ خؼبُخلٿ وخڀىٜىپ بذل خڀىعُفص .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 542
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
أوالً :ټدجه ًٰن ڄٵ٭ٍٿ يف خڀىٕىص خڀعفَُسُص (َِ ؤو ڄُز ٫و ٛؤو زىً يف ٸدجمص وڄد ٘دزً.)..
٬ )2ه َُ٤ٷ ظ٭ًَٿ وٝدج ٛخڀٽدجه ،وٌٍي خڀَُ٥ٹص ظًپ ٬ځً ٠٭ٳ وربش خؼبربڄؿ زدغبمدَص.
ثاَياً :ودٴٍش ڄّ٬فص زبُؾ ٬ىً بٸال ٪خڀربودڄؿ ( ،)Splashوٌٍ ٬ځً وىٌ٬ن :
ثانثاً MsgBox :زبُؾ ٬ىً بيودپ زُدودض ظٕفُٿ ًٰن ٜمُمص . Bad Boy
راتؼاً :بٰالٶ خڀربودڄؿ ڀىٵًٕ ٬ىً خوعهدء خؼبًش خڀعفَُسُص ؤو ٬ىً بيودپ زُدودض ًٰن ٜمُمص.
ٌٍي ټځهد ؼٱُخض ظٕهٿ ٬ځً خؼبهىًْ خڀ٭ٽٍٕ ټُٕ خڀربودڄؿ ،ؤُعڃ يف ٌٍخ خڀًَْ بن ٘دء خهلل ظىُ٠ك ٌٍي خڀؽٱُخض وټُٵُص ذبدوٌِد
وټُٕ خڀربودڄؿ.
ٸڃ زعٙٱُٿ خؼبځٳ خؼبُٴٷ ٔ cmd NEnableعفً ؤن َِ خغبٵ ٧ٴًُ ًٰن ڄٵ٭ٍٿ :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 543
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
All ضبٍٿ خڀربودڄؿ يف OllyDbgوخٌٌر بذل ٸٕڃ خڀًوخپ ٬ه َُ٤ٷ ٠ٱ ٣خڀَّ خأليبه وخوعُدَ Search Forوڄه مث خوعُدَ
intermodular Callsو ٫٠وٹ ٣ظىٸٳ ٬ځً خڀًخڀص VbaObjSet
ٌٍي خڀًخڀص ڄهمص ـًخً ،ٴهٍ ڄٕاوڀص ٬ه و ٫٠خأليخش :ڄه لُػ ټىهند ڄٵ٭ٍځص ؤو ًٰن ٌڀٻ ،خوّپ ڀألٔٵٿ لىت ظٝٿ ڀځىًخء خڀؽدين خڀٌٍ
ظُخي يف خڀٝىَش ،وخڀٌٍ وبمٿ خڀٹُمص ] [ECX+8Cوخڀٹُمص 8Cظًٙن بذل ؤن خڀَّ ًٰن ڄٵ٭ٍٿ ،وڀعٵ٭ُځً وٹىڂ زإلً خألڄَُه:
.1.2املجاٍ ايجاْْ( : ٞل ٜسٍ عً ٢إٔ ْػدتٓا ترضٜبٚ ١ٝغرل َػذً)١
ٸڃ زعٙٱُٿ خؼبځٳ خؼبُٴٷ Lbl NEnableؤعفً يف ؤ٬ ً٥سدَش (وٕىص ًٰن ڄٕفځص) :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 544
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ضبٍٿ خڀربودڄؿ يف OllyDbgمث خٌٌر بذل ٸٕڃ خڀًوخپ و ٫٠وٹ ٣ظىٸٳ ٬ځً خڀًخڀص: VbaObjSet
ٸځىد :بهند ڄهمص ـًخً ،وڄٕاوڀص ٬ه و ٫٠خأليخش :ڄه لُػ ټىهند ڄٵ٭ٍځص ؤو ًٰن ٌپ ٺ ،وڄٕاوڀص ٬ه ب٨هدَ و ٛيخوٿ خأليخش .خوّپ
ڀألٔٵٿ لىت ظٝٿ ڀځىًخء خڀؽدين خڀٌٍ ظُخي يف خڀٝىَش ،وخڀٌٍ وبمٿ خڀٹُمص] [ECX+54وغبٍٲ خڀى ٛوٹىڂ زإلً خألڄَُه :
خڀسىً
ټمد ٴ٭ځىد يف خؼبؽدڀٌن خڀٕدزٹٌن وٵ٭ٿ ڄٌٍ ٫خ خڀسىً ،و٬ىًٌد ٔعفً ؤوً ٸً مت ظٵ٭ُٿ .
َٹىڂ ز٭ٟ ڄالل٩ص :يف خألڄؽځص خڀٕدزٹص ٸدڂ خؼبربڄؿ زةڀٱدء ظٵ٭ُٿ خأليوخض ٬ه َُ٤ٷ خڀٽىي ،وٌٍخ ًَپ ٬ځً ٌټدءي ،وڀٽه ؤلُدودً
خؼبربؾبٌن زةڀٱدء ظٵ٭ُٿ خأليوخض ٬ه َُ٤ٷ خػبٝدج: ٛ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 545
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خو ُ٩ودُٜص Enabled = Falseوٌٍخ و٥إ ٴديق ڄه خؼبربڄؿ؛ ألن خؼبهىًْ خڀ٭ٽٍٕ ُٔٹىڂ زٽُٕ خڀربودڄؿ ٬ه َُ٤ٷ خٔعىًخڂ ؤلً
ؿبَُخض خڀٵُفىخپ زُٕٻ؛ ڄؽٿ VBExplorer :ؤو VBReFormerوڄه مث ُٔٹىڂ زعٵ٭ُٿ خڀٽدجه.
ضبٿ خؼبُٴٷ Obj NEnableيف VBExplorerوٸڃ زعٵ٭ُٿ خڀَّ ټمد ٌى ڄى٠ك يف خڀٝىَش مث خ٠ٱ ٣خڀَّ لٵ:٧
ؤو ظٕع ٫ُ٥ربمُٿ خؼبُٴٷ Obj NEnableيف زُودڄؿ VBReFormerوڄه مث ظٹىڂ زعٵ٭ُٿ خڀَّ ټمد ٌى ڄى٠ك زدڀٝىَش وڄه ٸدجمص
Fileزبعدَ : Save binary as
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 546
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ظٙدء
ٔعفً ز٭ً ٌڀٻ ؤوً ٸً مت ظٵ٭ُٿ خڀَّ ،وٌٽٍخ ظٹىڂ زعٵ٭ُٿ خأليوخض وظ٭ًَٿ خڀ٭سدَخض ټمد .
.2.1املجاٍ األ MsgBox : ٍٚتعٗط عٓس إقالع ايدلْاَر نتٓب ٘ٝعً ٢أْ٘ ْػد ١غرل َػذً١
٘ٱٿ خڀربودڄؿ خؼبُٴٷ MsgBoxؤعفً ٬ىً بٸالَٔ ً٬دڀص ڄّ٬فص زبربٺ زإوً ًٰن ڄٕفٿ ،وڀٽه ټُٳ ٔىعىځ ٛڄىهد؟
ضبٿ خڀربودڄؿ يف OllyDbgوخ٠ٱ F9 ٣ڀځعٙٱُٿٌ ،د ٌٍ خڀُٔدڀص ظ٩هُ ؤڄدڄٻ ،ٸڃ ز٭مٿ بَٹدٲ ڀځربودڄؿ زدڀ١ٱ٬ ٣ځً F12ڀٹً
ظىٸٳ خڀربودڄؿ ،خِن خ٠ٱ Alt+F9 ٣مث ً٬ڀځُٔدڀص وخ٠ٱ ٣خڀَّ ڄىخٴٷٔ ،عفً ؤن خڀربودڄؿ ٸً ظىٸٳ ٬ىً خؼبٽدن خڀٌٍ ظُٕعً ً٬ڄىً
خڀُٔدڀص :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 547
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خٜ٭ً ڀسًخَص خڀُوظٌن و ٫٠وٹ٥ص ظىٸٳ ٬ىًي ،مث ؤ ً٬ظٙٱُٿ خڀربودڄؿ ٔعفً ؤوً ظىٸٳ ٬ىً زًخَص خڀُوَنت :
ڄسدُ٘ش
. خِن ٸڃ زع٭ًَٿ PUSH EBPبذل RETNمث ٘ٱٿ خڀربودڄؿ ،ؤعفً ؤن خڀُٔدڀص دل ظ٭ً ظ٩هُ زٿ ُٔ٩هُ ڀٻ خڀربودڄؿ
.2.2املجاٍ ايجاَْ : ٞطبع سٛاض ٜعٗط عٓس اإلقالع نتٓب ٘ٝعً ٢اْتٗاَ ٤س ٠اغتدساّ ايدلْاَر
ٌٍي خڀَُ٥ٹص ؤٴ١ٿ ڄه خٔعىًخڂ MsgBoxلُػ ظٝ٭ٍر ٬ځً خؼبهىًْ خڀ٭ٽٍٕ ڄهمعً.
٘ٱٿ خڀربودڄؿ خؼبُٴٷ ٔ Colorعفً ؤڄدڄٻ ودٴٍش ڄّ٬فص Splashزبربٺ زدوعهدء خؼبًش خڀعفَُسُص :
ڀځعىځ ٛڄىهد ضبٍٿ خڀربودڄؿ يف OllyDbgوخٌٌر بذل ٸٕڃ خڀًوخپ و ٫٠وٹ٥ص ظىٸٳ ٬ځً خڀًخڀص ٔ( vbaNew2عفً ؽبد ؤټؽُ ڄه
ڄٽدن؛ ڀٍخ ٫٠وٹ٥ص ظىٸٳ ٬ځُهد صبُ٭دً) مث ٘ٱٿ خڀربودڄؿٔ ،عفً ؤوً ٸً ظىٸٳ ٌىد :
ٸڃ زدڀععس ٫ٸځُالً ٔعفً ؤن خڀىدٴٍش َعڃ خٔعً٬دئٌد ڄه ٌٍخ خڀىًخء :
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 548
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
Bad Boy .3ثايجاً MsgBox :ختطز عٓس إزخاٍ بٝاْات تػذ ٌٝغرل قشٝش١
ڀٹً ُ٘لىد ٴُمد ٔسٷ ټُٳ َعڃ خڀعىځ ٛڄه خڀـ ، MsgBoxوٌٍ َُ٤ٹص يبٽه ظ٥سُٹهد ٬ځً ً٬ش زُخڄؿ ٴال يخ ٍ٪ڀځعٽُخَ.
.4ضابعاً :إغالم ايدلْاَر يٓؿػ٘ عٓس اْتٗا ٤املس ٠ايتذطٜب ١ٝأ ٚعٓس إزخاٍ بٝاْات غرل قشٝش١
٘ٱٍٿ خڀربودڄؿ خؼبُٴٷ ٔ Finshعفً ؤوً ُٔعڃ بٰالٸً ز٭ً ؼالغ ؼىخنٍ ،وٌٍي ؼٱُش يبٽه خڀعىځ ٛڄىهد زٕهىڀص.
ضبٿ خڀربودڄؿ يف OllyDbgوخٌٌر بذل ٸٕڃ خڀًوخپ ،و ٫٠وٹ٥ص ظىٸٳ ٬ىً خڀًخڀص ٘ . VbaEndٱٍٿ خڀربودڄؿ ،وخوع ُ٩ؼالغ غوخنٍ
ٔعفً ؤن خڀربودڄؿ ز٭ًٌد ٸً ظىٸٳ ٬ىً خڀًخڀص : VbaEnd
٬ )1مٿ NOPڀځىًخء خؼبٕاوپ ٬ه بٰالٶ خڀربودڄؿ ،وخڀٌٍ ظُخي ؤڄدڄٻ.
٘ٱٿ خڀربودڄؿ خؼبُٴٷ ٔ Serialعفً ؤوً َ٥دڀسٻ زدڀعٕفُٿ ،و٬ىً بيودڀٻ ألٌ َُٔدپ ُٔىعٵٍ خپَِ ،ؤع٩هُ ڀٻ ٬سدَش ظًپ ٬ځً ؤن
خڀَُٕدپ و٥إ ،وٌٍخ ٌټدء ڄه خؼبربڄؿ؛ ألوً دل َٕعىًڂ خڀـ MsgBoxخڀيت ظٕهٿ ټُٕ خڀربودڄؿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 549
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ضبٍٿ خڀربودڄؿ يف OllyDbgوٸڃ زعٙٱُځً مث ٫٠وٹ٥ص ظىٸٳ BP __vbaStrCompيخوٿ خؼبُز ، Command ٫وخ٠ٱ ٣ڄه
ڀىلص خؼبٵدظُك خڀَّ : Enter
خِن ٸڃ زةيودپ ؤٌ َُٔدپ ود٤ث؛ ڄؽالً sndybad :مث خ٠ٱ ٣خڀَّ ظٕفُٿ ،و٬ىًٌد ٔعفً ؤن خڀربودڄؿ ٸً ؤ٨هُ ڀٻ خڀَُٕدپ
خغبٹُٹٍ يف خؼبٽًْ ٬ه َُ٤ٷ ڄٹدَوعً زدڀَُٕدپ خڀٌٍ ؤيوځعً :
٬ه َُ٤ٷ خأليخش خڀٕمَُص vbaStrCmp.2.1وخڀيت ظٹىڂ زٹى ٛزُدودض خڀعٕفُٿ خػبدٜص زـ : vb6
٠ٱ ٣ظٕفُٿ خوٕه خڀربودڄؿ Serialوخڀٝٹً يف ؾبځً خأليخش ،مث ٸڃ زعٙٱُځً ڄه يخوٿ ؾبځً خأليخش ،وؤيوٿ ؤٌ َُٔدپ ود٤ث ،مث خ
و٘دًٌ ڄد ٔعٵ٭ځً خأليخش : vbaStrCmp.2.1
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 550
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڀٹً ٸدڄط خأليخش زٹى ٛخڀَُٕدپ خڀٝمُك ټمد ظٙدًٌ يف خؼبٕعُ٥ٿ خألضبُ ،ز٭ً ڄٹدَوعً زدڀَُٕدپ خػبد٤ث.
ټدڄٿ
ڄد ٬ځُٻ خِن بال ؤن ظٽعر خڀَُٕدپ خڀٌٍ ٸىٝعً ،وهتدوُىد مت ټُٕ خڀربودڄؿ وؤٜسك ڄٕفالً زٙٽٿٍ .
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 551
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
َ .1كسَ١
خڀًووٱٿ ٬سدَش ٬ه ٸ ٫٥ش ٴَُّدجُص (َ )Hardwareعڃ ضبدَص خڀربؾبُدض هبد ،و ڀٽٍ َ٭مٿ خڀربودڄؿ زٙٽٿ ـًٍُ وټدڄٿ هبر ؤن ظٽىن
ٌٍي خڀٹ٥٭ص ڄعٝځص ڄ ٫خغبدٔر ،و ؤٜسك خِن ٌىدڀٻ ؼالؼص ؤوىخ ٪ڄىهد:
ڀٕىد وربخء بڀٽعُووُدض ڀٽٍ وُٙق خڀًووٯ پ ڂ ن خڀًخوٿ ،و ڀٽه لٕر ڄد ٸُؤود ٴهٍ ٬سدَش ٬ه ٌخټُش ،ټٿ ڄد زًخوځهد ڄٙٵُ ،وال
يبٽه ٸُخءظً حبدپ ڄه خأللىخپ زًون Keysو ىبعځٳ خڀعٝمُڃ ڄه ُ٘ټص ڄٝى٭ص ألوُي.
لُػ ظ٭عمً خڀُٙټدض ٬ځً وىخَِڄُدض ظٙٵًن؛ ڄؽٿ ( RSAو )... AESڀځٹُخءش ؤو خڀٽعدزص ٬ځً خڀًووٱٿ؛ وٌڀٻ دل و ٫خغبٝىپ ٬ځً
ؿبعىَدظً.
بٌخ ڄد حبؽط يف خإلوعُوط ٴٕىٲ ذبً ؤن ُ٘ټص ( safenet )Sentinelخؼبىعٝص يف و٩ڃ خغبمدَص ٌٍ خڀيت ظعُز٬ ٫ځً ُٖ٬خڀُٙټدض
خؼبٝى٭ص ڀځًووٱٿ ،وٌٍخ ڄىٸ٭هد ( . )http://www.safenet-inc.comوؤلً ڄىعفدهتد ٌى خڀًووٱٿ ،و خڀٌٍ َ٭عرب ؿب ٣خو٩دَ
صبُ ٫خڀٽُخټُ ،و ٌڀٻ ڀٙهُظً و خٔعىًخڄً زٽؽُش ڄه ٸسٿ ُ٘ټدض خڀربؾبُدض.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 552
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڄالل٩ص :ټدن خٔڃ ٌٍي خڀُٙټص Rainbowيف خألٔسٷ ٸسٿ ؤن ظعمىپ بذل .Safenet
خڀُٙټص خڀؽدوُص ٌٍ َٖټص ٬الء خڀًَه خإلُٔخجُځُص ( وٕإپ خهلل ظ٭دذل ؤن َإيت خڀُىڂ خڀٌٍ َسًُ ٴًُ ٌٍخ خڀٽُدن خڀٝهُىين ) ،و خؼب٭ُوٴص زـ
, HASPوٌٍخ ڄىٸ٭هد ( ,)http://www.aladdin.com/haspوٌٍ ؤَ١دً ُ٘ټص َخجًش يف ٌٍخ خجملدپ ،وڀٽه ڀُٓ زٹىش
خڀُٙټص خڀٕدزٹص ال ڄه لُػ ً٬ي خڀّزدجه ،وال ڄه لُػ ٸىش خغبمدَص .وٌٍي ٬دجځعهد خعبًًَش :
SmartDongleاألمزيكية ،وموقعها
Matrixأملاىية الصيع ،وموقعها
خالل و ي ودٺ خڀ٭ًًَ ڄه خڀُٙټدض خألوُي ،ويبٽه خغبٝىپ ٬ځً ڄ٭ځىڄدض ٬ىهد ڄه
صفرة الويكي :
خپي ووٱٿ ٌٍ يڄؿ ؤو َز ٣ضبدَص خڀًووٯپ ) (Dongleيف خڀربنخڄؿ وٵًٕ ،وٌٍخ ڄد َٹىڂ زً خؼبربڄؿ
خڀىٹ٥ص خأل٠٭ٳ يف ضبدَص ؤٌ زُودڄؿ ذ
وڀُٓ خڀُٙټص خؼبٝى٭ص ڀځًووٯپ ) ,(Dongleٴدڀُٙټص خؼبٝى٭ص ڀځًووٯ پ ظ٭ُ٥ٻ خأليوخض و خألٔځمص ڄُ٘ ٫ق ڀٽٿ ؤيخش وټُٵُص
خالٔعىًخڂ خألڄؽٿ ؽبد ,وڀٽه ڄد ٌور خڀُٙټص خؼبٝى٭ص بٌخ دل ظٹُؤ ڄد ؤ٥٬عٻ بَدي؟!
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 553
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ؤٰځر خڀُٙټدض ظځفث بذل ضبدَص ڄىعفدظًخ زًووٱٿ ٬ىًڄد َٽىن ڄىعفهد ٰدرل خڀؽمه ،وڀٽه ٰدڀسدً ڄد َٽىن خؼبربؾبىن يخوٿ ٌٍي خڀُٙټدض
هبهځىن سبدڄدً ڄًي ٸىش خڀٽُخټُ و خأليوخض خڀيت ڄ٭ً ,هبهځىن سبدڄدً ؤن ڀًًَ debug toolحبُػ سبٽىً ڄه خؼب٬ ٍٙځً خڀٽىي خػبد ٚزًڂ
و٥ىش خب٥ىش ,هبهځىن ُ٘حدً آوُخً خظبً خڀعٙٵًن ،وؤوً يبٽه خٔعىًخڄً غبمدَص خڀع٥سُٹدض ؤَ١دً وڀُٓ ٴٹ ٣خڀسُدودض.
يف خغبٹُٹص بن ټٿ خڀٽُخټُ ڄعٵٹىن ٬ځً ؤنّ خغبمدَص زدڀًووٱٿ ٌٍ ڄه ؤٜ٭ر خغبمدَدضٌٍ ,خ ٴُمد بٌخ مت خٔعىًخڄهد زدڀَُ٥ٹص خڀٝمُمص،
وبڀُٻ ز٭ ٟخڀىٝدجك خؽبدڄص خڀيت هبر ٬ځُٻ خظسد٬هد ٬ىًڄد ظًَُ ؤن ظٹىڂ زدٔعىًخڂٌٍي خغبمدَص :
اٍ SDKs
اٍ ٚ Manualsاالطالع عً ٢ـ
.3.1قطا ٠٤ـ
٬ځً خؼبربڄؿ ؤن َٹُؤ خپـ Manualsؤو خپـ SDKخڀيت ظ٭ ً٥ڄ ٫خڀً ووٱٿ ,و ٌٍ ؤٌڃ و٥ىش يف َُ٤ٹٻ غبمدَص خڀً ووٱٿ زٙٽٿٍ
َؤٌ خڀٽؽًن ڄه خڀىدْ خڀٍَه َٕعىًڄىن ضبدَص خڀًووٱٿ يون ٸُخءش ٔ ُ٥وخلً يف خپـ Manualخڀٌٍ َإيت ڄ ٫خڀًووٱٿ,
ٜمُك ,وٸً ود
وڀ٭ځهڃ َٕعٝ٭سىن خألڄُ و هبًووً ڄ٭ٹً خً؛ حبُػ َس٭ًٌڃ ٬ه ٸُخ ءظً .لُػ ؤنّ خڀع٭دڄٿ ڄ ٫خپيووٱٿ ڀُٓ Standardزٿ ىبعځٳ ڄه
ُ٘ټص ڄٝى٭ص ڀُٙټص ؤوُي .و ټٿ ُ٘ټص ؽبد ظىخز٭هد و ڄٽعسدهتد خػبدٜص ،وهبر خال٤ال٬ ٪ځُهد ټځهد ,زٿ و سبمُٝهد.
ٸڃ زعىَِ ٫خپـ Function callsخػبدٜص زدڀًووٱٿ يف زُودؾبٻ ،و ڀُٓ ٴٹ ٣خٔعً٬دءٌد ٬ىً بٸال ٪خڀربودڄؿ٤ ,س٭دً ٌٍخ ٔىٲ َٝ٭ر
٬ځً خڀٽُخټُ خؼبهمص؛ ٴةِخڀص ً٬ش خٔعً٬دءخض ڂز٭ؽُش يف خڀع٥سُٷ ؤ ٜ٭ر زٽؽًن ڄه خٔعً٬دء وخلً َعڃ ٬ىً بٸال ٪خڀع٥سُٷ .هبر ؤن َٽىن
خالٔعً٬دء خأل وپ ٬ىً زًخَص خڀربودڄؿ ٴٹٌ ٣ى زىخزص خؼبعدٌص خڀيت ٔىٲ ًَون هبد خڀٽُخټُ .ؤَ١دً خـ٭ٿ خڀٵمَ ٛعڃ يف ؤٰځر خڀ٭مځُدض
خؽبدڄص خڀيت َٹىڂ هبد خڀربودڄؿ؛ ڄؽٿ خڀ٥سد٬ص و٬مٿ خغبٕدزدض خؽبدڄص وًٰن ٌڀٻ.
هبر ؤن ظٹىڂ ز٭مٿ ظٵم ٛڀىـىي خڀً ووٱٿ زٙٽٿ ڄعٽَُ ,ؤٌ ؤن ظٹىڂ زٵم ٛوـىيي ټٿ يٸُٹص ڄؽالً ,ٴځُٓ ڄه خؼب٭ٹىپ ؤن َعڃ
ٌٍخ ٔىٲ يبٽه خؼبٕعىًڂ ڄه خٔعىًخڂ ً٬ش وٕه ,ټُٳ؟؟!
خڀٵم ٛٴٹ٬ ٣ىً زًخَص ٴعك خڀربودڄؿ؛ ٲ
ظىُٝر ً٬ش وٕه ٬ځً ً٬ش لىخُٔر ڄعٹدَزص ڄه ز٭١هد ,وڀى ٴُ٠ىد ؤوٻ ظٹىڂ زٵم ٛوـىي خڀًووٱٿ ٴٹ٬ ٣ىً زًء
ڀى ٸدڂ خؼبٕعىًڂ ذ
خڀعٙٱُٿٔ ,ىٲ َ ٫١خڀً ووٱٿ يف خغبدٔر خأل وپ و َٙٱٿ خڀربودڄؿ ٴُ٭مٿ ,و ڄه مث َْ١٭ً يف خغبدٔر خڀؽدين و ڄه مث َٙٱٿ خڀربودڄؿ
ٴُ٭مٿ و ٌٽٍخ ..وڀى ټدن ٌىدٺ ٴم ٛڄعٽَُ ڀىـىي خڀًووٱٿ ڄؽالً زدٔعىًخڂ Timerؼبد سبٽه خؼبٕعىًڂ ڄه ٴ٭ٿ ٌٍخ ,ټمد ويبٽىً
٬مٿ Hibernateڀألـهّش ڀعسٹً خڀربخڄؿ ٘ٱدڀص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 554
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
خٔعىًڂ ٌخټُش خڀً ووٱٿ يف ؤڄىَ ذب٭ٿ ڄه ٬مٿ خڀربودڄؿ زًوهند ڄٕعمُال ؛ً ڄؽالً ـّء ڄه خڀٽىي ٌدڂ ـًخً ,ڄؽالً َٽىن ٌٍخ
خڀٽىي ي و خؼبٕاوپ ٬ه بٸال ٪خڀربودڄؿ ,و َعڃ ـځسً ڄه خڀًووٱٿ و ب٠دٴعً بذل خڀربودڄؿ ٬ىً زًء خڀعٙٱُٿ.
ز٭ ٟخڀسدَخڄعُخض وخؼبعمىالض خؽبدڄص ڀ٭مٿ خڀربودڄؿ ,و َعڃ ـځسهد ؤَ١دً ڄه خڀًووٯپ يف ټٿ ڄُش كبعدـهد.
بٌخ ټدن ڀًَٻ وىخَِڄُدض ظٙٵًن ڄد ظٕعىًڄهد يف خڀربودڄؿ ,ٴ ٫١خپـ Keysخخلخٜص هبد يخوٿ ٌخټُش خڀًووٱٿ.
ز٭ ٟخألَٸدڂ خڀ٭ٙىخجُص يف خڀٍخټُش و خڀٱًن ڄٕعىًڄص ظٹىڂ زٵم ٛوـىيٌد وظ٥دزٹهد ڄه خڀربودڄؿ.
يبٽىٻ ؤَ١دً ٴعك ڄُّخض ؤو ظبدلُدض يف زُودؾبٻ زىدء ٬ځً ٌخټُش خڀًووٱٿ ؛ وڀٽٿ ڄُّش شبىهد .وڀعىُ٠ك خڀٵٽُش ؤټؽُ :ڀى
ٴُ٠ىد ؤن خڀربودڄؿ خڀٌٍ ظٹىڂ ز ٫ڄځً َٹىڂ زدڀٹُخءش و خڀٽعدزص ڄه ڄځٳ ,ٴُمٽه ٬مٿ وٕىعٌن ڄه خڀربودڄؿ :خألوذل ڀٿٸُخءش
ٴٹ ,٣و خڀؽدوُص ڀٿٸُخءش و خپټعدزص .و ټٿ وٕىص ؽبد شبىهد.
ز٭ً ٸُخءش ٸُڃ خؼبعمىالض ڄه ٌخټُش خپيووٱٿ خٔعىًڂ ُ٘و ٢ٴم ٛڄ٭ٹًش ز٭ ٟخڀٍٙء ٬ى٠دً ٬ه ُ٘و ٢خڀٵم ٛخپ٬ديَص٬ Pځً ٔسُٿ
خؼبؽدپ :بٌخ ؤَيض ٴم ٛٸُمص ڄعمىپ ظٕدوٌ 255ٴال ظٹڃ زٵمٝهد هبٍخ خڀٙٽٿ :
ټىي:
If (MyVar = 255)…..
ټىي:
If ((MyVar + 90)/7 = SQRT (MyVar)*3)…..
ًٜٶ ؤن خپـ ٔ Crackerىٲ يب ٍ١خڀٽؽًن ڄه خڀىٸط پٴهڃ ٌٍي خڀُٝٱص ،و وٝىٜدً ؤنّ خڀٽىي خڀٌٍ َُخي ڄىىٵ ٟخؼبٕعىي
(ؤظبسځٍ).
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 555
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ز٭ًٌد وٹىڂ بذَٔدپ خڀى ٛخڀٱًن ڄٙٵُ بذل خپيووٱٿ ڀُٹىڂ زعٙٵًني زدٔعىًخڂ خپـ Keyو َ٭ًُ خڀىعدجؿ ڀىٹىڂ دبٹدَوعً ڄ ٫خڀٹُڃ خؼبٙٵُش .
ٴةٌخ ټدوط ڄع٥دزٹص وٹىڂ زعٙٱُٿ خڀربودڄؿ و بال وٹىڂ زةٮالٸً.
.3.7ا غتدسّ اذتُا ١ٜارتاق ١بايؿطن ١أَ ٚا ٜعطف بايـ Shell
يخجمدً َإيت زُودڄؿ ڄه خڀُٙټص َٹىڂ حبمدَص خڀربودڄؿ زٙٽٿ ظځٹدجٍ ،ولىت زًون ټعدزص ؤٌ ٔ ُ٥ټىي ,ٴٹ٥َ ٣ځر ڄىٻ خڀربودڄؿ ڀٽٍ
َٹىڂ حبمدَعً ,ڄه خالٴ١ٿ خٔعىًخڂ ٌٍي خغبمدَص ٴىٶ خغبمدَص خڀيت ظٹىڂ هبد ؤوط ،ٴهڃ َٹىڄىن ٬ځً خألٰځر زعٙٵًن خڀٽىي يخوٿ خڀع٥سُٷ
لٕر خپـ 128 bit keyخؼبىّن يخوٿ خپيووٱٿ ،و َعڃ ٴٻ خڀعٙٵًن ٬ىً ذيء ظٙٱُٿ خڀربودڄؿ ,و َ١٭ىن خڀٽؽًن ڄه خغبمدَدض و
خڀ٭ٹسدض خڀيت ظ٭ُٷ ظٹًڂ خڀٽُخټُ يف ټُٕ خڀربودڄؿ ،و ٌٍ ڄٵًُش ـًخً.
Compress sections.
Merge sections.
Protect Sections.
Force Trim Sections.
Quit if debugged.
اٍ Emulator
.3.8اذتُا َٔ ١ٜـ
ٌى ٬سدَش ٬ه زُودڄؿ softwareوبدوپ ؿبدټدش ،ؤٌ ظٹځًُ ٬مٿ خپيووٱٿ ،حبُػ َ٭مٿ خڀربودڄؿ زًو ن وـىي خپيووٱٿ خألٜځٍ ،و بمبد
زدٔعىًخڂ ٌٍخ خپـ Softwareلُػ َ٭عمً ڄسًؤ ٬مځً ٬ځً خڀعىٝط ٬ځً خپ ـ Portخػبد ٚزدپيووٱٿ ڀًنخٸر صبُ ٫خؼبىُـدض و
خؼبًوالض ٬ځً ٌٍخ خپـ Portو ز٭ًٌد ڀُٹىڂ زعٹځًٌُد .ؤ ٜسمط ٌٍي خڀربخڄؿ خڀُىڂ ټؽًنش خالوعٙدَ ,وڀٽه ؽبد يوخء ودـ ٫و ٘دٲٍ ,وٌى
ظىڀًُ ؤَٸدڂ ٙ٬ىخجُص زدٔعىًخڂ خڀعدز Random ٫ڄؽالً و بَٔدؽبد بذل خپيووٱٿ ڀُعڃ ظٙٵًنٌد ،و ڄه مث وٹىڂ زةَٔدپ خڀٹُڃ خؼب٭ديش (خؼبٙٵُش)
ڀٽٍ َعڃ ٴٻ ظٙٵًني خ ،و ڄه مث وٹدَهند ڄ ٫خڀٹُمص خڀسًخجُص خڀيت مت ظىڀًٌُد زىخٔ٥ص خڀعدز. Random٫
ڀى ٴُ٠ىد ؤوً مت ب٬ديش خڀُٸڃ 364732ڄه والپ خڀعدز Random ٫ز٭ً بَٔدڀً بذل خپيووٱٿ ڀُٹىڂ زعٙٵًني )(Encryptزدٔعىًخڂ
128 bit keyلٝځىد ٬ځً خڀٹُمص 894837199مث وٹىڂ زة٬ديش بَٔدڀً بذل خپيووٱٿ ڀُٹىڂ زٵٻ ظٙٵًنٌد ) (Decryptٴةٌخ لٝځىد
٬ځً خڀٹُمص 364732وعإټً ؤن خپيووٱٿ ڄىـىي ،وؤنّ خڀٹُڃ دل َعڃ ب٬ديهتد زدٔعىًخڂ Emulatorلُػ ؤنّ خپـ Emulator
ٙ٬ىخجًٍ ،ٴمدٌخ ٔىٲ َٕفٿ خپـ Emulator؟!
خ َ٭عمً ٬ځً خڀعٕفُٿ ،و دبد ؤنود وٕعىًڂ خڀعدز Random ٫ٲُٔٽىن خڀعىڀًُ
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 556
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڄالل٩ص :صبٌٍُ ٫ي خغبمدَدض ربعىٌ ٬ځً ظىخز ٫ظٙٵًن و ٴٻ خڀعٙٵًن ڀٹُڃ وَٛص ظُٔځهد بذل
خپيووٱٿ ،و َعڃ ٌٍخ خڀعٙٵًن زدٔعىًخڂ وىخَِڄُدض ظٙٵًن ڄ٭ٹًش ) (AESزدٔعىًخڂ ڄٵعدق
ظٙٵًن .128 bit
يف خڀىهدَص :بٌخ خظس٭ط خڀىٝدجك خؼبىـىي ؤ٬الي ٲبن ٘دء خهلل ٔىٲ َٝسك ڄه خؼبٕعمُٿ ټُٕ زُودؾبٻ زًون لٝىپ خپـ ٬ Crackerځً
خپيووٱٿ ،و ؤٰځر بن دل َٽه %99ڄه خپ Crackersڀُٓ ڀًَهڃ شبه خپيووٱٿ خألٜځٍ ،و ڀه َٹىڄىخ زُٙخجً ټٍ وبدوڀىخ ټُٕ
زُودؾبٻ ،و لىت ڀى خٔع٥د ٪ؤلًٌڃ خغبٝىپ ٬ځًُ ٔٝسك خؼبٙىخَ ز٭ًُ خً ـًخً ٬ځً خپـ Crackerوًٜٶ ٔىٲ َٹ ٍ١خڀٽؽًن ڄه
ظ٥سُٷ؛ حبُػ ال َٕع ٫ُ٥ظٍوٸً زدڀٙٽٿ خؼبىدٔر.
خڀىٸط ڀٽٍ َٕع ٫ُ٥ټُٕي ,و وٝىٜدً بٌخ و٠٭ط ز٭ ٟخڀٵځٵٿ و خؼبځك ٬ځً خپ
٤س٭دً بٌخ وٸ ٫يووٱٿ ڄد زًُ ټُخټُ ،ٲوٹ٥ص خڀ١٭ٳ ٔىٲ ظٽىن ز٭ً ظٙٱُٿ خڀربودڄؿ ،ٲٔىٲ َٽىن ٌىدٺ وٕىص ًٰن ڄٙٵُش ڄه
خڀربودڄؿ يف خڀٍخټُش ،و ز٭ًٌد َٕع٬ ٫ُ٥مٿ Dumpو ڄه مث خٔعىال ٚوٕىص ًٰن ڄٙٵُش ،و ز٭ًٌد َٕع ٫ُ٥خڀع٭دڄٿ ڄ٭هد ټمد ٌى
خغبدپ يف خڀربودڄؿ خڀٌٍ ٸمط زٽُٕي.
ڄ٥ىَو ُ٘ټص خپيووٱٿ خټعٙٵىخ ٌٍخ خڀٍٙء؛ ڀٍڀٻ ظُخٌڃ َٹٕمىن خڀربودڄؿ بذل ٸ ٫٥ټؽًنش ،و ڀٽىهد ڄٙٵُش ،و ظسٹً ٸ٥٭ص وخلًش ًٰن
ڄٙٵُش ،و ٌٍ خڀيت ظٹىڂ زٵٻ ظٙٵًن ؤٌ ٸ٥٭ص ڄه ٌٍي خڀٹ ٫٥لٕر خڀ٥ځر .و َْٽىن ڄه خڀٝ٭ر ـًخً ٬ځً خڀٹُٜدن ذبمٌٍُ ٫ي
خڀٹ ٫٥و خٔعىال ٚزُودڄؿ ًٰن ڄٙٵُ.
هبد
و ٌٍخ ټځً َعڃ زدٔعىًخڂ ؤيخش خغبمدَص خڀيت َىٴُوهند ڄ ٫خڀًووٱٿ؛ ڀٍڀٻ ڄه خڀُ١وٌَ خال٬عمدي ٬ځُهد ٴىٶ خغبمدَص خڀيت ظٹىڂ .
دبد ؤهند ٸ٥٭ص Hardwareٴهٍ ٸدزځص ڀځعځٳ ٺزدٸٍ خڀٹ ،٫٥و ڀٽه خڀُٙټدض خؼبٝى٭ص ٬ديش ڄد ظٹًڂ ټٵدڀص ؽبد.
ٜ٭ىزص بَٝدؽبد بذل خؼبٕعىًڄٌن ،ٴُفر ٘مه خپيووٱٿ زىخٔ٥ص ُ٘ټدض خڀٙمه ,وبمبد يف خڀُ٥ٶ خالوُي يبٽه ٬مٿ ڄىڀً ألَٸدڂ
خڀعٕفُٿ ڄه والپ ڄىٸ ٫بوعُوط.
ٸدزځص ڀځُٕٸص ڄه ٬ځً خغبدٔر ،وٌٍي لًؼط ڄ ٫ټؽًن ڄه خڀُٙټدض خڀيت نُ٬ٴهد ،وزدڀعدرل وٕدَش خڀىٕىص؛ ألنّ ُ٘ټص خڀربؾبُدض ڀه
ظ٭ُ٥ٻ يووٱٿ ؤوُي زٕهىڀص.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 557
AT4RE انفريك انعرتي نههُذسح انعكسيح: يرفرلاخ انهُذسح انعكسيح :خطىج إنى األياو.
ڄى٨ٳڄٕاوالً ٬ىهد.
خً ٰدڀسدً ڄد ظ٥ځر
ٜ٭ىزص بيخَهتد ڄٹدَوص زدڀُ٥ٶ خألوُي ,ٲ
ظ٭عمً يف ٸىهتد ٬ځً ٸىش وٜالزص خڀُٙټص خؼبٝى٭ص ,ويف لدپ خڀعمٽه ڄه ټُٕ خپيووٱٿ ٴَُّدجُدً ؤو خڀعمٽه ڄه خوعُخٶ خپـ SDKخػبدٜص
زدڀُٙټص ٴهٍخ َ٭ين خوعهدء ضبدَص زُودؾبٻ زدڀٽدڄٿ.
دليك اقرتاح أو سؤال حول هذه الطبعة؟ اضغط هنا 2009 558
AT4RE انفريك انعرتي نههُذسح انعكسيح: انخاذًح انهُذسح انعكسيح :خطىج إنى األياو.
اخلامتة
{ َوأَوْ َزلَ انهَّهُ عَهَيْكَ انْكِتَبةَ وَاْنحِكْمَةَ وَعَهَّمَكَ مَب نَمْ تَكُهْ تَعْهَمُ َوكَبنَ فَضْمُ انهَّهِ عَهَيْكَ عَظِيمًب}
ٚأخرلاً ٚيٝؼ آخطاً ْ ..كٌ َعهِ إىل ْٗا ١ٜاملطاف بعس إٔ أعطْا بهِ يف زضٚؽ َتٓٛع َٔ ١عًِ
اشلٓسغ ١ايعهػٚ ١ٝبأزم تؿاقًٗٝا.
ؾبعس إٔ نإ املػتدسّ ايعط بٜ ٞبشح يف ايؿبه ١ايعٓهبٛت ١ٝعٔ أ ٟؾ ٤ٞس ٍٛاشلٓسغ ١ايعهػ١ٝ
ٚبعض ؾطٚعٗا ثِ ال جيس إال زضغاً َتٛانعاً أَ ٚكاي ١زتتعأ ،٠أقبح بإَهاْ٘ اي ّٛٝإٔ ٜكطأ ايهجرل سٛشلا،
ٖٚصا األَط مل ٜهٔ عٔ ؾطاؽ أٜٗا ايكاض ٨ايهط ،ِٜبٌ نإ أعها ٤ايؿطٜل ٜعًُ ٕٛظس ْٚؿاطٍ ٚزأبٍ ز ٕٚدعا ٍ٤أٚ
ؾهٛضٚ ،غتًُؼ شيو َٔ خالٍ َا قسَٓا ٙيو يف اإلقساض األ َٔ ٍٚنتابٓا (َسخٌ إىل اشلٓسغ ١ايعهػَٔٚ ،)١ٝ
خالٍ َا ططسٓا ٙيف اإلقساض ايجاْ( ٞاشلٓسغ ١ايعهػ : ١ٝخط ٠ٛإىل األَاّ ) َٔٚ ،خالٍ َا ْؿهط بططس٘ يف
اإلقساض ايجايح إٕ ؾا ٤اهلل.
ْأٌَ إٔ حيكل ٖصا ايهتاب َا ْكب ٚإي َٔ ٘ٝإٜكاٍ ٖصا ايعًِ يًذُٝعٚ ،ضؾس املدلزتني بايططم
ٌٍ أزم ٚأسلٌ.
ٚايٛغا ٌ٥اييت جتعًِٗ قازض ٜٔعً ٢ايتعاٍّ َع بطزتٝاتِٗ بؿه
ايًِٗ يو اذتُس نً٘ ٚيو ايؿهط نً٘ ٚإيٝو ٜطدع األَط نً٘ٚ ،ايكالٚ ٠ايػالّ عً ٢خرل األْاّ ٚعً٢
آي٘ ٚقشب٘ ٚغًِ.
2009 559
AT4RE :انفريك انعرتي نههُذسح انعكسيح INDEX . خطىج إنى األياو:انهُذسح انعكسيح
INDEX
2009 561
AT4RE انفريك انعرتي نههُذسح انعكسيح: يُكى و انيكى و انسالو عهيكى انهُذسح انعكسيح :خطىج إنى األياو.
2009 562