Log in

View Full Version : modRSA.bas



Donbermu
06-09-2013, 14:06
After changing the ClassName(and rsa too) it looks like this:


#Const FinalMode = 1
Option Explicit

Public adrRSA As Long
' Public Const RLserverRSAkey As String = "12471045942682794300437644989798558216780170796069 70371640449048629485693808504213969045976869538770 22394604239428185498284169068581802277612081027966 72433631944853781144171907648434092285492927351730 86613707271053828991189994038080458464446472844991 23164879035103627004668521005328367415259939915284 902061793"

Public Const OTserverRSAkey As String = "80036587448373301374214561743214971021002734146281 55474454857095160629703530738156700337056733670046 12329742849371048275308815946516512086687520718085 85072361806920252212000725812374142416691470534991 98610188020944640937297568843707971843509832046146 35525498889125934269461638576008377107245708057845 18960061"

Public WARNING_USING_OTSERVER_RSA As Boolean

Public Sub TryToUpdateRSA(ByVal pid As Long, ByVal strKey As String)
Dim i As Long
Dim writeChr As String
Dim currByteAdr As Long
Dim byteChr As Byte
Dim byteChrR As Byte
Dim RSA_bytes(308) As Byte
Dim b1 As Byte
Dim b2 As Byte
Dim b3 As Byte
Dim b4 As Byte
Dim res As Long
Dim realAddress As Long
' needs to be fixed

If adrRSA = 0 Then
Exit Sub
End If
If pid = -1 Then
Exit Sub
End If

realAddress = Memory_BlackdAddressToFinalAdddress(adrRSA, pid)
If (realAddress = 0) Then
Exit Sub
End If

For i = 0 To 308
writeChr = Mid$(strKey, i + 1, 1)
byteChr = ConvStrToByte(writeChr)
RSA_bytes(i) = byteChr
Next i

res = BlackdForceWrite(realAddress, RSA_bytes(0), 309, pid)
Debug.Print "RSA key changed"

WARNING_USING_OTSERVER_RSA = True
End Sub

Public Sub ModifyTibiaRSAs()
Dim TmmmŽmmmŒmmm As Long
TmmmŽmmmŒmmm = 0
Do
TmmmŽmmmŒmmm = FindWindowEx(0, TmmmŽmmmŒmmm, tibiaclassname, vbNullString)
If TmmmŽmmmŒmmm = 0 Then
Exit Do
Else
TryToUpdateRSA TmmmŽmmmŒmmm, OTserverRSAkey
End If
Loop
End Sub

And after compile, it write the .exe but! It keep detecting normal tibias and not the one with edited classname and rsa key.
Anyone know if I should change only some "TibiaClients" to "TmmmŽmmmŒmmm" or It should be as I did(all), or if I need to decrypt that ClassName?

blackd
06-09-2013, 21:58
Sorry, you made a lot of severe mistakes there and you have a lot of wrong concepts in your mind according to the weird function that you wrote below my code.

First of all, changing the name of a variable does not change anything at all in the result of a program. In a function you should change the input value to see a different output.
Anyways my function TryToUpdateRSA depends of some global variables that are loaded in a different part of the code, and in your case the only thing you need to do is changing the VALUE of the variable tibiaclassname. My program load that value from config.ini , so if your program is version xxx then just go configxxx\config.ini and update/add this under [MemoryAddresses] :

tibiaclassname=TmmmŽmmmŒmmm

And anwyays I don't think an human would change the classname to such weird string. I guess you didn't find the right classname of your ot server. You need to use the tool OLLYDBG to find the new classname. Just go to standard client of that version, find the place for the constant string "tibiaclient" and then go to the modified client of your ot server and read that place to discover new value.

Oxlade
06-21-2013, 04:42
Sorry, you made a lot of severe mistakes there and you have a lot of wrong concepts in your mind according to the weird function that you wrote below my code.

First of all, changing the name of a variable does not change anything at all in the result of a program. In a function you should change the input value to see a different output.
Anyways my function TryToUpdateRSA depends of some global variables that are loaded in a different part of the code, and in your case the only thing you need to do is changing the VALUE of the variable tibiaclassname. My program load that value from config.ini , so if your program is version xxx then just go configxxx\config.ini and update/add this under [MemoryAddresses] :

tibiaclassname=TmmmŽmmmŒmmm

And anwyays I don't think an human would change the classname to such weird string. I guess you didn't find the right classname of your ot server. You need to use the tool OLLYDBG to find the new classname. Just go to standard client of that version, find the place for the constant string "tibiaclient" and then go to the modified client of your ot server and read that place to discover new value.
................