00501970 . 89BB 90010000 mov [ebx+190], edi
00501976 > 8B8E 48010000 mov ecx, [esi+148]
0050197C . 8B86 30010000 mov eax, [esi+130]//我要读取这个esi的值和eax的值.
00501982 . 83F9 01 cmp ecx, 1
但是我又不想写补丁.不然更新的时候麻烦.我想直接用_asm写
我已经找到了一个可以jmp的干净地方是8B9050
如果我用补丁写的话是
50197C jmp 8b9050
xxxxxx nop
8b9050 mov eax, [esi+130]
xxxxxx mov dword ptr [8b9080],esi
xxxxx mov dword ptr [8b90a0],eax
xxxxx jmp 00501982
但是如果按照内存写入那样慢慢写.我不是怕麻烦.更新的时候要一个一个对照机器码.更新很慢昨天试下了asm__declspec(naked)VOID AddrPoint()
DWORD addr = 0x8B9050 ;
{
_asm
{
mov eax, [esi+130]
mov dword ptr [8b9080],esi
mov dword ptr [8b90a0],eax
jmp 00501982
}
}
后面我就不知道要怎么写了.麻烦大大们说说?
00501976 > 8B8E 48010000 mov ecx, [esi+148]
0050197C . 8B86 30010000 mov eax, [esi+130]//我要读取这个esi的值和eax的值.
00501982 . 83F9 01 cmp ecx, 1
但是我又不想写补丁.不然更新的时候麻烦.我想直接用_asm写
我已经找到了一个可以jmp的干净地方是8B9050
如果我用补丁写的话是
50197C jmp 8b9050
xxxxxx nop
8b9050 mov eax, [esi+130]
xxxxxx mov dword ptr [8b9080],esi
xxxxx mov dword ptr [8b90a0],eax
xxxxx jmp 00501982
但是如果按照内存写入那样慢慢写.我不是怕麻烦.更新的时候要一个一个对照机器码.更新很慢昨天试下了asm__declspec(naked)VOID AddrPoint()
DWORD addr = 0x8B9050 ;
{
_asm
{
mov eax, [esi+130]
mov dword ptr [8b9080],esi
mov dword ptr [8b90a0],eax
jmp 00501982
}
}
后面我就不知道要怎么写了.麻烦大大们说说?
p*AddrPoint;
具体我也不清楚`函数指针没多大去看`
看别人拉`帮你up
添加东西比较多的话,让exe再加载一个dll,同一进程空间,改也方便
我这个就是在exe里加载的