首页 > Windows开发 > 详细

Windows逆向分析入门(六)——实战篇(用户信息)

时间:2020-06-27 12:31:41      阅读:69      评论:0      收藏:0      [点我收藏+]

前言

  这一篇,开始实战。用到找偏移的第一个方法:内存搜索。目的是获得用户信息。

 

一、找偏移

1、分析

  用户信息,属于获得数据。

  全局数据搜索,局部数据拦截。

  对于经常用到,又不怎么变动的数据,用全局变量会比较方便。

  用户信息,基本不会变动,也很多地方会用到,猜测是用全局变量存储。

 

2、方法

  对于全局变量,用CE进行内存搜索,看能不能找到。

 

3、验证

  1、看下自己的登陆信息

  技术分享图片

  

  2、用CE搜索用户名

  搜索结果有绿色的,说明偏移是固定。

  技术分享图片

 

  3、看下内存附近信息

  也有省份这些信息,说明个人信息是存在一起的

  技术分享图片 

  技术分享图片

 

  4、结论

    个人信息,确实是全局数据,可以直接搜索得到。

 

  5、OD查看更多信息

    用OD,可以更方便的查看更多的内存数据

    在CE中搜到的内存地址是5D49498C,在OD中可以看到

 

    1、dc 内存地址,能看到地址附加的文本

     技术分享图片

 

    2、dd 内存地址,能看到地址附加的指针所指向的文本(文本较长的情况,会用到指针)

    往下翻翻,能找到头像的指针和WXID的指针

    技术分享图片 

     技术分享图片

 

  6、计算偏移

    偏移 = 内存地址 - 模块基址

    内存地址已经知道,看下模块基址是什么?

    在CE中可以看出,用户名的数据所在模块是WeChatWin.dll

    技术分享图片

  

  OD可以看到WeChatWin.dll的基址是5BDE0000

  Executable modules, 条目 8

  基址=5BDE0000

  大小=01946000 (26501120.)

  入口=5CB34A63 WeChatWi.<ModuleEntryPoint>

  名称=WeChatWi

  文件版本=2.9.0.123

  路径=C:\Program Files (x86)\Tencent\WeChat\WeChatWin.dll

   技术分享图片

 

  对应的偏移就可以计算出来了

    用户名        5D49498C - 5BDE0000  =  16B498C

    WXID指针 : 5D494D90 - 5BDE0000  =  16B4D90

    其他信息同理,自行计算下

 

二、写代码

1、外部工具

  1、新建MFC项目

  技术分享图片

 

  技术分享图片

 

  2、编写代码

  外部读取的函数是ReadProcessMemory

  代码有详细备注,仔细阅读应该能看懂

   技术分享图片

  技术分享图片

 

2、内部工具

  1、新建DLL项目

   技术分享图片

  

  2、编写代码

  技术分享图片

  技术分享图片 

  

  3、用OD把DLL注入到目标软件

   技术分享图片

  

  4、运行结果

  技术分享图片

 

Windows逆向分析入门(六)——实战篇(用户信息)

原文:https://www.cnblogs.com/wwgk/p/13197811.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!