精易论坛

标题: VX3.2.1.154 SendText 发送文本 不申请内存写法 [打印本页]

作者: zjchxj    时间: 2021-5-13 16:57
标题: VX3.2.1.154 SendText 发送文本 不申请内存写法
本帖最后由 zjchxj 于 2021-5-13 17:08 编辑

不申请内存,利用数组,发个贴子备份一下,写CALL只专注弄一个参数就好。ASM的,写一些通用的,直接调用就好
特征码  8D 46 68 6A 00 50 8D 57 18

  
子程序名返回值类型公开备 注
SendText整数型 
参数名类 型参考可空数组备 注
wxidUnicode字节集
textUnicode字节集
变量名类 型静态数组备 注
msgid整数型 
retn整数型 
ecx整数型 
edx整数型 
call整数型 
ebp_8整数型 
type整数型 
wxiddata整数型5wxid的结构
msgandatuserdata整数型2020*4 的内存大小
bufdata整数型250微信消息在结构大概就是3E0
msgid = 0
call = GetModuleHandleA ("WechatWin.dll")+ 3892144  ' 0x3b63b0
type = 1
wxiddata [1]取变量数据地址 (wxidUnicode)
wxiddata [2]取文本长度 (编码_Unicode到Ansi (wxidUnicode))
wxiddata [3]取字节集长度 (wxidUnicode)
wxiddata [4] = 0
wxiddata [5] = 0
edx = 取变量数据地址 (wxiddata)
msgandatuserdata [1]取变量数据地址 (textUnicode)
msgandatuserdata [2]取文本长度 (编码_Unicode到Ansi (textUnicode))
msgandatuserdata [3]取字节集长度 (textUnicode)
msgandatuserdata [15] = 0  ' 这里可以构建一下atUser,先不写 每一个的结构和上面的wxiddata一样
msgandatuserdata [16] = 0  ' atuser结尾
msgandatuserdata [17] = 0  ' atuser结尾
ebp_8 = 取变量数据地址 (msgandatuserdata)
ecx = 取变量数据地址 (bufdata)
retn = Asm_Call_Ecx_Edx_Arg_AddEsp_3 (ecx, edx, call, ebp_8, ebp_8 + 15 × 4, type)
msgid = bufdata [7]  ' (7-1)*4=24 -> 0x18 这个位置就是消息的本地ID
返回 (msgid)
子程序名返回值类型公开备 注
Asm_Call_Ecx_Edx_Arg_AddEsp_3整数型 
参数名类 型参考可空数组备 注
ecx_整数型
edx_整数型
call_整数型
ebp8整数型
ebpc整数型
ebp10整数型
变量名类 型静态数组备 注
callebp-0x04
ebp_8ebp-0x08
ebp_cebp-0x0c
ebp_10ebp-0x10
ebp_14ebp-0x14
ebp_18ebp-0x18
ebp_1cebp-0x1c
ecxebp-0x20
retnebp-0x24
edxebp-0x28
' ==保存局部变量初始化的位置
call = 0
ebp_8 = 0
ebp_c = 0
ebp_10 = 0
ebp_14 = 0
ebp_18 = 0
ebp_1c = 0
ecx = 0
retn = 0
edx = 0
' =========================
call = call_
ebp_8 = ebp8
ebp_c = ebpc
ebp_10 = ebp10
ecx = ecx_
edx = edx_
置入代码 ({ 96 })  ' pushad
' 置入代码 ({ 255, 117, 228 })  ' push dword ptr ss:[ebp-0x1c]
' 置入代码 ({ 255, 117, 232 })  ' push dword ptr ss:[ebp-0x18]
' 置入代码 ({ 255, 117, 236 })  ' push dword ptr ss:[ebp-0x14]
置入代码 ({ 255, 117, 240 })  ' push dword ptr ss:[ebp-0x10]
置入代码 ({ 255, 117, 244 })  ' push dword ptr ss:[ebp-0x0c]
置入代码 ({ 255, 117, 248 })  ' push dword ptr ss:[ebp-0x08]
置入代码 ({ 139, 77, 224 })  ' mov ecx, dword ptr ss:[ebp-0x20]
置入代码 ({ 139, 85, 216 })  ' mov edx, dword ptr ss:[ebp-0x28]
置入代码 ({ 255, 85, 252 })  ' call dword ptr ss:[ebp-0x4]
置入代码 ({ 131, 196, 12 })  ' ADD ESP,0x0c
置入代码 ({ 137, 69, 220 })  ' mov dword ptr ss:[ebp-0x24], eax
置入代码 ({ 97 })  ' popad
返回 (retn)


i支持库列表   支持库注释   
spec特殊功能支持库


作者: 苍凉会飞    时间: 2021-5-13 18:03
666666666666666
作者: kk7778    时间: 2021-5-13 18:28
666666666666666666666
作者: 刘思尧    时间: 2021-5-13 23:20
可以写成品源码嘛
作者: snak2020    时间: 2021-5-14 08:54
谢谢分享,学习
作者: xtavoxing    时间: 2021-5-14 08:56
其他版本也可以用上吗?
作者: zjchxj    时间: 2021-5-14 10:42
xtavoxing 发表于 2021-5-14 08:56
其他版本也可以用上吗?

其他版本。把CALL地址换一下就可以了
作者: qxuem    时间: 2021-5-14 15:24
楼主厉害...
作者: fanfall    时间: 2021-5-14 16:35
zjchxj 发表于 2021-5-14 10:42
其他版本。把CALL地址换一下就可以了

你的call也是用访问断点找的吗?

作者: zjchxj    时间: 2021-5-14 21:32
2164994942 发表于 2021-5-14 16:35
你的call也是用访问断点找的吗?

上面有特征码。你可以试试定位看看你想找的版本是否也有效
作者: 飞鱼软件    时间: 2021-5-15 09:17
大神 很厉害,期待继续发帖 ,赞一个
作者: 醉卧美人膝    时间: 2021-5-16 04:40
感谢分享,很给力!~
作者: ddsay    时间: 2021-5-18 20:25
刘思尧 发表于 2021-5-13 23:20
可以写成品源码嘛

楼主厉害很有耐心,必成大器哈哈
作者: 至尊嘎嘎    时间: 2021-5-29 04:18
这个写法好,比申请内存封装结构体少写很多代码了
作者: 一尘天下    时间: 2021-6-13 00:48
大神 很厉害,期待继续发帖 ,赞一个
作者: 1405249742    时间: 2021-8-1 17:16
谢谢大佬,学习啦
作者: 8657    时间: 2022-2-6 12:06

大神 很厉害,期待继续发帖 ,赞一个
作者: As0427    时间: 2023-10-11 16:19
感谢分享,很给力!~
作者: a30578    时间: 2023-12-12 22:01
感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4