看流星社区

 找回密码
 注册账号
查看: 5375|回复: 10

大哥们这段寻路CALL代码易语言植入为什么会出错?

[复制链接]

该用户从未签到

发表于 2012-2-27 12:29:16 | 显示全部楼层 |阅读模式
OD原代码:
005CF82C    57              PUSH EDI                                 ; EDI=0000057C  69
005CF82D    56              PUSH ESI                                 ; ESI=00001614  235
005CF82E    8BCB            MOV ECX,EBX                              ; EBX=03387EA0
005CF830    E8 6B7EFFFF     CALL asktao.005C76A0
代码植入器代码:(可以成功注入)
push 00000870
push 00001518
mov ecx,03387EA0
call 5c76a0
易语言代码:
.版本 2
asm_置代码 ()
asm_push (Y坐标 × 24) ‘ 自己算过了,十六进制转为十进制除以24就等于问道坐标的数值,所以这里直接用坐标*24
asm_push (X坐标 × 24) ‘同上
asm_mov_ecx_ptr (内存_读整数型 (进程句柄, 十六到十 (“00a1e9e0”)))‘ 因为OD代码中的EBX需要取来源,“00a1e9e0”是EBx来源的基址 我就用读整形命令读出。已经测试过,地址是正确的
asm_mov_eax_常数 (十六到十 (“005C76A0”))‘这里我把常量005C76A0赋给EAX
asm_call_eax ()‘然后在CALL eax
asm_ret ()’

这就是我上面的易语言代码  不知道问题出在哪!是不是常量赋值哪里出错了 ?

该用户从未签到

 楼主| 发表于 2012-2-27 12:39:33 | 显示全部楼层
说明下 在代码注入器中  如果加堆栈平衡的语句就会出错 所以没加,能成功

该用户从未签到

 楼主| 发表于 2012-2-27 13:38:22 | 显示全部楼层
没人来吗? 思维 雨夜  2位老大呢~?

该用户从未签到

发表于 2012-2-27 17:14:45 | 显示全部楼层
回复 3# zjh2785


    他们今天放假了,呵呵:)

该用户从未签到

 楼主| 发表于 2012-2-27 17:47:18 | 显示全部楼层
回复 4# gegegefei


    今天等了一天了·没人来啊

该用户从未签到

发表于 2012-2-27 19:32:49 | 显示全部楼层
从代码上看并没有发现什么问题。
asm_mov_eax_常数 (十六到十 (“005C76A0”))‘这里我把常量005C76A0赋给EAX
asm_call_eax ()‘然后在CALL eax
你把这里的EAX寄存器修改成别的寄存器试试,比如说:EDI   EBX   EDX

该用户从未签到

 楼主| 发表于 2012-2-27 19:52:42 | 显示全部楼层
回复 6# 雨夜


    还是不行~

该用户从未签到

 楼主| 发表于 2012-2-27 19:56:00 | 显示全部楼层
00486135    56              PUSH ESI                                 ; 包袱位置 ESI=00000069
00486136    68 B00F8C00     PUSH asktao.008C0FB0                     ; ASCII "pos = %d"
0048613B    68 2C200000     PUSH 202C
00486140    E8 2B191500     CALL asktao.005D7A70
00486145    83C4 0C         ADD ESP,0C
这是包袱使用物品的OD码  
.版本 2

push 69
push 8c0fb0
push 202c
call 005d7a70
add esp,0c
可以植入成功
.版本 2

asm_置代码 ()
asm_push (包裹ID)‘这里我是十进制的101  对应包袱的第一个位置  
asm_push (十六到十 (“008c0fb0”))
asm_push (十六到十 (“202c”))
asm_mov_ebx_ptr (十六到十 (“005d7a70”))
asm_call_ebx ()
asm_add_esp (十六到十 (“0c”))
asm_ret ()
asm_调用函数 (进程ID, asm_取代码 ())
  同样  也不行

该用户从未签到

发表于 2012-2-27 20:13:37 | 显示全部楼层
asm_置代码 ()
asm_push (包裹ID)‘这里我是十进制的101  对应包袱的第一个位置  
asm_push (十六到十 (“008c0fb0”))
asm_push (十六到十 (“202c”))
asm_mov_ebx_常数 (十六到十 (“005d7a70”))
asm_call_ebx ()
asm_add_esp (十六到十 (“0c”))
asm_ret ()
asm_调用函数 (进程ID, asm_取代码 ())

该用户从未签到

发表于 2012-2-27 20:14:35 | 显示全部楼层
1楼问题
.版本 2

地址 = 内存_读整数型 (进程句柄, 十六到十 (“00a1e9e0”))
asm_置代码 ()
asm_push (Y坐标 × 24)
asm_push (X坐标 × 24)
asm_mov_ecx_常数 (地址)
asm_mov_eax_常数 (十六到十 (“005C76A0”))
asm_call_eax ()
asm_ret ()
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-29 01:21

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表