首页
社区
课程
招聘
[求助]微信实现内控发送消息,调用发送消息函数的调用时机
发表于: 2019-6-12 10:48 3432

[求助]微信实现内控发送消息,调用发送消息函数的调用时机

2019-6-12 10:48
3432
功能见: https://bbs.pediy.com/thread-223178.htm        这个帖子 

楼主说的很清楚但是细节有一点不明白

最终思路

踩了这么多坑,总算快成功了,最后的思路是放弃直接调用底层实现,转而调用前端层的代码,模拟用户操作来实现控制微信发送信息。这个思路的实现分为三步:

设置接收者,对应点击联系人的这一操作

设置发送信息内容,对应输入信息内容的这一操作

调用按钮单击事件函数,对应单击按钮或按下回车这一操作

第一步无论是逆向分析还是编写Demo都太顺利了,一次成功,搞得我都忘了我是怎么做到的了...
第二步也很简单,单击事件处理过程中通过虚表调用过GetText,而在DuiLib源码中SetText就在GetText后面(upload/attach/201712/777010_vi27ia77mx9m4w9.png)
那么SetText和GetText在虚表中也应该是相邻的,写个Demo验证一下发现果然如此。
现在看来,最后一步更简单了,事件处理函数我们早就找到了,直接调用就好。

最后成品编写过程中还有一个问题需要解决,三步函数调用都是thiscall,必须要知道类地址。写Demo时吧地址硬编码,编译为DLL,靠StrongOD注入就好,独立程序就不能硬编码地址了。



他所说的第三部   找到了发送消息的call 直接调用  ,   他指的直接调用是 程序内修改 call  。。。。。的地址   ,还是 楼主自己的程序来调用这个 call  如果是程序内修改call的地址来调用  那么调用的时机呢?  会不会导致程序奔溃?
还有各位大佬们   有没有一个小demo给我看看呢?

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

最后于 2019-6-12 10:49 被逃避不能对付一切编辑 ,原因: 标题改一下
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 96
活跃值: (225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大哥大哥别沉
2019-6-12 13:40
0
雪    币: 1042
活跃值: (495)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
WX 不是 duilib 嘛,看看duilib的源码呀,消息机制之类的
2019-6-12 14:18
0
雪    币: 96
活跃值: (225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Rookietp WX 不是 duilib 嘛,看看duilib的源码呀,消息机制之类的
可能我问问题问的不太明白,
他的思路是注入 dll        然后 : 设置接收者    也就是找到相应内存 修改内存内容为接受者的微信ID     
再然后   设置发送信息内容     也就是找到相应内存添加发送消息的内容
第三步 是  调用按钮单击事件函数    我想问的是他的调用函数是如何调用的   汇编中怎么调用它?
2019-6-12 15:30
0
雪    币: 4057
活跃值: (312)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
__asm
{
 mov ecx,xxxx
 push xxxx
 call xxxx
}

最后于 2019-6-12 15:57 被Buu编辑 ,原因:
2019-6-12 15:57
0
雪    币: 925
活跃值: (221)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
6
当然是去调用微信自己的发送信息函数啦
typedef PVOID(__fastcall*ftSendMsg)(args);
ftSendMsg pwxfSendMsg;
pwxfSendMsg = baseaddr+offset;
pwxfSendMsg(args);
文章里设定编辑框然后发送的方法不够好,频繁发送下易崩溃,继续往下跟能找到发送信息的底层函数
最后于 2019-6-13 18:37 被Cirn09编辑 ,原因:
2019-6-13 18:34
0
游客
登录 | 注册 方可回帖
返回
//