Domanda [TUT] Modificare porta MySQL nei cores.

Stato
Discussione chiusa ad ulteriori risposte.

d3vil401

Utente Platinum
3 Gennaio 2009
2,077
106
1,055
1,046
Ultima modifica:
Qualcuno avrà la necessità di cambiare la porta MySQL (non cominciate a rompere col fatto che secondo voi non è utile cambiarla),ma il problema,da come avrà notato,è che i files server non riusciranno a connettersi al daemon MySQL.
Ebbene ora vi spiego,usando IDA,come farlo; non ho fatto dei difference files per il semplice fatto che non ho tutti i cores per poter creare le varie versioni,quindi,vi spiegherò come farlo manualmente e se qualcuno è così gentile da creare tutti i diff può postarli nella sezione adatta,ma dovreste spiegare anche come cambiare la porta dai differences.

Come al solito,aprite IDA e caricate come primo il DB (database).
Aspettate che l'analisi del nostro core finisca e cominciate a trovare la funzione

mysql_server_init (#1)

Appena avrete aperto la funzione trovate la riga:

mov ds:mysql_port, 0CEAh (#2)

Screenshot (occhio,è grandicello):
change_port_scr1.png

Se non si vede bene:
Clicca qui

Ora che ci siamo,evito di spiegarvi cose che teoricamente non vi serviranno,ma passiamo al succo della questione.
Lo vedete questo valore esadecimale?

0CEAh

Che c*z*o di domanda,a meno che non avete dimenticato gli occhiali...
Bene,se prendete la calcolatrice di Windows e la mettete in modalità programmatore,seleziona Hex e inserite i seguenti valori:

CEA

h viene omesso perché indica solo che il valore è in esadecimale
0 in questo caso viene omesso perché verrebbe ignorato: il primo numero di un valore esadecimale se è 0 può essere ignorato (solo se parliamo della caccolatrice).

Ora selezionate la casellina Dec,e cosa esce fuori? :O
WOW! MA E' PROPRIO LEI!

Equivale a 3306,ovvero la porta standard di MySQL,bene,come la modifichiamo?
Prima di tutto dalla caccolatrice in Dec scrivete la porta nuova che volete assegnare a MySQL e convertitela in Hex.
Esempio:

Voglio inserire come porta nuova la 9876 che in esadecimale equivale a 2694.

Quindi andiamo su IDA e selezioniamo la riga Assembly precedentemente citata,ovvero

mov ds:mysql_port, 0CEAh (#2)

E clicchiamo su Hex view (#3).

Screenshot (occhio,è grandicello):
change_port_scr2.png

Se non si vede bene:
Clicca qui

Quindi,noterete ora una parte di valori esadecimali evidenziata,ebbene quella intera riga di assembly equivale a quella riga di valori esadecimali,GUARDA CASO abbiamo 2 valori alquanto familiari:

EA 0C

ovvero

0C EA

solo che sono al contrario,inutile spiegarvi il perché,ora,sapendo che voi avete già convertito la porta desiderata in esadecimale che nel mio caso era 2694,basterà scrivere la nuova porta sul core:

Tasto destro del mouse -> Edit...
Selezionate esattamente prima del carattere E (di EA)

E scrivete il vostro valore esadecimale AL CONTRARIO,ovvero nel mio caso

9426

Ricordate che nei valori esadecimali,ogni valore una coppia (00 00 00):

26 94 -> 94 26

Ora,una volta finito

Click destro del mouse -> Commit Changes

Andate su File -> Produce File -> CREATE DIF file...
Salvate e con un normale DIF Patcher potrete cambiare la porta.

Dovete fare la stessa cosa anche con il Game e l'Auth
 
Ho dovuto...
In ogni caso non è una cosa molto particolare da "censurare" a coloro che non se ne intendono...
Forse ora da piccolo nabbo ti prenderanno per una persona che ha paura ò.ò questo è quello che sento su di te :\ inoltre ci sono persone che manco hex sanno aprire xD
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom