2012-08-15 86 views
0
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] 

我需要改變推5 10002584推C350,但我對OllyDbg的Ollydbg的未知的標識符錯誤

獲得未知的標識錯誤,當我用這個0xC350下面的代碼更改和dll文件不運行它正確。

如何做到這一點?

回答

2

push 0xc350顯然需要多於2個字節(其長度爲push 5)才能被編碼。它需要5個字節。

您不能將這5個字節壓縮到2個字節的空間中。如果你嘗試,你會覆蓋和破壞以下說明:

10002586  50    PUSH EAX 
10002587  FF52 18  CALL DWORD PTR DS:[EDX+18] 

您將需要jmp更換push 5(也可能是下面的指令),將有push 0xc350(以及由jmp改寫指令的位置,如果有的話)和回來。

+0

你能幫我做那個緊急嗎? – user1600687 2012-08-15 13:57:02

+0

我沒有/知道你的代碼。你必須自己做。 – 2012-08-15 14:00:44

+0

如果你需要,我可以將DLL文件發送給你,如果需要,我也可以支付... – user1600687 2012-08-15 14:01:50