Ayuda para modificar programa con olly dbg

Iniciado por Pedro122h, 7 Enero 2021, 08:55 AM

0 Miembros y 2 Visitantes están viendo este tema.

Pedro122h

Hola como están necesito ayuda para modificar un programa que se llama pssdown, que sirve para reducir el peso de archivos .pss, los cuáles son archivos con varias pistas de audio, y un archivo de video, similares a los .mkv, lo que hace el programa es reducir la calidad del vídeo y dejar una sola pista de audio, pero el programa sólo permite seleccionar hasta la 3 pista de audio, por lo que quiero modificarlo para que en lugar de que seleccione la pista de audio 3, seleccione la 4 pero no encuentro la función que selecciona la pista de audio, por favor necesito ayuda con esto.

Se que olly dbg es algo viejo pero es el que más entiendo y el programa que quiero modificar es de 2005
Aqui Una imagen del programa

Y un Link del programa
https://www.mediafire.com/file/b25s1ipno50w0rb/Kit-Diminuir_ISO.rar/file

EdePC

Por lo que veo ese cajetín es editable, ¿Haz probado en modificar su valor a mano?. No he encontrado ningún archivo .pss ni he podido crear uno para hacer pruebas XD, haber si te es posible subir uno pequeñito para probar.

Danielㅤ

Hola, y dónde aparece para seccionar la pista de audio 3?.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

EdePC

Cita de: [D]aniel en  7 Enero 2021, 14:11 PM
Hola, y dónde aparece para seccionar la pista de audio 3?.


Saludos

En el ComboBox Use stream, pero este es editable, no sé si se actualice solo dependiendo del archivo .pss dado o sea fijo, tampoco sé si directamente uno puede editarlo y que lo reciba sin problemas, habría que tener un archivo .pss

Tengo entendido que el contenido de un .pss es más o menos así:

60,692,441  19/06/01  16:11 FMV1.m2v
22,771,818  19/06/01  16:11 FMV1.wav
22,771,818  19/06/01  16:11 FMV1-Alt1.wav
22,771,818  19/06/01  16:11 FMV1-Alt2.wav
22,771,818  19/06/01  16:11 FMV1-Alt3.wav
22,771,818  19/06/01  16:11 FMV1-Alt4.wav


El .m2v debe ser el video MPEG2, luego están los .wav que son las pistas de audio, el primero (sin Altx) debe ser el Primary, luego ya vienen los Alt1 al Alt4, yo barajo la posibilidad de escribirle en ese ComboBox directamente Alt-4 y lo tome  :xD

Pedro122h

#4
Si claro olvidé dejar un link del archivo .pss
https://www.mediafire.com/file/urkt16krf0is94r/PART2-0-ATLASHAND.PSS/file
EDEpc: para seleccionar la pista de audio 3 es el que dice alt-3

Y la opción de Primary se selecciona cuando el archivo  .pss sólo tiene una pista de audio

Ya intente modificar un valor pero sólo se cambió de manera visual porque se sigue seleccionando la pista de audio 3

Si exacto quiero que el programa seleccione  el que dice alt4.wav

Me faltó decir que el programa trabaja en conjunto con pss plex , voy a cambiar el Link que deje por uno que tiene ambas herramientas

EdePC

Acabo abrir el programita en OllyDBG y veo que solo espera 4 valores y nada más (0, 1, 2 y 3):

