como analizar textos en IDA Codificación ASCII y Unicode
Bueno les voy a explicar como analizar los textos en el IDA mayor mente los parches que contienen textos se les dicen strings y pues se analizan donde comienza el texto no se analiza con la tecla "c" ni "D" sino con la tecla "A":
ejemplo así esta en el IDA:
Código:ROM:45CFCF04 4D DCB 0x4D ; M ROM:45CFCF05 79 DCB 0x79 ; y ROM:45CFCF06 20 DCB 0x20 ROM:45CFCF07 53 DCB 0x53 ; S ROM:45CFCF08 68 DCB 0x68 ; h ROM:45CFCF09 6F DCB 0x6F ; o ROM:45CFCF0A 72 DCB 0x72 ; r ROM:45CFCF0B 74 DCB 0x74 ; t ROM:45CFCF0C 63 DCB 0x63 ; c ROM:45CFCF0D 75 DCB 0x75 ; u ROM:45CFCF0E 74 DCB 0x74 ; t ROM:45CFCF0F 73 DCB 0x73 ; s ROM:45CFCF10 20 DCB 0x20 ROM:45CFCF11 76 DCB 0x76 ; v ROM:45CFCF12 31 DCB 0x31 ; 1 ROM:45CFCF13 2E DCB 0x2E ; . ROM:45CFCF14 31 DCB 0x31 ; 1 ROM:45CFCF15 0A DCB 0xA ROM:45CFCF16 A9 DCB 0xA9 ; ® ROM:45CFCF17 20 DCB 0x20 ROM:45CFCF18 61 DCB 0x61 ; a ROM:45CFCF19 6C DCB 0x6C ; l ROM:45CFCF1A 62 DCB 0x62 ; b ROM:45CFCF1B 65 DCB 0x65 ; e ROM:45CFCF1C 72 DCB 0x72 ; r ROM:45CFCF1D 74 DCB 0x74 ; t ROM:45CFCF1E 6E DCB 0x6E ; n ROM:45CFCF1F 65 DCB 0x65 ; e ROM:45CFCF20 74 DCB 0x74 ; t ROM:45CFCF21 33 DCB 0x33 ; 3 ROM:45CFCF22 0A DCB 0xA ROM:45CFCF23 77 DCB 0x77 ; w ROM:45CFCF24 77 DCB 0x77 ; w ROM:45CFCF25 77 DCB 0x77 ; w ROM:45CFCF26 2E DCB 0x2E ; . ROM:45CFCF27 74 DCB 0x74 ; t ROM:45CFCF28 6F DCB 0x6F ; o ROM:45CFCF29 70 DCB 0x70 ; p ROM:45CFCF2A 73 DCB 0x73 ; s ROM:45CFCF2B 6F DCB 0x6F ; o ROM:45CFCF2C 6E DCB 0x6E ; n ROM:45CFCF2D 79 DCB 0x79 ; y ROM:45CFCF2E 2E DCB 0x2E ; . ROM:45CFCF2F 63 DCB 0x63 ; c ROM:45CFCF30 6F DCB 0x6F ; o ROM:45CFCF31 6D DCB 0x6D ; m
Y analizado con la tecla "A" quedaría así:
Código:ROM:45CFCF04 4D 79 20 53+aMyShortcutsV1_ DCB "My Shortcuts v1.1",0xA ROM:45CFCF04 68 6F 72 74+ DCB "® albertnet3",0xA ROM:45CFCF04 63 75 74 73+ DCB "www.topsony.com",0 ROM:45CFCF33 FF DCB 0xFF
Esta codificación se llama ASCII
y también puede reemplazar el DCB por db quedando así:
Código:aMyShortcutsV1_ db "My Shortcuts v1.1",0xA db "® albertnet3",0xA db "www.topsony.com",0 db 0xFF
Después también puede estar así el texto en codificación unicode:
También se puede analizar con la tecla "A" y les quedaría así:Código:ROM:45CFCEA8 4D unk_45CFCEA8 DCB 0x4D ; M ROM:45CFCEA9 00 DCB 0 ROM:45CFCEAA 79 DCB 0x79 ; y ROM:45CFCEAB 00 DCB 0 ROM:45CFCEAC 20 DCB 0x20 ROM:45CFCEAD 00 DCB 0 ROM:45CFCEAE 45 DCB 0x45 ; E ROM:45CFCEAF 00 DCB 0 ROM:45CFCEB0 6C DCB 0x6C ; l ROM:45CFCEB1 00 DCB 0 ROM:45CFCEB2 66 DCB 0x66 ; f ROM:45CFCEB3 00 DCB 0 ROM:45CFCEB4 73 DCB 0x73 ; s
Y también pueden reemplazar el DCB por db quedando así:Código:ROM:45CFCEA8 4D 00 aM_0 DCB "M",0 ROM:45CFCEAA 79 00 aY DCB "y",0 ROM:45CFCEAC 20 00 DCB " ",0 ROM:45CFCEAE 45 00 aE DCB "E",0 ROM:45CFCEB0 6C 00 aL DCB "l",0 ROM:45CFCEB2 66 00 aF_0 DCB "f",0 ROM:45CFCEB4 73 00 aS_0 DCB "s",0
pero para este tipo de codificación es mejor analizarlo como el tipo de code que es y no con la tecla "A" ya que "A" es para la codificación ASCII y en este caso el tipo de string es unicode entonces deben de analizarlo como unicode parra ello tienen que ir a la opción que esta en su IDA arriba a su izquierda que es una opción de una S entre comillas así "S" dan clic ahí y les dará las opciones que trae el ida para las codificaciones de las strings entonces una ves que están en donde empieza la string en este caso comienza en la M se van a esa opción que les nombre de la "S" y tildan la opción unicode y les analizara el texto de la siguiente forma:Código:aM_0 db "M",0 aY db "y",0 db " ",0 aE db "E",0 aL db "l",0 aF_0 db "f",0 aS_0 db "s",0
Una ves que les quedo así deben de limpiarlo para que luego el compilador lo reconozco como texto y les compile reemplazando el unicode por du y reemplazando el 0, < por un " y el > por un " quedándoles así:Código:ROM:45CFCEA8 4D 00 79 00+aMyElfs unicode 0, <My Elfs>,0
Código:aMyElfs du "My Elfs",0






RESPONDER

Marcadores