.版本 2
.支持库 spec
.子程序 发送文本
.参数 ID, 字节集
.参数 消息内容, 字节集
.局部变量 wxid, 整数型
.局部变量 wxids, 整数型
.局部变量 nr, 整数型
.局部变量 nrs, 整数型
.局部变量 buff, 整数型
.局部变量 callss, 整数型
wxid = 申请内存 (50, 真)
写到内存 (ID, wxid, 取字节集长度 (ID))
wxids = 申请内存 (50, 真)
写到内存 (wxid, wxids, 4)
写到内存 (取文本长度 (编码_Unicode到Ansi (ID)), wxids + 4, 4)
写到内存 (取文本长度 (编码_Unicode到Ansi (ID)), wxids + 8, 4)
nr = 申请内存 (1024 × 10, 真) ' 消息内容的地址可以大些可以多放些文本数据
写到内存 (消息内容, nr, 取字节集长度 (消息内容))
nrs = 申请内存 (50, 真)
写到内存 (nr, nrs, 4)
写到内存 (取文本长度 (编码_Unicode到Ansi (消息内容)), nrs + 4, 4)
写到内存 (取文本长度 (编码_Unicode到Ansi (消息内容)), nrs + 8, 4)
buff = 申请内存 (2076, 真)
callss = m_模块基址 + 进制_任意到十 (“34CA50”) ' 算出被call的地址
置入代码 ({ 96, 139, 85, 248, 106, 1, 106, 0, 139, 93, 240, 83, 139, 77, 236, 255, 85, 232, 131, 196, 12, 97 })
释放内存 (wxid)
释放内存 (wxids)
释放内存 (nr)
释放内存 (nrs)
释放内存 (buff)
' 5A15CA91 | 6A 01 | push 0x1 |
' 5A15CA93 | 8D43 34 | lea eax,dword ptr ds:[ebx+0x34] |
' 5A15CA96 | 50 | push eax |
' 5A15CA97 | 53 | push ebx | ebx:&L"66666"
' 5A15CA98 | 8D55 9C | lea edx,dword ptr ss:[ebp-0x64] | [ebp-64]:L"wxid_jxre3pkocdg612"==&"\n$"
' 5A15CA9B | 8D8D C8F8FFFF | lea ecx,dword ptr ss:[ebp-0x738] |
' 5A15CAA1 | E8 AAFF2500 | call 0x5A3BCA50 |
' 5A15CAA6 | 83C4 0C | add esp,0xC |
' 当时基址是 5A070000
' x64dbg 特征码 6A018D433450538D559C8D8DC8F8FFFF
|