فهرست مطالب
مقدمه 23
فصل اول 29
مهندسي معكوس چيست؟ 29
مكانيك 29
زيست شناسي و نانوتكنولوژي 30
الكترونيك و سختافزار 31
شرايط استفاده و امكانات لازم 32
نمونههايي از كاربردها در رشته نرمافزار 32
كشف كدگذاريها و رمزها 32
استفاده در مراجع قانوني 33
مبارزه با ويروسها و كشف نرمافزارهاي مخرب 33
تعيير در روند اجرايي و يا ظاهر يك نرمافزار 33
طراحي مجدد يك نرمافزار 34
مستندسازي يك نرمافزار موجود 35
فصل دوم 39
جمعآوري اطلاعات اوليه 39
بررسي فايلهاي اجرايي به صورت ايستا 39
شناسايي نوع كامپايلر 39
خصوصیات فایل های اجرایی در کامپایلرهای مختلف 40
Visual C++ 41
C++ Builder و Delphi 41
Visual Basic 41
.NET (..., VB .Net, C#) 43
نرم افزار PEiD 44
نرم افزار Language 2000 44
بررسي توابع ورودي 45
نرم افزار Dependency Walker 46
بررسي منابع 48
نرم افزار Resource Tuner 49
نرم افزار Resource Hacker 50
بررسي ساختار فايلهاي اجرايي 52
نرم افزار PEView 52
بررسي فعاليتهاي فايلهاي اجرايي در مرحلة اجرا 53
بررسي جزئيات Process 54
نرم افزار Process Explorer 55
نرم افزار Process Viewer 56
بررسي dllها 57
بررسي Threadها (صف هاي دستورات) 58
بررسي فضاي حافظة برنامه 60
بررسي شمارههاي دسترسي 61
بررسي فعاليتها در زمينة فايل 63
نرم افزار File Monitor 63
بررسي فعاليتها در Registry 66
نرم افزار Registry Monitor 66
بررسي فعاليتها در زمينة ارتباطات شبكه 68
بررسي Connectionهاي مورد استفاده 68
نرم افزار Netstat 69
بررسي تبادل دادهها در شبكه 70
درايورهاي مجازي 71
حالت بيقيد (Promiscuous) در كارتهاي شبكه 71
Snifferها 73
ابزارهای Libpcap وWinpcap 73
نرم افزار Ethereal 74
ضبط كردن و مديريت بستههاي مبادله شده 76
بررسي فعاليتها در زمينة پورتهاي سختافزاري 81
ناظرهاي سختافزاري 82
ناظرهاي نرمافزاري 83
پورت های سریال 83
نرم افزار Serial Monitor 83
Protocol Analyzer 85
Log File playback 85
پورت های USB 88
نرم افزار USB Monitor 88
بررسي فراخوانيهاي توابع API 90
فایل های کتابخانه ای استاندارد ویندوز 90
عمليات بارگذاري و فراخواني توابع API 92
نظارت بر فراخوانی های توابع API 93
نرم افزار API Monitor 93
تعيين فيلتر براي Process ها 93
تعيين فيلترهايي براي توابع API 95
نرم افزار Smart Check 98
نرم افزار SoftSnoop 103
نظارت بر فراخواني هاي API 104
ايجاد تغييرات در فراخوانيهاي API 105
فصل سوم 111
بررسي كد 111
Disassembler ها 112
نرم افزار W32Dasm 113
نرم افزار PE Explorer 120
جستجو در كد 121
بررسي ارجاع ها 122
بررسي اشياء VCL 123
استفاده از نماها 125
نرم افزار (IDA Pro) Interactive Disassembler 127
مديريت پروژه 128
جستجو در كد 129
بررسي ارجاعها 134
گراف ها و نمودارها 135
1- فلوچارت ها 135
2- نمودار كلي فراخواني ها 137
3- نمودار فراخواني ها از توابع 138
4- نمودار فراخواني هاي انجام شده به وسيله توابع 139
فصل چهارم 143
Decompiler ها 143
C/C++ Decompliers 143
نرم افزار REC (Reverse Engineering Compiler) 144
JAVA Decompilers 152
نرم افزار DJ JAVA Decompiler (JAD) 152
Visual Basic Decompilers 153
نرم افزار VB Reformer 154
C++ Builder / Delphi Decopilers 157
نرم افزار DeDe (Delphi Decompiler) 157
.Net Decompilers 168
فصل پنجم 171
Debugger ها 171
مقدمه 171
نرم افزارOllyDbg 172
شروع عمليات ديباگ 173
اجراي فايل اجرايي در حالت ديباگ 173
اتصال به فايل هاي اجرايي در حين اجرا 175
اجراي توابع داخلي فايل هاي dll در حالت ديباگ 176
پنجره اصلي (CPU window) Olly Dbg 179
نقاط توقف (Breakpoints) 187
نقاط توقف معمولي 187
نقاط توقف شرطي 188
نقاط توقف شرطي همراه با گزارش 191
نقاط توقف براي پروسيجرهاي پنجره 194
نقاط توقف برای دسترسی ها به حافظه 200
نقاط توقف يكبار مصرف براي بلوكهاي حافظه 202
نقاط توقف سختافزاري 203
نقاط توقف براي رويدادهاي ديباگ 204
بررسي كد 206
گزينههاي حركت در Disassembler 206
بررسي سلسه مراتبي فراخوانيهاي انجام شده 208
گزينههاي جستجو 212
جستجوي رشتهها 213
جستجو براساس يك دستورالعمل 213
جستجو براساس دنبالهاي از دستورالعملها 215
جستجوي فراخوانيهاي خارجي انجام شده توسط فايل اجرايي 217
جستجوي ارجاعهاي انجام شده 218
بررسي Threadها 221
بررسي نواحي حافظة برنامه 223
بررسي شمارههاي دسترسي 226
بررسي فايلهاي dll مورد استفادة برنامه 227
بررسي توابع ورودي و خروجي 233
بررسي فراخوانيهاي تودرتوي انجام شده 239
كنترل، بررسي و رديابي روند اجرايي 245
اجراي مرحله به مرحله 245
بررسي و كنترل دستورالعملهاي اجرا شده 249
رديابي مراحل اجراي برنامه (Run Trace) 251
فصل ششم 259
ايجاد تغييرات در فايل هاي اجرايي 259
ايجاد تغييرات در منابع 260
تغيير در منابع رشته اي 260
تغيير در منوها 261
تغيير در پنجرهها و ديالوگ ها 264
Visual C++ (ديالوگ هاي استاندارد) 265
Delphi / C++ Builder 267
Visual Basic 268
اضافه كردن منابع جديد به فايل هاي اجرايي 271
ايجاد تغييرات در مشخصات و ساختار فايل هاي اجرايي 273
تغيير در اطلاعات سرآيندها 273
اضافه كردن dll ها و توابع در ليست توابع ورودي 275
اضافه كرد ن توابع داخلي فايل هاي اجرايي به ليست توابع صادرشده (Export Table) 277
اضافه كردن و يا تغيير section ها در فايل هاي اجرايي 280
ايجاد تغييرات در کدهای فایل های اجرایی 284
ايجاد تغييرات به صورت ايستا 284
ايجاد تغييرات در مراحل اجرا 288
اضافه کردن کدهای جدید به فایل های اجرایی 291
فصل هفتم 299
درك كدهاي اسمبلي 299
سيستم هاي عددي 300
ثبات ها 302
ثبات هاي عمومي 302
ثبات هاي سگمنت 303
ثبات هاي اشاره گر 304
ثبات هاي شاخص 304
Stack 305
آدرس دهي ها در پردازنده هاي 80x86 306
شناسايي ساختارهاي كليدي مورد استفاده در زبانهاي سطح بالا 308
شناسایی عملگرهاي رياضي 308
شناسايي عملگر جمع 308
شناسايي عملگر تفريق 310
شناسايي عملگر تقسيم 312
شناسايي عملگر ضرب 314
عملگرهاي ++ و - - 316
شناسایی رشتهها 317
رشتههاي C 318
رشتههاي پاسكال 319
رشتههاي دلفي 319
رشتههاي گستردة پاسكال 320
انواع تركيبي 320
شناسایی متغيرهاي محلي 321
آدرسدهي متغيرهاي محلي 322
جزئيات پيادهسازي 324
شناسايي مكانيزم اختصاص حافظه 325
مقداردهي اوليه متغيرهاي محلي 325
اختصاص حافظه به ركوردها و آرايهها 325
ايجاد متغيرهاي موقت براي ذخيره مقداربازگشتي توابع ونتيجه عبارات محاسباتي 326
حوزة متغيرهاي موقتي 327
شناسایی متغيرهاي سراسري 328
آدرسدهي غيرمستقيم متغيرهاي سراسري 328
متغيرهاي ايستا 331
شناسايي حلقه هاي تكرار 332
حلقهها با شرط در ابتدا 333
حلقهها با شرط در انتها 334
حلقهها با شمارشگر 335
شناسایی ساختارهاي كنترلي 338
دستورات IF-THEN-ELSE 338
انواع شرطها 341
دستورات جابه جايي شرطي 345
مقايسههاي بولين 346
ساختار ((Condition)? Do-it: Continue) 346
دستورات Switch-case-break 349
شناسايي آرايهها و اشياء 355
شناسایی توابع 371
شناسايي فراخوانيها 372
شناسايي خودكار توابع با استفاده از IDA Pro 376
شناسايي آرگومانهاي تابع 380
قراردادهاي فرستادن آرگومانها 380
شناخت تعداد آرگومانها و روش ارسال آنها 382
آدرس دهي آرگومانها در پشته 387
آرگومانهاي پيش فرض Default Arguments: 390
مقادير بازگشتي توابع 392
بازگرداندن مقادير با استفاده از عملگر return 392
مقادير بازگشتي از طريق آرگومانهاي فرستاده شده با ارجاع 402
بازگرداني مقدار از طريق متغيرهاي سراسري 410
فصل هشتم 417
مقدمه 417
برنامه هاي 32 بيتي 418
مزاياي استفاده از Macro Assembler 419
اصول برنامه نويسي تحت Windows با ماكرو اسمبلر 423
ايجاد يك برنامه ساده 426
ايجاد يک پنجره ساده 431
نمايش متن 444
ورودی Keyboard 451
ورودی Mouse 456
منو 461
كنترل هاي فرزند 470
استفاده از DialogBox به عنوان پنجره اصلي برنامه 477
استفاده از DialogBox به عنوان ابزار ورودي / خروجي 490
مديريت حافظه و فايل 499
فايل هاي نگاشت شده به حافظه 512
Process 523
Multithreading 532
شئ Event 540
نحوه ساخت و استفاده از dll ها 546
كنترل هاي عمومي 552
Subclassing 561
Superclassing 568
Bitmap 576
Win32 Debug API (بخش 1) 584
Win32 Debug API(بخش2 ) 595
Win32 Debug API (بخش 3) 604
ساختار فايل هاي اجرايي (بخش1) 609
ساختار فايل هاي اجرايي (بخش 2) 612
ساختار فايل هاي اجرايي (بخش 3) File Header 620
ساختار فايل هاي اجرايي (بخش 4) Optional Header 623
ساختار فايل هاي اجرايي (بخش 5) Section Table 625
ساختار فايل هاي اجرايي (بخش 6) Import Table 636
ساختار فايل هاي اجرايي (بخش7)Export Table 654
فصل نهم 659
برنامه نويسی و ايجاد درايورها در ويندوزهای خانواده NT 659
مروري بر معماري ويندوز 659
اجزای اصلی سيستم 659
Device Driver ها در ويندوزهای خانواده NT 662
سطوح درخواست وقفه Interrupt Request Level (IRQL) 663
سرويس ها(Services) 663
(SCM) Service Control Manager 664
برقراری ارتباط با SCM 668
نصب درايور جديد 669
شروع يك درايور 673
حذف يك درايور 673
ساخت چند درايور ساده 675
نحوه كامپايل و ساخت درايورهاي Ring 0 675
يك درايور ساده 676
درايوري براي استفاده از بلندگوي داخلي 679
شروع خودكار درايور 686
دسترسي به CMOS 687
درايوري براي تغيير اجازههاي دسترسي به پورتهاي سخت افزاري 688
زير سيستم I/O 700
برنامه كنترلي براي درايور (Virtophys) 701
شي ابزار 707
شي درايور 708
شيء فايل 710
برقراري ارتباط با Device ها 714
كدهاي كنترلي I/O 715
تبادل دادهها 717
ضميمه 721
مجموعه دستورات 80x86 721
Linke download cd zamime (updated tools
http://omidgl.persiangig.com/Crack%20Book.rar
Ebook pdf
http://omidgl.persiangig.com/CrackBook.pdf