Assembly Ollydbg未知标识符错误 10002579。6A 00推送0 1000257B。68 59020000推259 10002580 . 8B11 MOV EDX,DWORD PTR DS:[ECX] 10002582 . 6A 00推送0 10002584 6A 05推送5 10002586 50推式EAX 10002587 FF52 18呼叫DWORD PTR DS:[EDX+18] 1000258A 84C0测试铝,铝 1000258C 75 2B JNZ短鸽。100025B9 1000258E 8B4E 10 MOV ECX,德沃德PTR DS:[ESI+10] 10002591 . 68 D5070000推送7D5 10002596 . 68 0000FF00推送0FF0000 1000259B。6890640110推鸽10016490;ASCII“STR_鸽子发送错误钱” 100025A0。8B39 MOV EDI,DWORD PTR DS:[ECX] 100025A2。FF15 04300110呼叫DWORD PTR DS:[];Common.cnsttarget 100025A8。8B9424 5C04000>MOV EDX,德沃德PTR SS:[ESP+45C] 100025AF。83C4 04添加ESP,4 100025B2。50推EAX 100025B3。52推式EDX 100025B4。E9 30020000 JMP鸽子。100027E9 100025B9>8B46 10 MOV EAX,DWORD PTR DS:[ESI+10]
我需要将10002584上的push 5更改为push c350,但我在ollydbg上遇到未知标识符错误 当我使用0xC350时,下面的代码会发生变化,dll文件无法正常运行Assembly Ollydbg未知标识符错误 10002579。6A 00推送0 1000257B。68 59020000推259 10002580 . 8B11 MOV EDX,DWORD PTR DS:[ECX] 10002582 . 6A 00推送0 10002584 6A 05推送5 10002586 50推式EAX 10002587 FF52 18呼叫DWORD PTR DS:[EDX+18] 1000258A 84C0测试铝,铝 1000258C 75 2B JNZ短鸽。100025B9 1000258E 8B4E 10 MOV ECX,德沃德PTR DS:[ESI+10] 10002591 . 68 D5070000推送7D5 10002596 . 68 0000FF00推送0FF0000 1000259B。6890640110推鸽10016490;ASCII“STR_鸽子发送错误钱” 100025A0。8B39 MOV EDI,DWORD PTR DS:[ECX] 100025A2。FF15 04300110呼叫DWORD PTR DS:[];Common.cnsttarget 100025A8。8B9424 5C04000>MOV EDX,德沃德PTR SS:[ESP+45C] 100025AF。83C4 04添加ESP,4 100025B2。50推EAX 100025B3。52推式EDX 100025B4。E9 30020000 JMP鸽子。100027E9 100025B9>8B46 10 MOV EAX,DWORD PTR DS:[ESI+10],assembly,x86,Assembly,X86,我需要将10002584上的push 5更改为push c350,但我在ollydbg上遇到未知标识符错误 当我使用0xC350时,下面的代码会发生变化,dll文件无法正常运行 如何做到这一点?push 0xc350显然需要超过2个字节(即push 5的长度)才能进行编码。它需要5个字节 您无法将这5个字节压缩到2字节空间中。如果尝试,将覆盖并损坏以下说明: 10002579 . 6A 00 PUSH 0 1000257B . 68 59020000 PUSH 2
如何做到这一点?
push 0xc350
显然需要超过2个字节(即push 5
的长度)才能进行编码。它需要5个字节
您无法将这5个字节压缩到2字节空间中。如果尝试,将覆盖并损坏以下说明:
10002579 . 6A 00 PUSH 0
1000257B . 68 59020000 PUSH 259
10002580 . 8B11 MOV EDX,DWORD PTR DS:[ECX]
10002582 . 6A 00 PUSH 0
10002584 6A 05 PUSH 5
10002586 50 PUSH EAX
10002587 FF52 18 CALL DWORD PTR DS:[EDX+18]
1000258A 84C0 TEST AL,AL
1000258C 75 2B JNZ SHORT Pigeon.100025B9
1000258E 8B4E 10 MOV ECX,DWORD PTR DS:[ESI+10]
10002591 . 68 D5070000 PUSH 7D5
10002596 . 68 0000FF00 PUSH 0FF0000
1000259B . 68 90640110 PUSH Pigeon.10016490 ;ASCII "STR_PIGEON_SEND_ERR_NOEMONEY"
100025A0 . 8B39 MOV EDI,DWORD PTR DS:[ECX]
100025A2 . FF15 04300110 CALL DWORD PTR DS:[<&Common.CnStrGet>] ; Common.CnStrGet
100025A8 . 8B9424 5C04000>MOV EDX,DWORD PTR SS:[ESP+45C]
100025AF . 83C4 04 ADD ESP,4
100025B2 . 50 PUSH EAX
100025B3 . 52 PUSH EDX
100025B4 . E9 30020000 JMP Pigeon.100027E9
100025B9 > 8B46 10 MOV EAX,DWORD PTR DS:[ESI+10]
您需要用
jmp
替换push 5
(可能还有以下说明),以将jmp
推送到将有push 0xc350
的位置(以及被该jmp
覆盖的说明,如果有)和jmp
返回。您能帮我紧急完成吗?对于这样的请求,这是一个错误的站点,或者对于这个站点的错误请求。我真的需要感谢您,我是根据您最好的建议完成的:D
10002586 50 PUSH EAX
10002587 FF52 18 CALL DWORD PTR DS:[EDX+18]