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

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

2015-8-2 12:28
12618
说到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格式等)就行了。

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

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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

这是接收的:



发送的:


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

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