Buenas Gente
Hacía mucho que no entraba por aqui por falta de tiempo y siempre quise hace un tutorial basico para los que empiezan para crear vuestras propias herramientas, en python (el lenguaje que más controlo)
-------------------------------------------------------------------------
NO SE SI ESTO VA AQUI SI NO QUE LO MUEVAN A LA SECCION DONDE VAYA
-------------------------------------------------------------------------
INSTALAR PYTHON
Por si no lo teneis instalado os voy a enseñar, es muy facil. En este tutorial trabajaré con python 3.X (concretamente 3.4 pero las versiones no cambian) aunque la mayoria de cosas deberian funcionar en python 2.X sin muchos cambios o sin ninguno
Python 3.4 --> https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi
Descargais el ejecutable (extension .msi) y lo lanzais, next next next.. listo!, si usais linux.. Suerte! Python viene preinstalado y concretamente python 3.X y python 2.X
1. Abriendo Archivos / leer / escribir
a) Como se abren archivos?
objetoArchivo = open("ruta.rom", "rb")
Con esta sentencia creamos un objeto llamado objetoArchivo el cual contiene el archivo ruta.rom y lo abre de forma ReadBytes --> Es decir que vamos a leer bytes (si quieisetamos leer texto se usa solamente "r")
b) Y asi se hace para escribir
objetoArchivo = open("ruta.rom", "wb")
Con esta sentencia creamos un objeto llamado objetoArchivo el cual contiene el archivo ruta.rom y lo abre de forma WriteBytes --> Es decir que vamos a escribir bytes (si quieisetamos escribir texto se usa solamente "w")
RESUME PARTE 1
ABRIR ARCHIVOS --> f = open(ruta, modo)
RUTA --> ejemplo 'C:\proyectos\pokemon.gba' (windows)
MODO --> 'w' (escribir texto)
'r' (leer texto)
'wb' (escribir bytes)
'rb' (leer bytes)
Una vez que acabemos de hacer cualquier cosa con el archivo tenemos que cerrar el objeto --> objetoArchivo.close()
NOTA: Ahi arriba puse f en vez de objetoArchivo porque es mucho más corto
-------------------------------------------------------------------------
2. CONVERSIONES EN PYTHON
String (texto) a hexadecimal:
import binascii
texto = "texto"
hexadec = binascii.hexlify(texto)
aqui hexadec seria -> 746578746f
Hexadecimal a string (texto):
import binascii
hexadec = b'696d706f7274' ---> 69 6D 70 6F 72 74
texto = binascii.unhexlify(hexadec)
Aqui texto seria -> "import"
Así facilmente podemos convertir texto a hexadecimal por si queremos inyectarlo en alguna parte de la rom
------------------------------------------------------------------------------------------------------------------
PD: Voy a ir ampliando este tutorial espero que os sirva :XD:
Un saludo
Hacía mucho que no entraba por aqui por falta de tiempo y siempre quise hace un tutorial basico para los que empiezan para crear vuestras propias herramientas, en python (el lenguaje que más controlo)
-------------------------------------------------------------------------
NO SE SI ESTO VA AQUI SI NO QUE LO MUEVAN A LA SECCION DONDE VAYA
-------------------------------------------------------------------------
INSTALAR PYTHON
Por si no lo teneis instalado os voy a enseñar, es muy facil. En este tutorial trabajaré con python 3.X (concretamente 3.4 pero las versiones no cambian) aunque la mayoria de cosas deberian funcionar en python 2.X sin muchos cambios o sin ninguno
Python 3.4 --> https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi
Descargais el ejecutable (extension .msi) y lo lanzais, next next next.. listo!, si usais linux.. Suerte! Python viene preinstalado y concretamente python 3.X y python 2.X
1. Abriendo Archivos / leer / escribir
a) Como se abren archivos?
objetoArchivo = open("ruta.rom", "rb")
Con esta sentencia creamos un objeto llamado objetoArchivo el cual contiene el archivo ruta.rom y lo abre de forma ReadBytes --> Es decir que vamos a leer bytes (si quieisetamos leer texto se usa solamente "r")
b) Y asi se hace para escribir
objetoArchivo = open("ruta.rom", "wb")
Con esta sentencia creamos un objeto llamado objetoArchivo el cual contiene el archivo ruta.rom y lo abre de forma WriteBytes --> Es decir que vamos a escribir bytes (si quieisetamos escribir texto se usa solamente "w")
RESUME PARTE 1
ABRIR ARCHIVOS --> f = open(ruta, modo)
RUTA --> ejemplo 'C:\proyectos\pokemon.gba' (windows)
MODO --> 'w' (escribir texto)
'r' (leer texto)
'wb' (escribir bytes)
'rb' (leer bytes)
Una vez que acabemos de hacer cualquier cosa con el archivo tenemos que cerrar el objeto --> objetoArchivo.close()
NOTA: Ahi arriba puse f en vez de objetoArchivo porque es mucho más corto
-------------------------------------------------------------------------
2. CONVERSIONES EN PYTHON
String (texto) a hexadecimal:
import binascii
texto = "texto"
hexadec = binascii.hexlify(texto)
aqui hexadec seria -> 746578746f
Hexadecimal a string (texto):
import binascii
hexadec = b'696d706f7274' ---> 69 6D 70 6F 72 74
texto = binascii.unhexlify(hexadec)
Aqui texto seria -> "import"
Así facilmente podemos convertir texto a hexadecimal por si queremos inyectarlo en alguna parte de la rom
------------------------------------------------------------------------------------------------------------------
PD: Voy a ir ampliando este tutorial espero que os sirva :XD:
Un saludo
Última edición por un moderador: