微信函数地址和Call分析
ce
Dll基址 52AE0000
WeChatWin.dll + 1131DC8 昵称地址
WeChatWin.dll + 1131F2C 头像地址
WeChatWin.dll + 1131C98 手机号码
WeChatWin.dll + 1132030 机型
WeChatWin.dll + 1131D68 地区
Ctrl+G 查找
昵称地址 53C11C64
WxID地址 53C11B90
头像虚拟地址 030B8150
53C11F2C 030B8150 ASCII "http://wx.qlogo.cn/mmhead/ver_1/ZOwZ1eqxz0unoo4hCkTTyn1Qwj3NCHqdD9wHQtTDEAOMlUMczT0S2WGRBRtTzZU7YjdH"
53C11C64 17311301741
53C12024 phone.
53C11D64 �...Chengdu.
012FF020 015BD7C0 \MutexName = "_WeChat_App_Instance_Identity_Mutex_Name"
png 文件头格式解析:https://blog.csdn.net/u013943420/article/details/76855416
00AF10AE 83C4 04 add esp,0x4
00AF1F9D 6A 01 push 0x1
自己hook函数不能破坏寄存器
二维码Hook地址
二维码Hook地址
WeChatWin + 1E4638
10064638 E8 D34D2900 call WeChatWi.102F9410
E8 call
E9 jmp
1.读取ecx的数据然后返回
call 102F9410
需要hook这一行
//10064638 E8 D34D2900 call WeChatWi.102F9410
回调的地址
//1006463D 8B4D F4 mov ecx,dword ptr ss:[ebp-0xC] ; user32.762F8010
jmp 1006463D
//获取偏移量
10064638 E8 D34D2900 call WeChatWi.102F9410
10064638 E8 D34D2900 call WeChatWi.102F9410
消息接收
//1
0FED3EF1 E8 7A714200 call WeChatWi.102FB070 ; 可能
//2
0FED28CB E8 008B4200 call WeChatWi.102FB3D0
1008A976 8D4F 3C lea ecx,dword ptr ds:[edi+0x3C] ; 可能是
断点后查看ecx发现没什么数据,所以排除
//like
1008A99F E8 6C180000 call WeChatWi.1008C210 ; 可能是
1015A2DC
0FED3EF1 E8 7A714200 call WeChatWi.102FB070
010FD840 03C6AEA0 UNICODE "caoni mamamamamamamamamacaoni mamamamamamamamamaca"
//计算函数便宜连
1015A2D7 E8 F49BD7FF call WeChatWi.0FED3ED0 ; 没错就是你了
//DLL 中的地址
0FE80000
//真是函数的偏移量: 2DA2D7
地址= WeChatWin.dll+0x2DA2D7
wxid_4czwjeqfe1ax22
05EAE5B8 0E142708 UNICODE "wxid_0gvgqgyqf4ug21"
0FE80000
//最后的
0FF44408 E8 E35C2100 call WeChatWi.1015A0F0 ; 这个就是发送函数
MDFUCK[耶]
MDFUCK[耶]
11767D24 11317048 UNICODE "eee" 文本内容
11767D28 00000003 长度
11767D2C 00000004 填写长度的2倍
11767D30 00000000
0EA748A4 0EA74884 UNICODE "MDFUCK[耶]"
断点call位置,发送的地方
在一片空白区域创建自己的字符串
11767D24 11317048 UNICODE "eee" 文本内容
11767D28 00000003 长度
11767D2C 00000004 填写长度的2倍
3.修改堆栈地址和修改ebx的地址,发送
0FF443F8 8B55 CC mov edx,dword ptr ss:[ebp-0x34] ; 用户的ID
0FF443FB 8D43 14 lea eax,dword ptr ds:[ebx+0x14]
0FF443FE 6A 01 push 0x1 ; 0x1
0FF44400 50 push eax ; 0x0
0FF44401 53 push ebx ; 文本内容
0FF44402 8D8D E4F7FFFF lea ecx,dword ptr ss:[ebp-0x81C]
0FF44408 E8 E35C2100 call WeChatWi.1015A0F0 ; 这个就是发送函数
0FF4440D 83C4 0C add esp,0xC
//
0FE80000
100CD340 55 push ebp
0FE80000
接受消息
hook函数地址:WeChatWin.dll+0x305758
[[esp]]+0x40 这个地址就是wxid的地址 群消息和个人都是这个
[[esp]]+0x68 这个地址就是消息的地址
[[esp]]+0x114 这个地址就是消息的地址
[[esp]]+0x128 未知遗传吗
[[esp]]+0x44 这个值是长度
[[esp]]+0x48 这个值是2被长度