通过远程注入实现通达信ID调用
-
相关简介:以通赢1122版系统WIN10 64位为例 (涉及到修改系统核心文件user32.dll,尝试操作请谨慎) 上次发帖说了一篇 修改ID懒人法,只需要修改一处即可完成ID调用,这次仍然用原方法调用,不动主程序,在调用函数 user32.PostMessageA 中远程注入代码实现ID值的改变达到随意调用目的.user32.dll属于windows系统核心文件,内存地址是固定的,开机后只要不关机地址不会改变,虽然每个程序都会调用这各相同的文件,但都会分配独立的内存空间,这就给注入带来了机会,言归正传
-
文章来源:股海网作者:股海网发布时间:2020-01-16浏览次数:
以通赢1122版 系统WIN10 64位为例 (涉及到修改系统核心文件user32.dll,尝试操作请谨慎)
上次发帖说了一篇 修改ID懒人法,只需要修改一处即可完成ID调用,这次仍然用原方法调用,不动主程序,在调用函数 user32.PostMessageA 中远程注入代码实现ID值的改变达到随意调用目的.user32.dll属于windows系统核心文件,内存地址是固定的,开机后只要不关机地址不会改变,虽然每个程序都会调用这各相同的文件,但都会分配独立的内存空间,这就给注入带来了机会,言归正传.
主程序引用江恩的调用段: 0073D897-0073D8E6 , 0073D8E0 即调用user32.PostMessageA ,跟进这个CALL,代码如下:
76757F69 CC int3 ; 空指令
76757F6A CC int3
76757F6B CC int3
76757F6C CC int3
76757F6D CC int3
76757F6E CC int3
76757F6F CC int3 ; 空指令
76757F70 > 8BFF mov edi,edi ; 如同1=1 微软预留的劫持空间
76757F72 55 push ebp ; 真正入口
我们要做的就是入口处跳转到其他空间进行自己的修改,修改如下:
76757F6B /E9 70C60700 jmp user32.767D45E0 跳转到尾部空地址
76757F70 >^|EB F9 jmp short user32.76757F6B
--------
767D45E0 60 pushad ; 保存原寄存器值
767D45E1 81FE 00000001 cmp esi,0x1000000 ; 过滤掉ESI较小的值 ,否则会崩溃的
767D45E7 72 12 jb short user32.767D45FB
767D45E9 817E 07 646C675>cmp dword ptr ds:[esi+0x7],0x5F676C64 ; 比较ID调用的第8-11字节是否是dlg_
767D45F0 75 09 jnz short user32.767D45FB
767D45F2 2D 685B0000 sub eax,0x5B68 ; 主程序段加了5B69-1,这里要减回来
767D45F7 894424 2C mov dword ptr ss:[esp+0x2C],eax ; 我们自己的ID号替换原来的
767D45FB 61 popad ; 恢复原寄存器值
767D45FC ^ E9 7139F8FF jmp user32.76757F72 ; 跳回PostMessageA真正的入口
调用格式: <MENU NAME="全撤 " TYPE="LINKMENU" COMMAND="http://www.treeid/gnplug_dlg_5353"></MENU>
劫持时测试的,直接动两处在TDX不察觉的情况完成ID调用,但主程序这样直接改不能通过,必须增加代码才行,这区块不够用,还是要跳到空白处补码.
.版本 2
' ID调用 1122通赢
' 改法1: 直改法 调用精益模块.类内存
TDXID = 进程_名取ID (“TdxW.exe”, )
XNC.写字节集 (TDXID, 进制_十六到十 (“0073C2E3”), 字节集_十六进制到字节集 (“9090”))
XNC.写字节集 (TDXID, 进制_十六到十 (“0073C2F2”), 字节集_十六进制到字节集 (“ED10”)) ' 分时技术切换 33299的16进制8213反位
' 全撤-5353-E914 单撤-5350-E614 撤买-5351-E714 撤卖-5352-E814 闪买-5091-E313 闪卖-5111-F713 多买-5432-3815 多卖-5452-4C15 分价表-4333-ED10
程序_延时 (500)
鼠标_按键 ()
程序_延时 (200)
XNC.写字节集 (TDXID, 进制_十六到十 (“0073C2E3”), 字节集_十六进制到字节集 (“7522”))
XNC.写字节集 (TDXID, 进制_十六到十 (“0073C2F2”), 字节集_十六进制到字节集 (“2F23”))
结束 ()
' 改法2 模拟键盘法
通赢句柄 = 窗口_取句柄_模糊 (“通达信金融终端通赢版V7.47”)
交易句柄 = 窗口_取句柄_模糊 (“Tdx”)
窗口_激活 (通赢句柄)
' 程序_延时 (100)
键盘_单击 (48)
程序_延时 (300)
窗口_激活 (交易句柄)
键盘_单击 (53)
' 键盘_单击 (51)
' 48-57 小键盘 0-9 48-0 49-1 50-2 51-3 52-4 53-5 54-6 55-7 56-8 57-9
键盘_单击 (13)
结束 ()