0040704A  |.  53            PUSH EBX                                 ; /lParam
0040704B  |.  53            PUSH EBX                                 ; |wParam
0040704C  |.  68 47010000   PUSH 147                                 ; |Message = CB_GETCURSEL
00407051  |.  52            PUSH EDX                                 ; |hWnd
00407052  |.  FF15 E8F44300 CALL DWORD PTR DS:[<&USER32.SendMessageA>; \SendMessageA
00407058  |.  83F8 03       CMP EAX,3                                ;  Switch (cases 0..3)
0040705B  |.  0F87 85000000 JA PSSdown.004070E6
00407061  |.  FF2485 407540>JMP DWORD PTR DS:[EAX*4+407540]
00407068  |>  8B4424 14     MOV EAX,DWORD PTR SS:[ESP+14]            ;  Case 0 of switch 00407058
0040706C  |.  8D4C24 10     LEA ECX,DWORD PTR SS:[ESP+10]
00407070  |.  50            PUSH EAX
00407071  |.  68 C8E34400   PUSH PSSdown.0044E3C8                    ;  ASCII "%s-Alt1.WAV"
00407076  |.  51            PUSH ECX
00407077  |.  E8 94830200   CALL PSSdown.0042F410


Como mis conocimientos de Ingeniería Inversa son básicos no me veo capaz de agregarle/inyectarle código significante, sin embargo se puede ver que el programita en sí es una interfaz para otros dos programas, el PSS_Plex (Tool.exe) y el ReJig (Tool2.exe)

Estos otros dos programas los utiliza por medio de línea de comandos, pero también los puedes extraer y usar de manera gráfica, el PSS_Plex ya lo conoces y sirve para extraer y unir el video m2v y los audios wav del archivo pss, el ReJig sirve para recomprimir los videos m2v.

Entonces lo que hace el programita es usar primero PSS_Plex para extraer el video y los audios del pss, luego usa el ReJig para recomprimir el video, y al final vuelve a usar el PSS_Plex para volver a unir (Multiplexar) el video y el audio en un solo .pss

Si haces un Search for > All referenced text string puedes ver los nombres de los programas y su manera de utilizarlos por línea de comandos:

00406D8D   PUSH PSSdown.0044E460                     ASCII "Demuxing %s.pss"
00406DC5   PUSH PSSdown.0044E444                     ASCII "D /N "%s" "%s.M2V" "%s.WAV""
00406E11   MOV DWORD PTR SS:[ESP+7C],PSSdown.0044E2  ASCII "Tool.exe"

00406E6D   PUSH PSSdown.0044E42C                     ASCII "Downsampling %s.pss"
00406EA3   PUSH PSSdown.0044E400                     ASCII "-level %d -i "%s.M2V" -auto -close -quiet"
00406ED9   MOV DWORD PTR SS:[ESP+7C],PSSdown.0044E1  ASCII "Tool2.exe"

00407296   PUSH PSSdown.0044E398                     ASCII "Muxing: %s.pss"
004072DD   PUSH PSSdown.0044E36C                     ASCII "M /N /ADPCM /STREAM%d "%s.M2V" "%s" "%s" "
00407300   PUSH PSSdown.0044E350                     ASCII "M /N "%s.M2V" "%s" "%s" "
00407336   MOV DWORD PTR SS:[ESP+7C],PSSdown.0044E2  ASCII "Tool.exe"


Pues eso, se me ocurren dos opciones:

1. Puedes descomprimir el programita ya sea con 7zip (open archive > open as > #.e), o Resource Hacker (Bin > save *.bin resource), o poniendo un breakpoint en el Olly para que pare al momento de usar cualquiera de las String que he puesto arriba, o ejecutando el programita y revisar la carpeta temporal (%temp%) ahí se alojan los tres archivos (Tool.exe, Tool2.exe y PSS_Plex.dll). Luego puedes usar estos programas por la línea de comandos o por su interfaz gráfica.

2. Parchar el programita, ya que el famoso String Alt3 está ahí fijo y revisando el código veo que siempre lo maneja tal cual, pues puedes cambiarlo por un Alt-4, de esta manera lo va ha leer como Alt-4 para mostrarlo en el ComboBox y también para decirle a la Tool2.exe que use la pista de audio 4:

Cambiar:
0044E3B0  25 73 2D 41 6C 74 33 2E 57 41 56 00 25 73 2D 41  %s-Alt3.WAV.%s-A

Por:
0044E3B0  25 73 2D 41 6C 74 34 2E 57 41 56 00 25 73 2D 41  %s-Alt4.WAV.%s-A

Listo, solo guardas el ejecutable (click derecho > copy to file) y según he probado ya me saca el PSS con el audio 4 en español, aunque lo guarda como Alt-3

- Si vas a usar un editor hexadecimal, el byte a cambiar es el 53C00.

Pedro122h

muchas gracias, lo logre hacer, lo raro es que esa sección es la que habia modificado con el editor hexadecimal que tiene olly dbg integrado pero no funciono, ahora lo hice con hxd y funciono a la perfeccion en cuanto al numero de stream solo modifique esta linea:
MOV DWORD PTR SS:[ESP+2C],3
cambiando el 3 por un 4 y ya se puso como era

¿como pongo este tema como resuelto?

apuromafo CLS

 ;-) ;-)

ya está solucionado, felicidades :)

Saludos Apuromafo