Para los que no tengan el Ida Pro ...

Eres un fiera compadre. Esto parece que podría rular, ¿lo has probado?, voy a bajarme la página para hecer una traducción al español, ahora mismo y le hechemos un vistazo mejor.

Gracias
Parece que esto puede ser la posible solucion al los dvdchecks, a parte del famoso IDA PRO, para quien no tenga dinero para pagarselo, o no tenga FTP ni esas cosas, esta podría ser la posible solución. Ante todo gracias a MaBoquepaSA POR LA INFORMACIÓN, TE LO HAS CURRARO.

Dejo aqui el texto de la pagina y a ver si lo traducimos. Yo pienso hacerlo, porque esto se podría poner interesante en breve.
------------------------------------------------------------------------------
GETTING STARTED
SETTING FONTS
Run ps2dis.exe, then choose fonts at first. Focus disassembler window and choose "Preference-fonts...". Focus Hex window and do it in the same way. I think "Courier New - regular" is a good choise.
BROWSING and ANALYZING PS2 BINARIES
Simply drop a PS2 executable. Use following keys to bworse, KEY ACTION
UP/DOWN Moves up and down
PageUp,PageDown Next/Prev page
Ctrl+PageUp,Down 1000h Up/Down
Alt+PageUp,Down 10000h Up/Down
g Jump to specified address
Ctrl+g Jump to specified label (if there are labels set).
Right arrow (USEFUL!) Jump to address which current line refers to.
Left arrow Return back to referrer.

LABELLING TEXT RESOURCES
- With new version, PS2DIS detects many string literals automatically.
There must be some text resources in .data or .rodata section. If you find them, I sugest you label it with this easy way.

Cursor the top of string(s).
Then press Shift+b and label is set.
If there are more strings after this, continue pressing that key.
LABELLING SYSCALLs
PS2 kernel supports some system-calls and most executables have these functions. PS2DIS will automatically find and label them. Choose "label syscall" from menu "Analyzer".
LABELLING MEMORY MAPPED I/Os
ps2.map that comes with ps2dis.exe defines some known I/O addresses. Choose "Load label" from menu "File" then import it.
INVOKING ANALYZER
PS2DIS has powerful analyzer functions. To use it, you should run Analyzer first. Choose "Invoke analyzer" from menu "Analyzer". It may looks as if it hangs up, but don't worry, wait a while and it should return.
You will see another labels like FNC_XXXXXXXX or __XXXXXXXX which are refered from somewhere. FNC_XXXXXXXX are the points that some JALs point to. Mark it using SPACE key then press F3, you will see the referrers. Press Alt+x to return back to marked address.(This exchanges cursor and mark.) Press F3 to jump to next referrer. Press Alt+A to show/hide these labels.
IMPORTING LABELS FROM AN OTHER FILE
This function will transplant symbols from files which has symbols. You should invoke Analyzer before do this. Try "Import labels from other file" in menu "Analyzer" then choose any file that has symbols. It finds functions that are assumed same, and label them. Check labels using Ctrl+g!
--------------------------------------------------------------------------------

