know BlaDe was going to release a guide on this sometime, but he hasn't yet, so I figured I'd take a look (after being asked).
As much as I hate disabling stuff, a lot of people do seem to want to disable the /trade function.. so, here's my first little test.
All this very simple modification does is jump straight to the "invalid user ID" code.
That is, it'll basically be all like "no you cannot trade, u haz invalid uid?????" (though it won't actually say that, it'll just let the client know that ).
When you go to /trade someone, the server will reject the request and act as if you cancelled. The other person won't even receive the request. This way, the client doesn't even really need to worry about anything.
The 1.298 patch- 004ABB55 . E9 36010000 JMP Ebenezer.004ABC90
- 004ABB5A 90 NOP
复制代码 So... you can either edit this with:
OllyDbg
1. Open up OllyDbg (you can get it from www.ollydbg.de),
2. Load Ebenezer - File -> Open -> Ebenezer,
3. Hit CTRL+G to open up a small dialog which can help you to jump to various offsets,
4. Type in 004ABB55, and hit "OK",
5. Select this line and the one below, right-click them, and hit Binary->Fill with NOPs,
6. Double-click the first (now nopped) line, or right-click it and hit "Assemble",
7. Type in: JMP 004ABC90, and hit "OK".
8. Select the lines:
004ABB55 E9 36010000 JMP Ebenezer.004ABC90
004ABB5A 90 NOP
9. Right-click, copy to executable, selected modifications.
OR
A hex editor
1. Open up the hex editor,
2. Load Ebenezer,
3. Jump to the file offset 000ABB55,
4. Replace the following 6 bytes with: E9 36 01 00 00 90
5. Save.
The 1.310 patch- 0048E433 E9 33010000 JMP Ebenezer.0048E56B
- 0048E438 90 NOP
复制代码 So... you can either edit this with:
OllyDbg
1. Open up OllyDbg (you can get it from www.ollydbg.de),
2. Load Ebenezer - File -> Open -> Ebenezer,
3. Hit CTRL+G to open up a small dialog which can help you to jump to various offsets,
4. Type in 0048E433, and hit "OK",
5. Select this line and the one below, right-click them, and hit Binary->Fill with NOPs,
6. Double-click the first (now nopped) line, or right-click it and hit "Assemble",
7. Type in: JMP 0048E56B, and hit "OK".
8. Select the lines:
0048E433 E9 33010000 JMP Ebenezer.0048E56B
0048E438 90 NOP
9. Right-click, copy to executable, selected modifications.
OR
A hex editor
1. Open up the hex editor,
2. Load Ebenezer,
3. Jump to the file offset 0008E640,
4. Replace the following 6 bytes with: E9 33 01 00 00 90
5. Save.
Good luck!
Edit:
Added 1.310. |