首页
社区
课程
招聘
[旧帖] [求助]汇编下修改程序标题文字 0.00雪花
发表于: 2007-11-30 23:40 4346

[旧帖] [求助]汇编下修改程序标题文字 0.00雪花

2007-11-30 23:40
4346
我现在手里的一个程序,标题文字被加密了,在运行的时候解密放到内存某个地方,然后运行到CallWindowProcA的时候把这个地址传入作为参数,代码如下:
0043E0C0    8B43 08         mov     eax, dword ptr ds:[ebx+8]
0043E0C3    50              push    eax
0043E0C4    8B43 04         mov     eax, dword ptr ds:[ebx+4]
0043E0C7    50              push    eax
0043E0C8    57              push    edi
0043E0C9    8B86 B4010000   mov     eax, dword ptr ds:[esi+1B4]
0043E0CF    50              push    eax
0043E0D0    8B86 A8010000   mov     eax, dword ptr ds:[esi+1A8]
0043E0D6    50              push    eax
0043E0D7    E8 708AFCFF     call    <jmp.&USER32.CallWindowProcA>
其中第一个参数就是解密后标题文字存放的地址了。我现在想改变这个地址,指向另外个我已经存放了文字的地方。但字节不够了,第一行只有3个字节,如果jmp far地址也不够,我该怎么办呢?请求高人指点指点啊,谢谢了!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
对了,如果我在运行到上面程序第一行的时候,修改EAX的值为我需要修改的文字地址,然后运行,最后程序显示的就是我需要的标题文字了。。但我不想把程序改掉,大家有什么好的方法啊赐教一下。谢谢你们
2007-11-30 23:57
0
雪    币: 213
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
setwindowtext
2007-12-1 01:03
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
已经搞定了,谢谢楼上的。
我的方法是在调用CallWindowProcA之前跟踪传入的参数的地址,然后发现下面的代码:
00459E3C  |.  8D45 F8       lea     eax, dword ptr ss:[ebp-8]        //是标题前半部分地址,最后修改为mov edx,00459FAC,机器码为BA AC9F4500
00459E3F  |.  BA 989F4500   mov     edx, 111.00459F98        //是标题的后半部分地址
00459E44  |.  E8 D3ACFAFF   call    111.00404B1C                //调用分支程序把两半部分文字合并起来
00459E49  |.  8B55 F8       mov     edx, dword ptr ss:[ebp-8]        //把合并后文字的地址赋值给EDX
00459E4E  |.  E8 35ECFDFF   call   111.00438A88                  //调用CallWindowProcA
这样我把这段代码很简单的改为mov edx,我的文字地址,多余的nop掉,运行OK
2007-12-1 12:52
0
游客
登录 | 注册 方可回帖
返回
//