首页
社区
课程
招聘
请问如何去掉汇编的CALL ESI
发表于: 2006-6-11 19:39 4669

请问如何去掉汇编的CALL ESI

2006-6-11 19:39
4669
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
2
名字不错r

你看看call esi是不是把堆栈平衡改变了,需要平衡堆栈
2006-6-11 19:46
0
雪    币: 342
活跃值: (323)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
3
还要确保程序真的可以不需要这个call
2006-6-11 19:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢,我不懂汇编,但是有些原因我要自己动手改
代码如下
move esi, dword ptr [00417064]
push 000000c8
push 000001f4
call esi<=====keep 函数
push 0000012c
push 00000352
call esi<=====keep 函数
push ******
push ******
call esi<=====keep 函数
push ******
push ******
call esi  <=====keep 函数
cmp edi, 00000034
jne 0040bb8d
move eax, dword ptr [0041a9e0]
lea ecx, dword ptr [esp+14]
add eax, 0000003b4
push eax
程序完成某段步骤后会调用KEEP函数,我觉得很烦,所以想去掉他。。
2006-6-11 20:27
0
雪    币: 342
活跃值: (323)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
5
把每个call esi 上面的两个push *****也nop了。
2006-6-11 20:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢~~
我把push ***该成push 00000000
也可以了~~
但是我又有一个。
这个是调用SHOWWINDOW函数,把窗口显示出来。但是我不希望它显示
move esi, dword ptr
push ebx
push eax
call esi
move eax, dword ptr [***]
push *********
move ecx, dword ptr [eax+***]
push ecx
call esi <========SHOWWINDOW
move edx, dword ptr [***]
move eax,dword ptr [edx+**]
push eax
谢谢
2006-6-11 20:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
可以了,谢谢,
move esi, dword ptr
push ebx
push eax
call esi
move eax, dword ptr [***] <========nop
push *********<========nop
move ecx, dword ptr [eax+***]<========nop
push ecx<========nop
call esi <========nop
move edx, dword ptr [***]
move eax,dword ptr [edx+**]
push eax
这样会不会有问题,帮我检查下,谢谢
2006-6-11 20:53
0
雪    币: 302
活跃值: (410)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
8
最初由 康科 发布
可以了,谢谢,
move esi, dword ptr
push ebx
push eax
call esi
........

呵呵。。大概会有问题(如果我写程序,肯定会让他出问题)。
2006-6-11 21:10
0
游客
登录 | 注册 方可回帖
返回
//