blackd
08-23-2013, 18:11
All my tools are now updated, except Blackd Proxy.
Blackd Proxy will be a bit harder to update because they changed the login server structure.
Now login servers seems to be loaded from this part of the code:
004E8870 8B0D 1CF38000 MOV ECX,DWORD PTR DS:[80F31C]
004E8876 8B15 20F38000 MOV EDX,DWORD PTR DS:[80F320]
004E887C 3BCA CMP ECX,EDX
004E887E 74 0D JE SHORT Tibia.004E888D
004E8880 8079 32 00 CMP BYTE PTR DS:[ECX+32],0
004E8884 75 0A JNZ SHORT Tibia.004E8890
004E8886 83C1 38 ADD ECX,38
004E8889 3BCA CMP ECX,EDX
004E888B ^75 F3 JNZ SHORT Tibia.004E8880
004E888D 8910 MOV DWORD PTR DS:[EAX],EDX
004E888F C3 RETN
004E8890 890D 2CF38000 MOV DWORD PTR DS:[80F32C],ECX
004E8896 8908 MOV DWORD PTR DS:[EAX],ECX
004E8898 C3 RETN
In Tibia 10.11 ...
NewLoginStructPointer=&H80F31C *Windows xp address
NewLoginStructDist=&H38 = 56 in decimal
NewLoginStructPortStep As Integer = &H2C = 44 in decimal
Pointer points to the start of some kind of structure. In that structure, 4 bytes later, you find pointer to first tibia login server, 56 bytes later you find pointer to 2nd login server, 56 bytes later you find pointer to 3nd login server, etc (total=10 servers)
The port (7171) is found 44 bytes after each login pointer
Working on it.
Blackd Proxy will be a bit harder to update because they changed the login server structure.
Now login servers seems to be loaded from this part of the code:
004E8870 8B0D 1CF38000 MOV ECX,DWORD PTR DS:[80F31C]
004E8876 8B15 20F38000 MOV EDX,DWORD PTR DS:[80F320]
004E887C 3BCA CMP ECX,EDX
004E887E 74 0D JE SHORT Tibia.004E888D
004E8880 8079 32 00 CMP BYTE PTR DS:[ECX+32],0
004E8884 75 0A JNZ SHORT Tibia.004E8890
004E8886 83C1 38 ADD ECX,38
004E8889 3BCA CMP ECX,EDX
004E888B ^75 F3 JNZ SHORT Tibia.004E8880
004E888D 8910 MOV DWORD PTR DS:[EAX],EDX
004E888F C3 RETN
004E8890 890D 2CF38000 MOV DWORD PTR DS:[80F32C],ECX
004E8896 8908 MOV DWORD PTR DS:[EAX],ECX
004E8898 C3 RETN
In Tibia 10.11 ...
NewLoginStructPointer=&H80F31C *Windows xp address
NewLoginStructDist=&H38 = 56 in decimal
NewLoginStructPortStep As Integer = &H2C = 44 in decimal
Pointer points to the start of some kind of structure. In that structure, 4 bytes later, you find pointer to first tibia login server, 56 bytes later you find pointer to 2nd login server, 56 bytes later you find pointer to 3nd login server, etc (total=10 servers)
The port (7171) is found 44 bytes after each login pointer
Working on it.