首页
社区
课程
招聘
[原创]放一个Adobe AIR桌面程序抓取AMF封包的DLL源代码
发表于: 2015-8-2 12:28 13350

[原创]放一个Adobe AIR桌面程序抓取AMF封包的DLL源代码

2015-8-2 12:28
13350

说到AMF数据包很多人的第一印象肯定是利用浏览器的调试功能抓取,
但是对于很多桌面版的flash应用(adobe air应用,如 lol的游戏大厅客户端等)该怎么抓取到AMF封包的数据呢?希望能对其他有此疑问,但还未解决的童鞋给予一个小小帮助。

以前做XX的时候写的,具体就是hook住 Adobe AIR.dll中分析到的两个点,可以抓取到Adobe Air桌面程序的封包发送以及接收(AMF协议层面的收发数据)。该程序适合的air版本(Adobe AIR.dll.3.7.0.1530),不同版本的,可以参照源码当中的注释,里头有当时分析时存的特征码,应该其它版本的Adobe AIR.dll也可以找到这两个HOOK点。(至于当时的分析过程。。我已经忘了,只剩下代码了)

程序的导出函数当中,往lpSend_Handler和lpRecv_Handler处传入你需要被回调的函数,当目标Adobe AIR程序发送以及接收AMF二进制数据的时候,你的两个回调将被调用。
BOOL __stdcall Mount_Packet(DWORD dwPassword, LPVOID lpSend_Handler, LPVOID lpRecv_Handler) //hook 目标程序并设置接收、发送回调。

回调函数格式:

参数1 AMF数据地址
参数2 数据长度

注意:这里得到的AMF数据仅仅是原始二进制数据(即未加密的二进制AMF序列),具体如何将其转换为肉眼可读字符串的代码我就不贴了…,数据的起始地址,及其长度在回调里头都可以得到,网上有AMF的二进制结构,你可以参照网上的字节表,按照顺序将包数据还原成你自己适用的字符串(如json格式等)就行了。

完整版的大概就是这个样子了


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (21)
雪    币: 1626
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持一下大神~
我应该是沙发吧~
2015-8-2 12:44
0
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼主分享。
2015-8-2 17:16
0
雪    币: 20849
活跃值: (4055)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
Thank you very much for sharing !
2015-8-2 19:09
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
谢谢,这个正需要呢
2015-8-3 01:34
0
雪    币: 96
活跃值: (36)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
刚好需要,谢谢分享
2015-8-3 10:25
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
求指点数据解析.....
2015-9-16 00:15
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主你好,为何拿到的数据    不太符合AMF协议呢

这是接收的:



发送的:


还请指点一下
上传的附件:
2015-9-16 02:24
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼主怎么联系?付费求帮忙解决一个问题
2015-9-17 17:28
0
雪    币: 271
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢分享,下载收藏
2015-11-12 12:01
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不大会用,能否贴点外部调用的代码?
2016-3-28 16:41
0
雪    币: 5
活跃值: (521)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
感谢楼主分享
2016-7-11 18:04
0
雪    币: 8
活跃值: (58)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
mark
2016-8-22 09:19
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
感谢楼主分享,正好在分析这个协议
2016-9-6 16:21
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
还有人在搞这个没啊,HOOK的时候就报错了啊
2016-9-8 18:01
0
雪    币: 12848
活跃值: (9142)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
16
你hook的姿势不对,lol的AirClient已经半年没更新了,hook点的地址你随便bp send recv都能定位到

给你透露一个秘密TGP是hook的secur32.dll!SealMessage和secur32.dll!UnsealMessage,里面有https(排队和登录)和rtmps(后续操作)的所有未加密原始数据
2016-9-9 09:45
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
谢谢大神,我再去研究研究去
2016-9-9 11:10
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
大神能不能加个QQ,不懂的地方请教下,
2016-9-9 11:12
0
雪    币: 8
活跃值: (58)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
已经按照楼主的方案在最近版的LOL中实现了,十分感谢!!
2016-9-29 19:56
0
雪    币: 32
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
它在收包解密处做了VM,楼上各位是怎么解决的呐
2016-10-24 17:34
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
往外面跟,可以跟到解密的地方
2016-10-24 17:42
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
求大神更新哈。 最新版 我就没搞定。
2016-11-14 17:41
0
游客
登录 | 注册 方可回帖
返回
//