首页
社区
课程
招聘
[求助]远程注入嵌入汇编问题
2008-8-1 16:15 3833

[求助]远程注入嵌入汇编问题

2008-8-1 16:15
3833
void Run(float X, float Y, float Z)
{
  
  _asm
  {
    pushad

    mov  eax, BASE_ADDR
    mov  eax, [eax+0x1c]
    ==mov  esi, [eax+0x20]

    mov  ecx, [esi+0xbcc]
    push 1
    mov  edx, CALL1
    call edx
    mov  edi, eax

    mov  ecx, [esi+0xbcc]
    mov  ecx, [ecx+0x30]
    mov  ecx, [ecx+4]
    mov  eax, X
    mov  [ecx+0x20], eax
    mov  eax, Z
    mov  [ecx+0x24], eax
    mov  eax, Y
    mov  [ecx+0x28], eax

    lea  ecx, [ecx+0x20]
    push ecx
    push 0
    mov  ecx, edi
    mov  edx, CALL2
    call edx

    push 0
    push 1
    push edi
    mov  ecx, [esi+0xbcc]
    push 1
    mov  edx, CALL3
    call edx

    popad
  }
}
为什么一调用就崩溃,错位位置总报==mov  esi, [eax+0x20]这行?高手帮忙

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 219
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kkyyff 2008-8-3 09:12
2
0
void Run(float X, float Y, float Z)
{

DWORD BASE_ADDR = 0x123456; //丢在函数里面来.
//CALL1 CALL2 CALL2 也是,要丢在外面你就要同过参数传进来.

_asm
{
pushad

mov eax, BASE_ADDR
mov eax, [eax+0x1c]
==mov esi, [eax+0x20]
...........
游客
登录 | 注册 方可回帖
返回