脫壳學習指南(UNPACK LEARNING GUIDE)

第一個步驟:學C語言

推薦課程

CS50- 學習電腦基本知識以及可以學習到C的編程技巧
Second Link: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x

推薦書籍

C語言程序設計(The C Programming Language (2nd Edition), Brian W.Kernighan & Dennis M.Ritchie著)
C primer plus

需掌握内容:

第二個步驟:學匯編語言

推薦課程

滴水逆向第三期培訓 課程內容一覽
小甲魚匯編語言 課程內容一覽

額外課程【自選】

天草逆向資源VIP之50堂課

推薦書籍

王爽寫的《汇编语言》(第二版) 附上此書的學習筆記,額外小知識和書裡練習的答案以及其解釋
Assembly Language for x86 Processors-Pearson KIP R. IRVINE (2014)

額外知識:https://www.pediy.com/kssd/index.html (可以專門看看一些大佬寫的匯編知識以及IA-64體系那系列的文章。)

再來,你就可以進入Linux方面的匯編。

推薦書籍

Professional Assembly Language
Assembly language step by step programming with linux

然後,便可以開始學習x64的匯編語言

推薦文章

Windows X64汇编入门(1)
Windows X64汇编入门(2)
Introduction-to-x64-assembly
Moving to x64 深入Windows X64调试 英文版

推薦課程

Introductory Intel x86-X64: Architecture, Assembly, Applications, & Alliteration

需掌握内容:

可延伸路线:學習逆向工程

第三個步驟:學編譯器
推薦課程:Compilers
推薦書本:無

第四步驟:學Win32编程 + Windows API

推薦文章:

英文版:http://win32assembly.programminghorizon.com/tutorials.html
翻譯版如下:作 者: kanghtta
http://bbs.pediy.com/showthread.php?t=55783
http://bbs.pediy.com/showthread.php?t=55784
http://bbs.pediy.com/showthread.php?t=60320
http://bbs.pediy.com/showthread.php?t=60504
http://bbs.pediy.com/showthread.php?t=60534
http://bbs.pediy.com/showthread.php?t=60591
http://bbs.pediy.com/showthread.php?t=60886
http://bbs.pediy.com/showthread.php?t=60919
http://bbs.pediy.com/showthread.php?t=64082
http://bbs.pediy.com/showthread.php?t=64101

推薦書本:

Charles Petzold著的《Windows程序设计》:中文版 英文版
罗云彬著的《Windows环境下32位汇编语言程序设计》,它以MASM汇编为讲解平台。

【貼心提醒:建議直接看Win32ASMTRK.chm 內含罗云彬 & Iczelion & T$,三位大大的教程】

第五步驟:學脫壳

接下來可以正式學習脫殼有關的課程
推薦書本:加密解密(第三版) & 軟件加密技術內幕
P/s:學習以下課程可以參考上面2本書,來輔助你掌握得更快。

課程綱要
第一课 PE格式
第二课 SEH技術
第三课 認識壳
第四课 常見的壓縮壳和加密壳
第五课 文件類型分析
第六课 尋找OEP
第七课 Dump內存映像
第八课 重建输入表
第九课 手動確定IAT的地址與大小
第十课 DLL文件脫壳
第十一课 優化与自校檢去除
第十二课 ASProtect 2.x壳

和課程有關聯的更多內容:https://bbs.pediy.com/thread-52042.htm

0%