-
-
[原创]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
被真侍魂编辑
,原因: