Windows逆向分析入門(四)——代碼篇


前言

  找到偏移之后,就是寫輔助工具了。這一篇聊聊寫輔助工具的原理。具體的代碼細節,等到實戰會展開細說。

 

明確一下

  逆向兩個目的

  1、調用功能

  2、獲取數據

 

對應的實現方法

  1、調用功能

    找到偏移,直接調用。

  2、獲取數據

    對於全局數據,找到偏移,直接得到。

    對於局部數據,攔截代碼,間接得到

 

寫外部工具

  1、調用功能

    windows系統提供了接口(CreateRemoteThread),允許一個軟件調用另一個軟件的功能。

  2、獲取數據

    對於全局數據

      windows系統提供了接口(ReadProcessMemory),允許一個軟件獲取另一個軟件的數據。

    對於局部數據

      windows系統提供了調試機制,就是在目標軟件設置陷阱,當軟件觸發到陷阱,會暫停下並且拋出報錯信息

      輔助工具監聽到報錯信息,進而獲取目標軟件的數據。

 

寫內部工具

  輔助工具,可以寫個間諜模塊(dll),然后注入到目標軟件里面去。

  通過間諜模塊,輔助工具就可以操控目標軟件,進而調用功能或者獲取數據。

   

  1、調用功能

    在內部,可以直接調用

  2、獲取數據

    對於全局數據

      在內部,可以直接獲取

    對於局部數據

      內部修改代碼攔截(HOOK)

 

    正常流程:步驟1 -> 步驟2

    攔截流程:步驟1 -> hook攔截 -> 步驟2

     

 

 

理論上的東西,差不多這樣,下一篇,聊逆向分析用到的工具。

 

工具和教程,放群里(163419350),方便交流。

實戰代碼也會放在github:https://github.com/KongKong20/WeChatPCHook


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM