Old version downloads
-
Sonarpulse
Coder
- Posts: 443
- Joined: Thu Dec 13, 2012 7:18 pm
Is there anything objconv can do that (MinGW's) objcopy can't? Honest question.
-
GreaseMonkey
Coder
- Posts: 733
- Joined: Tue Oct 30, 2012 11:07 pm
Sonarpulse wrote:Is there anything objconv can do that (MinGW's) objcopy can't? Honest question.It can output to near-nasm/yasm format with labels.
rakiru wrote:How did you untether them, btw? And why do they need the proxy app to connect?I disassembled the code with objconv, searched for strings, search for what referred to which label, and used an opcode table to change conditional jumps to either JMP or a few NOPs using a hex editor.
I don't know why they need the proxy app. I suspect it has something to do with only using one network device or subnet or whatnot.
-
rakiru
Coder
- Posts: 1349
- Joined: Sun Nov 11, 2012 12:26 pm
-
GreaseMonkey wrote:I meant more specifically what did you have to change? I don't know exactly why/how they're tethered, so I don't know what needs changed/removed. What you said above is nothing new to me, and shouldn't be to anyone who could untether the other ones.Sonarpulse wrote:Is there anything objconv can do that (MinGW's) objcopy can't? Honest question.It can output to near-nasm/yasm format with labels.
rakiru wrote:How did you untether them, btw? And why do they need the proxy app to connect?I disassembled the code with objconv, searched for strings, search for what referred to which label, and used an opcode table to change conditional jumps to either JMP or a few NOPs using a hex editor.
I don't know why they need the proxy app. I suspect it has something to do with only using one network device or subnet or whatnot.
-
GreaseMonkey
Coder
- Posts: 733
- Joined: Tue Oct 30, 2012 11:07 pm
rakiru wrote:I meant more specifically what did you have to change? I don't know exactly why/how they're tethered, so I don't know what needs changed/removed. What you said above is nothing new to me, and shouldn't be to anyone who could untether the other ones.These are from the 0.60 server which does not need to be untethered (anything 0.54 onwards is fine, this version doesn't refer to language files unlike 0.75 so it should be easier), but they might prove useful:
"GET"
Code: Select all
"ace-"
?_5920: ; byte
db 47H, 45H, 54H, 20H, 2FH, 6EH, 30H, 39H ; 00427AE0 _ GET /n09
db 32H, 33H, 30H, 39H, 34H, 35H, 2EH, 61H ; 00427AE8 _ 230945.a
db 73H, 70H, 20H, 48H, 54H, 54H, 50H, 2FH ; 00427AF0 _ sp HTTP/
db 31H, 2EH, 30H, 0DH, 0AH, 41H, 63H, 63H ; 00427AF8 _ 1.0..Acc
db 65H, 70H, 74H, 3AH, 20H, 2AH, 2FH, 2AH ; 00427B00 _ ept: */*
db 0DH, 0AH, 48H, 6FH, 73H, 74H, 3AH, 20H ; 00427B08 _ ..Host:
db 61H, 75H, 74H, 6FH, 6DH, 61H, 74H, 69H ; 00427B10 _ automati
db 6FH, 6EH, 2EH, 77H, 68H, 61H, 74H, 69H ; 00427B18 _ on.whati
db 73H, 6DH, 79H, 69H, 70H, 2EH, 63H, 6FH ; 00427B20 _ smyip.co
db 6DH, 0DH, 0AH, 55H, 73H, 65H, 72H, 2DH ; 00427B28 _ m..User-
db 41H, 67H, 65H, 6EH, 74H, 3AH, 20H, 4DH ; 00427B30 _ Agent: M
db 53H, 49H, 45H, 0DH, 0AH, 0DH, 0AH, 00H ; 00427B38 _ SIE.....
Code: Select all
some other goodies, which are what we will actually use:
?_5877: ; byte
db 61H, 63H, 65H, 2DH, 73H, 70H, 61H, 64H ; 00427640 _ ace-spad
db 65H, 73H, 2EH, 63H, 6FH, 6DH, 00H, 00H ; 00427648 _ es.com..
Code: Select all
?_5878 ("Error connecting to master server") is referred to here:
?_5878: ; byte
db 45H, 72H, 72H, 6FH, 72H, 20H, 63H, 6FH ; 00427650 _ Error co
db 6EH, 6EH, 65H, 63H, 74H, 69H, 6EH, 67H ; 00427658 _ nnecting
db 20H, 74H, 6FH, 20H, 6DH, 61H, 73H, 74H ; 00427660 _ to mast
db 65H, 72H, 20H, 73H, 65H, 72H, 76H, 65H ; 00427668 _ er serve
db 72H, 2EH, 2EH, 2EH, 0AH, 00H, 00H, 00H ; 00427670 _ r.......
?_5879: ; byte
db 53H, 65H, 6EH, 64H, 69H, 6EH, 67H, 20H ; 00427678 _ Sending
db 73H, 65H, 72H, 76H, 65H, 72H, 20H, 69H ; 00427680 _ server i
db 6EH, 66H, 6FH, 0AH, 00H, 00H, 00H, 00H ; 00427688 _ nfo.....
?_5880: ; byte
db 45H, 72H, 72H, 6FH, 72H, 20H, 73H, 65H ; 00427690 _ Error se
db 6EH, 64H, 69H, 6EH, 67H, 20H, 73H, 65H ; 00427698 _ nding se
db 72H, 76H, 65H, 72H, 20H, 69H, 6EH, 66H ; 004276A0 _ rver inf
db 6FH, 21H, 0AH, 00H ; 004276A8 _ o!..
?_5881: ; byte
db 53H, 65H, 6EH, 74H, 21H, 0AH, 00H, 00H ; 004276AC _ Sent!...
db 00H, 00H, 00H, 00H ; 004276B4 _ ....
?_5882: ; byte
db 44H, 6FH, 6EH, 65H, 21H, 0AH, 49H, 66H ; 004276B8 _ Done!.If
db 20H, 79H, 6FH, 75H, 27H, 72H, 65H, 20H ; 004276C0 _ you're
db 64H, 69H, 73H, 63H, 6FH, 6EH, 6EH, 65H ; 004276C8 _ disconne
db 63H, 74H, 65H, 64H, 20H, 66H, 72H, 6FH ; 004276D0 _ cted fro
db 6DH, 20H, 74H, 68H, 65H, 20H, 6DH, 61H ; 004276D8 _ m the ma
db 73H, 74H, 65H, 72H, 20H, 73H, 65H, 72H ; 004276E0 _ ster ser
db 76H, 65H, 72H, 2CH, 20H, 63H, 68H, 65H ; 004276E8 _ ver, che
db 63H, 6BH, 20H, 70H, 6FH, 72H, 74H, 20H ; 004276F0 _ ck port
db 73H, 65H, 74H, 74H, 69H, 6EH, 67H, 73H ; 004276F8 _ settings
db 2CH, 20H, 64H, 69H, 73H, 61H, 62H, 6CH ; 00427700 _ , disabl
db 65H, 20H, 65H, 78H, 74H, 72H, 61H, 20H ; 00427708 _ e extra
db 6EH, 65H, 74H, 77H, 6FH, 72H, 6BH, 20H ; 00427710 _ network
db 64H, 65H, 76H, 69H, 63H, 65H, 73H, 2CH ; 00427718 _ devices,
db 20H, 61H, 6EH, 64H, 20H, 63H, 68H, 65H ; 00427720 _ and che
db 63H, 6BH, 20H, 66H, 6FH, 72H, 20H, 67H ; 00427728 _ ck for g
db 61H, 6DH, 65H, 20H, 75H, 70H, 64H, 61H ; 00427730 _ ame upda
db 74H, 65H, 73H, 0AH, 00H, 00H, 00H, 00H ; 00427738 _ tes.....
Code: Select all
?_5880 ("Error sending server info!") is referred to here:
?_4300: push ?_5876 ; 0041B338 _ 68, 0042761C(d)
call ?_0266 ; 0041B33D _ E8, FFFE709C
add esp, 4 ; 0041B342 _ 83. C4, 04
call ?_3759 ; 0041B345 _ E8, FFFFADA6
test eax, eax ; 0041B34A _ 85. C0
jz ?_4301 ; 0041B34C _ 74, 07
push ?_5878 ; 0041B34E _ 68, 00427650(d)
jmp ?_4305 ; 0041B353 _ EB, 76
Code: Select all
Finally, if you really want to change the port, search for 32887. It will be a "mov e__, 32887" opcode.?_4302: mov cl, byte [eax] ; 0041B370 _ 8A. 08
inc eax ; 0041B372 _ 40
test cl, cl ; 0041B373 _ 84. C9
jnz ?_4302 ; 0041B375 _ 75, F9
sub eax, edx ; 0041B377 _ 2B. C2
add eax, 2 ; 0041B379 _ 83. C0, 02
push 1 ; 0041B37C _ 6A, 01
push eax ; 0041B37E _ 50
mov ebx, ?_6593 ; 0041B37F _ BB, 0195F440(d)
call ?_4939 ; 0041B384 _ E8, 00004977
mov ecx, dword [?_6583] ; 0041B389 _ 8B. 0D, 0195F3D0(d)
push ecx ; 0041B38F _ 51
mov ebx, eax ; 0041B390 _ 8B. D8
call ?_4823 ; 0041B392 _ E8, 00003DC9
add esp, 12 ; 0041B397 _ 83. C4, 0C
test eax, eax ; 0041B39A _ 85. C0
jz ?_4304 ; 0041B39C _ 74, 28
push ?_5880 ; 0041B39E _ 68, 00427690(d)
call ?_0266 ; 0041B3A3 _ E8, FFFE7036
add esp, 4 ; 0041B3A8 _ 83. C4, 04
push ?_5867 ; 0041B3AB _ 68, 00427544(d)
call ?_0258 ; 0041B3B0 _ E8, FFFE6F4C
add esp, 4 ; 0041B3B5 _ 83. C4, 04
?_4303: or eax, 0FFFFFFFFH ; 0041B3B8 _ 83. C8, FF
pop edi ; 0041B3BB _ 5F
pop esi ; 0041B3BC _ 5E
pop ebp ; 0041B3BD _ 5D
pop ebx ; 0041B3BE _ 5B
add esp, 468 ; 0041B3BF _ 81. C4, 000001D4
ret ; 0041B3C5 _ C3
You will also need to modify the client in this case.
For certain really old versions (such as 0.35), you will need to look at + modify the client to fix up the IP check.
Let me know if there's anything you get stuck on.
Who is online
Users browsing this forum: No registered users and 17 guests



