首页
社区
课程
招聘
[原创]pc企业微信逆向心得4.0
发表于: 2020-11-27 12:21 13711

[原创]pc企业微信逆向心得4.0

2020-11-27 12:21
13711

早上好  ,  研究pc版企微几个月了,分享下心得和逆向思路  , 哈哈。


 DLL文档


1. 所有的功能方法 都是异步的, 以微信"click" 按钮点击 事件定位具体功能函数 基本没用,

只能通过搜索 字符串, 通过逆向积累 的一些 企微的对象内存分配函数 或者 内存格式化函数定位


2. 大部分 功能函数都是c++虚函数的形式 ,ida里找不到调用函数的交叉引用,

微信参数都字符串,很好搞, 不同于微信,企微的所有功能函数参数都是 对象的形式,

如果对象结构 不和 原始的结构兼容,功能就调用不通,因为在调用中就出现了异常,功能没有跑到最终的方法。


往往一个功能 需要构造2-3个参数对象,如何让对象结构 和 原始的结构兼容,达到功能可以调通

这个就是企微最难的地方, 这个只能不断的调试,分析,看参数对象结构 到底缺少了什么,

不停的迭代,直到 方法ok为止。


如何构造一个参数对象了,本人的经验 归纳起来有几点

1.使用企微内部函数分配内存,operator+,malloc

2.内部函数构造参数对象

3.补全参数对象的内存结构  原始的结构的差异, 补全一切必要的部分,使call能跑到最终的方法, 做到无bug的call


各种发消息,3步

1.构造 消息内容对象

2. 构造发消息人对象

3.调用发消息函数


修改备注,信息,3步

1.构造 修改人和修改内容 对象

2. 构造 修改介质对象

3. 调用修改函数


DLL文档

 




















[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-9-30 01:23 被真侍魂编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (7)
雪    币: 35
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
安卓端针对获取设备指纹的接口ollvm,PC应该也有类似的保护吧
2020-11-27 14:48
0
雪    币: 24
活跃值: (102)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
stl里的string map vector这些怎么强转
2020-11-27 15:58
0
雪    币: 181
活跃值: (621)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
wulumuqi stl里的string map vector这些怎么强转
解释可以不用解释清楚,但是说一定要说,
2020-11-27 21:31
0
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
企业微信有api不用,非得逆向
2020-11-27 21:37
0
雪    币: 30
活跃值: (424)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
柒雪天尚 解释可以不用解释清楚,但是说一定要说,


最后于 2021-5-3 03:39 被真侍魂编辑 ,原因:
2020-11-27 23:52
0
雪    币: 181
活跃值: (621)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
。。。。人家本来就是string的内存布局,。。要你强转
2020-11-28 20:04
0
雪    币: 3221
活跃值: (3031)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
界面都是Duilib
个人微信是通过字符串比较
企业微信是注册回调函数,拦截一下就定位到了
2021-4-14 13:32
1
游客
登录 | 注册 方可回帖
返回
//