ASM Caratteri assembly?

Stato
Discussione chiusa ad ulteriori risposte.

Metallico

Utente Silver
3 Gennaio 2013
44
4
5
50
Ultima modifica:
Salve, sto utilizzando il reverse su un programma per eseguirne una traduzione da ideogrammi/caratteri
cinesi ( 我的网址 ) a italiano. (Jingling)
Il problema è che una volta de-assemblato il programma, non trovo le stringhe come le visualizzo a schermo, ma sono scritte con caratteri diversi...
Come faccio quindi a tradurre le mie stringhe in ideogrammi in quei caratteri in modo da poterli cercare e sostituire nel codice??

Grazie mille ;)





 
Il disassembler ti mostra le stringhe interpretate come se fossero codificate in ASCII (1 byte per carattere), mentre gli ideogrammi vengono codificati in altro modo, solitamente in UTF-8 ma vi sono svariate possibilità, GB18030 e altri

Edit: quindi, a meno che il tuo disassembler non supporti codifiche non ASCII non può mostrarti caratteri cinesi
Sent from my MI 1S using Tapatalk HD
 
E non solo.
Dipende molto anche dal tipo di disassembler che usi e che font utilizza. Cambiando font i caratteri speciali possono assumere forme differenti, inoltre spesso i disassembler "fillano" alcuni caratteri speciali con altri per questioni di visibilità.
Per esempio con olly il byte 0x00 è visualizzato come il punto, ovvero 0x2E. Però in base al font che inserisci i caratteri speciali vengono visualizzati diversamente. La cosa migliore che puoi fare è settare il font che ti interessa nel disassembler o nel memory dump, oppure lavorare con una tabella di conversione alla mano.
 
Ultima modifica:
Mi interesserebbe sapere come faccio a trovare i corrispettivi degli ideogrammi nei caratteri ASCII.
Grazie
 
Se ti va bene il tuo programma sta usando una versione di unicode e puoi trovare qua come vengono rappresentati i tuoi caratteri come sequenze di byte, tuttavia è un processo lungo e scomodo.

Se ti va male e il tuo programma usa GB18030 (che, stando a quanto mi hanno detto mentre ero in cina, è lo standard supportato e reso obbligatorio dal governo) dovrebbe essere possibile convertirlo in UTF-8 o altre varianti di unicode, forse, cercando più approfonditamente puoi trovare tools più utili online, in ogni caso prima verifica se il tuo disassembler supporta diversi font e nel caso prova a usarne uno adeguato per rappresentare anche gli ideogrammi

Sent from my MI 1S using Tapatalk HD
 
Avevo già guardato per i font, ho cercato di usare lo stesso font che c'è nel file Word con le traduzioni ma non c'è nè in W32DASM nè in Olly.
Ho provato con il tuo metodo ma ho scoperto che in ASCII sono già presenti gli ideogrammi!
Quindi il problema è proprio del font, ma provarli tutti finchè non ne trovo uno che li visualizza mi sembra impossibile
 
In ASCII non sono presenti gli ideogrammi, è una codifica in grado di rappresentare 256 caratteri distinti nel migliore dei casi, 128 (dei quali una novantina stampabili) assicurati.

Per il font non saprei quale devi usare per poter vedere gli ideogrammi correttamente

Sent from my MI 1S using Tapatalk HD
 
  • Mi piace
Reazioni: Metallico
Stato
Discussione chiusa ad ulteriori risposte.