|
184
|
Programación / Ingeniería Inversa / Re: Ayuda para modificar programa con olly dbg
|
en: 8 Enero 2021, 00:42 am
|
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.
|
|
|
185
|
Programación / Ingeniería Inversa / Re: Ayuda para modificar programa con olly dbg
|
en: 7 Enero 2021, 15:06 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.wavEl .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 
|
|
|
186
|
Programación / Ingeniería Inversa / Re: modificación de archivos .bin
|
en: 7 Enero 2021, 12:47 pm
|
Para editar archivos crudos o binarios se suele utilizar un Editor Hexadecimal, uno gratuito y bueno es HxD https://mh-nexus.de/downloads/HxDSetup.zip PERO normalmente estos así por así no dicen nada, uno tiene que conocer su estructura para saber interpretarlo. Por ejemplo si se tiene el siguiente Save de un juego: 00 FB 00 FC 00 FE 00 00 00 FF 00 FF 00 FF 00 FF 00 FD 00 FC 00 FA 00 FB 00 FD 00 FF 00 00 00 01 00 00 00 FE 00 FC 00 FB 00 FA 00 FD 00 FF 00 02 00 03 00 01 00 01 00 FE 00 FB 00 FB 00 FC 00 FE 00 00 00 01 00 02 00 01 00 FE 00 FF 00 FE 00 FD 00 FD 00 FE 00 FF 00 01 00 02 00 01 00 01 00 FFNo se distingue nada a simple vista, sin embargo si se tuviera la especificación que diga que: - Los dos primeros bytes son la vida - Los siguientes dos bytes son el ataque - Los siguientes dos bytes son la defensa - Los siguientes 4 bytes son el tiempo de juego Y así con cada uno de los bytes del archivo. Ahora, algunas veces hay gente que se pasa un buen tiempo interpretando y comprobando para que sirve cada byte y crea un programa para verlo y modificarlo de manera más humana. El formato podría llegar a ser muy complejo, incluso estar cifrado y ser completamente ilegible a no ser que se le apliquen ciertos procedimientos especiales, esto se hace para evitar que la gente los modifique y tenerlo protegido.
|
|
|
189
|
Sistemas Operativos / GNU/Linux / Re: Linux y su retorcido sentido del borrado de archivos
|
en: 6 Enero 2021, 01:20 am
|
Wow, yo ni siquiera tengo archivos de más de 25GB ni Discos de más de 1TB así que no puedo hacer la prueba XD.
Has probado vaciando la papelera? también puedes hacer búsqueda de archivos ordenados por nombre o peso para tratar de ver donde se "ha ido" ese archivo. En Windows con EveryThing es muy fácil, en Linux debe haber un similar
Al final me he acostumbrado a borrar cosas con Shift + Supr para que mis archivos se eliminen sin pasar por la papelera, tengo entendido que muchas Interfaces Gráficas de Linux la soportan también.
Por último podrías usar la consola con rm -rf o utilizar un aplicativo de terceros, yo soy usuario Windows así que mucho más no te podría decir.
|
|
|
190
|
Programación / Desarrollo Web / Re: llamar a función ajax al presionar tecla enter
|
en: 6 Enero 2021, 01:07 am
|
Hay dos opciones, una es poner el tipo de botón a submit que es el estándar para formularios y reacciona al Enter enviando el formulario, entonces tendrías que quitarle ese evento onclick y pasárselo al evento onsubmit del formulario, ya que cuando una da click en el botón de tipo submit de un formulario o presiona Enter estando dentro de él, automáticamente se ejecuta el evento onsubmit del formulario. Pero para evitar que el formulario "se envíe", se actualice la página y te vacíe los datos, hay que poner un preventDefault() al final de la función: <form onsubmit="myFunction()"> Enter name: <input type="text"> function myFunction() { console.log('Hello') event.preventDefault() }
La otra forma es añadir el evento onkeyup o onkeypress al formulario o body para verificar si se a presionado el Enter y mandar a hacer lo mismo que hacia el onclick del botón. Me parece que había otra forma pero no la recuerdo bien XD
|
|
|
|
|
|
|