
“編譯技術”是從事軟體開發和資訊安全相關工作的技術人員必須掌握的基礎性技術,也是高等院校計算機科學與技術和軟體專業的一門必修專業課,這是理論與實踐結合非常強的領域,對提升開發人員的技術水準和大學生科學思維的養成、解決實際問題能力具有重要作用。“反編譯技術”則是近幾年發展起來的新興技術,許多計算機軟體或資訊安全從業者非常關心該技術的發展,但目前這方面的書籍較少,與“編譯技術”結合起來講解的書也很少,從實踐角度來剖析的更是少見。本書就是在這種需求以及作者在這兩方面的科研實踐的驅動下誕生的,目的是為計算機軟體和資訊安全從業者提供編譯與反編譯技術方面的知識和實戰技巧。
本書的編寫得到了解放軍資訊工程大學和機械工業出版社的大力支援,在此表示誠摯的謝意。本書中的一些材料來自本書主編主持的國家自然科學基金(項目編号:61472447)、國家“863”(項目編号:2006aa01z408)、國家重大專項某子課題等項目的研究成果,在此對這些課題的支援表示衷心的感謝!
本書是機械工業出版社2016年4月出版的《編譯與反編譯技術》(isbn 978-7-111-53412-9)一書的姊妹篇,配合學習和使用效果更佳。在本書中,作者着力闡述編譯與反編譯技術及實戰方面的相關知識和實戰技巧,力圖使用通用的語言講述抽象的原理、技術和實戰技能,但限于作者水準,書中難免有錯誤與欠妥之處,懇請讀者批評指正。
作者
2017年3月
[第1章 實踐的環境與工具
<a href="https://yq.aliyun.com/articles/118437/">1.2 詞法分析生成器lex</a>
<a href="https://yq.aliyun.com/articles/118440/">1.3 文法分析生成器yacc</a>
<a href="https://yq.aliyun.com/articles/118444/">1.4 編譯器gcc</a>
<a href="https://yq.aliyun.com/articles/118449/">1.5 編譯器llvm</a>
<a href="https://yq.aliyun.com/articles/118452/">1.6 反彙編工具ida</a>
<a href="https://yq.aliyun.com/articles/118453/">1.7 反彙編工具ollyice</a>
<a href="https://yq.aliyun.com/articles/118456/">1.8 仿真與分析工具qemu</a>
<a href="https://yq.aliyun.com/articles/118463/">1.9 動态分析工具temu</a>
<a href="https://yq.aliyun.com/articles/118466/">1.10 本章小結</a>
[第2章 編譯器實踐概述
<a href="https://yq.aliyun.com/articles/118475/">2.2 編譯器的結構</a>
<a href="https://yq.aliyun.com/articles/118481/">2.3 編譯器的設計與實作概述</a>
2.3.1 利用flex和bison實作詞法和文法分析
2.3.2 利用llvm實作代碼優化和代碼生成
<a href="https://yq.aliyun.com/articles/118483/">2.4 本章小結</a>
[第3章 詞法分析器的設計與實作
3.1.1 詞法分析器的功能
3.1.2 輸入及其處理
<a href="https://yq.aliyun.com/articles/118494/">3.2 詞法分析器的手工實作</a>
<a href="https://yq.aliyun.com/articles/118502/">3.3 詞法分析器的lex實作</a>
3.3.1 lex源檔案結構
3.3.2 lex系統中的正規式
3.3.3 lex 的使用方式
3.3.4 lex 源檔案示例——c語言詞法分析器
<a href="https://yq.aliyun.com/articles/118505/">3.4 本章小結</a>