前言
找到偏移之后,就是寫輔助工具了。這一篇聊聊寫輔助工具的原理。具體的代碼細節,等到實戰會展開細說。
明確一下
逆向兩個目的
1、調用功能
2、獲取數據
對應的實現方法
1、調用功能
找到偏移,直接調用。
2、獲取數據
對於全局數據,找到偏移,直接得到。
對於局部數據,攔截代碼,間接得到 。
寫外部工具
1、調用功能
windows系統提供了接口(CreateRemoteThread),允許一個軟件調用另一個軟件的功能。
2、獲取數據
對於全局數據
windows系統提供了接口(ReadProcessMemory),允許一個軟件獲取另一個軟件的數據。
對於局部數據
windows系統提供了調試機制,就是在目標軟件設置陷阱,當軟件觸發到陷阱,會暫停下並且拋出報錯信息
輔助工具監聽到報錯信息,進而獲取目標軟件的數據。
寫內部工具
輔助工具,可以寫個間諜模塊(dll),然后注入到目標軟件里面去。
通過間諜模塊,輔助工具就可以操控目標軟件,進而調用功能或者獲取數據。
1、調用功能
在內部,可以直接調用
2、獲取數據
對於全局數據
在內部,可以直接獲取
對於局部數據
內部修改代碼攔截(HOOK)
正常流程:步驟1 -> 步驟2
攔截流程:步驟1 -> hook攔截 -> 步驟2
理論上的東西,差不多這樣,下一篇,聊逆向分析用到的工具。