KEY ASSIGN
KEY ACTION
DATA TYPE RELATED
b Set type as BYTE
Alt+b Set type of the region between marked and cursor as BYTEs
Shift+b Set type as BYTE then label it
h Set type as HALF WORD
Alt+h Set type of the region between marked and cursor as HALFs
w Set type as WORD
Alt+w Set type of the region between marked and cursor as WORDs
d Set type as DOUBLE WORD
Alt+d Set type of the region between marked and cursor as DWORDs
q Set type as QUAD WORD
Alt+q Set type of the region between marked and cursor as QWORDs
c Set type as CODE
Alt+c Set type of the region between marked and cursor as CORDs
u Set type as UNDEFINED(almost same as CODE)
Alt+u Set type of the region between marked and cursor as UNDEFs
Shift+u Set type as NOT INITIALIZED
MARK/REGION RELATED
SPACE Mark current line, or reset current mark
Alt+x Exchange current line with marked line
Ctrl+t Save region(which are lines between current line and marked line) as text file
Ctrl+c Copy current function to the clipboard
ADDRESS STACK RELATED
Right arrow Push current address into Stack then jump to address where the current line refer to
Left arrow Pop an address from Stack then jump to the address. Popped address is still there. See below.
Ctrl+Right arrow Jump to the address which has popped recently. It behaves like 'history' function of WWW browsers.
Ctrl+Left arrow Back to the Stack. It behaves like 'history' function of WWW browsers.
Insert Push current address into Stack
EDITOR
Enter Editor dialog pops up. You can edit label,command and opcode itself. If you edit opcodes, all histories are saved as Patch. See 'p' command.
PATCH
p Open 'patch' dialog. You can view all changes, enable/disable each change, and copy that infos to the clip board (for creating chat codes). (Assembler function doesn't work properly with some opcodes, for now.)
MOVE
PageUp or Ctrl+b Page Up
PageDown or Ctrl+f Page Down
Up up
Down down
Ctrl+Up/Down Up/Down to prev/next function
Ctrl+PageUp,Down 1000h Up/Down
Alt+PageUp,Down 10000h Up/Down
g Jump to specified address in hexadecimal. When you hit left-shift key after typed all 8 hex charcters, it decodes the address as AR2 cheat code.
Ctrl+g Jump to the address where the selected symbol belongs to
Home Jump to start address
Shift+3 Set a 32bit word then find next.
F4 find the 32bit word you set. (forward)
Shift+F4 find the 32bit word you set. (backward)
ANALYZER RELATED
F3 Jump to next address where marked line reffers to
Shift+F3 Jump to previous address where marked line reffers to
Ctrl+i Import symbols (of function names) from other file
Ctrl+Shift+1 Import symbols (of function names) from folder which has PSX Libs(*.lib). This function doesn't support multi-thread so it looks as if it hungs up...

--------------------------------------------------------------------------------

hanimar@geocities.com
genial!!!

Está muy bien,solo que hay que hacer un par de cosas para poder detectar los dvdchecks (los conocidos),te lo pongo:

Para localizar el sceCdMmode hay que hacerlo a mano (o yo no se como hacer una busqueda de texto con este programa)

la instruccion a buscar va a ser de este estilo:
jal $00113d18 (+17065 sceCdMmode)
li a0, $00000002 (__00000002)

siendo el 00113d18 la direccion donde se encuentra el modulo de la llamada del sceCdMmode (esta direccion siempre variara)
y el li a0,.... es lo que hay que cambiar (el 2 por un 1),
el problema que veo (si es que es un problema,ojo) es que la busqueda se debe hacer a mano (linea a linea).

Pero es muy bueno.

MaboQuePasa,cojonudo!!!!

Ah y otra cosa (seguro que se me ha pasado pero es que no lo veo),esta llamada que yo he puesto corresponde al offset:00004278
pero segun este programa:
00103278 00103278 li a0, $00000002 (__00000002)
estas son las direcciones (ni offsets ni nada),o se modifica desde aqui o con el hws no hay forma.(pero esto seguro que es algo que se ma ha pasado,el que lo solucione que lo postee,ok?)

Buen trabajo!!!
aqui va una parte traducida que me aburro, a ver si os traducis un poquillo mas (que penco soy he hecho lo mas fácil). Bueno que va:

PRIMEROS PASOS-----------------I
_______________________________I


Seleccionando el tipo de letra (fuente)
---------------------------------------I
_______________________________________I

Ejecuta "ps2dis.exe", lo que primero
deberiamos hacer es seleccionar el tipo de letra que queramos (esta parte la veo un pego, pero la traduzco porque vienen indicada). Selecciona PREFERENCES, y dentro deeste menú, la opción FONTS y te sale una nueva ventana para que elijas el tipo de letra así como la fuente y demás. Pienso que "Courier New - regular" es una buena elección.


Buscar y analizar los archivos binarios de PS2
----------------------------------------------
______________________________________________

Simplemente arrastra el ejecutable de PS2 encima del programa para que lo cargue automaticamente, o también puedes seleccionar "FILE" y la opción "OPEN", y busca rel ejecutable y abrirlo. Puedes utilizar estas teclas para moverte:


UP/DOWN -------------->Moves up and down
PageUp,PageDown ------>Next/Prev page
Ctrl+PageUp,---------->Down 1000h Up/Down
Alt+PageUp,----------->Down 10000h Up/Down
g Jump to specified address
Ctrl+g --------------->Jump to specified label (if there are labels set).
Right arrow (USEFUL!)-> Jump to address which current line refers to.
Left arrow ----------->Return back to referrer.
Has podido ver donde se hace la conversion de las direcciones de hexadecimal internas del sles a offset reales para poder llamarlos desde el hws???

Y la busqueda de texto dentro del programa????

De todas formas es una beta,si le escribimos al autor indicando estas cosas a lo mejor se pone y las hace (o ya las está haciendo)
Eso era de lo que quería hablar contigo, yo no se mucho del ida ni eso, pero se que hay que buscar lo que has posteado antes. Ahora estoy en la univer, y no tengo a mano ningun archivo ejecutable de ps2. He estado mirando la página y y creo haber leido algo de que la version 2 los detecta automaticamente.

Lo que me preguntas es si se pueden cambiar los ejecutables directamente desde el programa este verdad?, pues no se pero esto a lo mejor dice algo no?

He leido esto

- With new version, PS2DIS detects many string literals automatically.
There must be some text resources in .data or .rodata section. If you find them, I sugest you label it with this easy way.

Cursor the top of string(s).
Then press Shift+b and label is set.
If there are more strings after this, continue pressing that key.

te dice algo? (la segunda parte se refiere a la beta que hay siponible, lo puedes probar en un salto?

Perdona que tarde en contestar pero es que me quitan internet cada 2 por 3.
Una vez visto el funcionamiento del desensamblador la manera de localizar los DVDChecks y despues parchear el ejecutable es: desensablar el fichero, pasarlo a texto, abrir el fichero de texto y buscar la cadena sceCdMmode y una vez localizadas todas las posibles ocurrencias, ya que no nos proporciona el offset en el ejecutable hay que abrir el ejecutable y localizar la cadena correspondiente a dos, tres o cuatro instrucciones que esten implicadas en el DVDCheck con el editor hexadecimal.

Es un poco laborioso y para los mas noveles en el tema les resultara algo costoso, pero es una buena (quizas la mejor) alternativa para los que no tengamos el Ida Pro con el soporte al procesador MIPS de la PS2.
Aclaracion para Fostiator:

No te confundas con la direccion que te da el desensamblador porque esta está calculada como si estuviera cargado el ejecutable en la memoria de la PS2, no es el offset en el ejecutable. Ni siquiera sigue un desplazamiento constante para todos los ficheros.
Originalmente enviado por XTOB


- With new version, PS2DIS detects many string literals automatically.
There must be some text resources in .data or .rodata section. If you find them, I sugest you label it with this easy way.

Cursor the top of string(s).
Then press Shift+b and label is set.
If there are more strings after this, continue pressing that key.

te dice algo? (la segunda parte se refiere a la beta que hay siponible, lo puedes probar en un salto?

Perdona que tarde en contestar pero es que me quitan internet cada 2 por 3.


Umm no es eso,lo que te dice (que es lo que he probado) es que una vez que detectas la linea de codigo que quieres buscar le puedes poner una especie de marcador para luego ir a ella de forma más rápida,pero no indica de que forma se pueden localizar esos literales(salvo manualmente).

No te preocupes,seguiré mirando.
Originalmente enviado por MaBoQuePasa
Aclaracion para Fostiator:

No te confundas con la direccion que te da el desensamblador porque esta está calculada como si estuviera cargado el ejecutable en la memoria de la PS2, no es el offset en el ejecutable. Ni siquiera sigue un desplazamiento constante para todos los ficheros.


Si,ya lo veo,bueno el proceso es laborioso pero el que algo quiere algo le cuesta ;)

Buen trabajo
quereis decir con estos comentarios que este programa podria ser la alternativa al ida pro advanced??
Si,lo es.

Tiene cosas que mejorar,pero es gratis!!!!!
He estado probando el programa con el sles del code veronica x y cuando el programa me ha abierto el fichero me salen dos pantallas la de arriba es como la del hex worshop y la de abajo supongo que sera el desemsamblador.
Por cierto ,¿sabeis la utilidad del ps1.map y del ps2.map que vienen con el zip?
He seguido probando y resulta que grabar un txt no te deja pero si un archivo con extension "pis",este archivo lo puedes abrir con el programa y cuando encuentres la famosa cadena si aprietas enter te sale una ventana que te permite cambiar el texto.
Supongo que luego el archivo "pis" lo podras abrir con el hex worshop y grabarlo con el nombre del ejecutable de la ps2.
En resumidas cuentas cuentas que es este programita nos ha sacado las castañas del fuego a mas de uno.
Originalmente enviado por code veronica
Por cierto ,¿sabeis la utilidad del ps1.map y del ps2.map que vienen con el zip?


Los archivos .map son como lo flirts del ida pro,traductores.Es decir,se encargan de buscar rutinas específicas (funciones) dentro del fichero que vas a desensamblar y luego se encargan de ponerle etiquetas para que sea más sencilla la busqueda.Por ejemplo,el famoso dvdcheck que todos conocemos es una llamada a la etiqueta sceCdMmode pero que no existe como tal en un sles,sino que,gracias a estos "traductores" lo podemos encontrar.

El ps1.map es el traductor de rutinas de psx
El ps2.map es el traductor de rutinas de ps2.

Salu2
Ya parece que va cogiendo forma esto, Venga que os parece si Nos empezamos a currar un tutorial, y lo colgamos pa que lo utilicen todos.

Digo yo, que según lo que ya hemos comentado, esto furula ¿no?. Esta misma tarde voy a empezar una prueba directa, grabando y todo, para ver si realmente puede que funcione, porque vamos, espectativas no me faltan :)
Bien mi suposicion de que el archivo pis lo podriamos lo podriamos renombrar utilizando el hex worshop olvidarlo,no funciona.
Y por ultimo esta tarde he estado mirando la sles del code veronica x saltando directamente al punto en donde esta el dvd check y nada,o bien no lo se utilizar o es una beta aun muy madura para que funcione.
wuenas, pues estoy liadillo con este pedazo de juego intentando hacerme una cop de seguridad,y veo uin archivo dummy de 256mb en data/ que creo que se podria eliminar. y me gustaria saber si elk fichero bgm.mgf cvontiene solo audio , yo creo que tiene ficheros de datos del juego, a ver si alguien lo puede confirmar.
saludos
Holas!

Queria preguntaros, si conoceis alguna alternativa al isobuster, para explorar los .bin y extraer el contenido de la imagen, tengo el programa isobuster, pero no lo puedo registrar, el crack keygen tiene todas los seriales inservibles, parece ser que el programa isobuster 1.0 ya detecta dichos seriales, en la red, solo esta ese keygen ke yo sepa ¿me podeis decir que programa puedo usar para hacer eso? si hay alguno mas facilillo freeware, mejor ke mejor.

Gracias
Holas!

¿Me podeis decir en ke post estan las instruccios para quitar los dvd's cheeks de los juegos? soy novato en esto.

¡Saludos!
Hola. soy nuevo en esto y este es mi primer mensaje en el foro
pero como podeis decir q este programa es mejor q el ida si ni siquiera sabeis como encontrar las Dvdchecks (o yo no entendi las explicaciones). Q es lo q tengo q buscar en este programa para encontrar las dvdchecks? q alguien me ayude please?
... [mamaaaaa] [mamaaaaa] [mamaaaaa]
No se si seran los correctos pero con el sles del dark cloud si q se ven los sceCdMmode.
x si sirve de algo lo q yo hice fue.
despues de abrir el programa carge el ps2.map, seguidamente carge el sles del dark cloud sles_102.95 y en el menu edit selecione jump to labeled y escrbi sceCdMmode (logico), el programa me encontro la cadena, aprete el espacio y seguidamente en el menu analizyer le di a jump to next reference y me fue buscando las siguientes scecdmmode, no se si sera lo correcto pero espero q sirva de algo, ah con el del exterminator tambien encuentra la susodicha cadena.
una curiosidad si vas abrir un sles q ya tienes abierto en el workshopedit o como se llame, el programa no es capaz de desamblar el sles comunicando q es un formato desconocido.

Una ultima pregunta.
Si las offset q te dan no son las del ejecutable sino las calculadas como si estuviera corriendo en ps2, como sabemos las offset q tenemos q cambiar?
es una pena ver estos hilos tan interesantes olvidados....
23 respuestas