zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    mysql8.0.21下载安装详细教程
    ORDER BY 高级用法之CASE WHEN继续研究
    前端实用在线小工具推荐
    从nodejs的AES加密解密之后文件大小不一致的问题谈谈AES加密中的补位
    纯前端如何实现多语言切换
    [React] React Virtual
    [Kotlin] Compare Functional Programming in Java and Kotlin
    [Kotlin] Catch Error in Java
    [Angular] Saving draft form into Cookies
    [Angular] Data Resolver
  • 原文地址:https://www.cnblogs.com/wwgk/p/13185762.html
Copyright © 2011-2022 走看看