- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(/)
靜態分析詐欺術: Windows x86下IDA Pro
(/n 混淆技巧
ew
se Adr (/author/Adr) · 2015/10/12 11:34 (/author/Adr)
nd) Adr (/author/Adr)
馬聖豪 aaaddress1@
0x00 前言
此文為我在台灣駭客年會2015社群場中以TDOHacker社群名義發表的「欺騙IDA Pro Hex Rays插
件!讓逆向分析者看見完全不同的結果 」(/2015/CMT/agenda
(/2015/CMT/agenda) )這邊把我在HITCON上發表的一些觀念、技巧整理成簡單
入門的文章方便以後的人想學比較好入門,拓展了些有趣的觀念。
以前分析惡意軟體、破解企業產品、找產品弱點⋯⋯總是得動態分析追組合語言指令並且對系統架
構、API有很深的概念才能深入分析出一支軟體架構、功能、手法;但近日各式靜態分析工具(大
名鼎鼎如IDA Pro )崛起,使數位鑑識、軟體破解、逆向工程⋯⋯等的門檻降低許多(令許多破解
者舒適的F5功能)
但其實靜態分析工具雖是依照真實程序內組合語言狀況來做反組譯「推論」出原本C語言狀況下可
能是如何開發的,那麼既然是透過「推論」來還原原始程式碼狀況,那必定靜態分析工具會對一
些組合語言排列狀況的「特徵」或者「性質」來判定編譯器編譯特徵,例如說VC編譯的迴圈會往
下跳執行一段程式碼然後回跳,中間插入一句判斷句來離開向上跳的行為,這就是一種VC標準迴
圈的特徵,當然還有更多種特徵,不一一舉例。
說其實這類手花詐欺靜態工具已經是老伎倆了,這邊為初心者入門提供了一些簡易入門的手花技
巧,如何簡易的做到讓IDA Pro這類靜態反推原始碼的工具不好做分析、程序開發者如何自行插入
一些手花在程式碼來擾亂這類靜態工具(而非只是去花錢買一些Themida、VMP之類的殼來幫程
序保護,我們也能自己做些小手段做擾亂分析者)最後目標是做到讓破解者以靜態工具去分析程
序原始程式碼和實質執行狀況不同的一些小伎倆,欺騙那些只會用靜態工具做分析的猴子們吧!
附註:此篇所有手花伎倆都是建立於詐欺IDA Pro為基礎上、並不保證對所有類型靜態分析工具皆
有效果而測試的IDA Pro版本號為6.6版本,編譯環境為Visual C++ 2013 (並且保留pdb完整資訊
給IDA Pro做參考做分析)0x01 試探IDA Pro靜態分析(邏輯順序)
0x01 試探IDA Pro靜態分析(邏輯順序)
文档评论(0)