16/9/11

Formas de conocer chicas

Está claro, lo vemos día tras día. El mundo de internet es para el porno. Lo sé, no he descubierto nada nuevo. Existen webs de anuncios, contactos, rasca y gana :P. Tenemos un poco de todo. Y alguno estará dudando, si esto era o fue, un blog de informática. Pues sí, y no deja de serlo. Al ataque.

Primero, tenemos a una chica vasca. Muy guapa ella. Decide, salir en TV, para explicar que su teléfono, era de una prostituta, y luchar, por sus 9€ (Joder con la crisis) para que le den otra línea. Yo, viendo a la muchacha, a pesar de que explica que tiene novio, soy un valiente. Pensé en llamar a la TV, y decirles que me parecia muy atractiva, que si les importaría darme su teléfono para conocerla y tal, pero realmente lo vi poco optimo. No creo que colaboren en este tipo de peticiones, a pesar de que suelo ser muy educado.

Ella y su momento: http://www.eitb.com/es/videos/detalle/736622/euskadi-directo-mi-numero-movil-era-prostituta/

Simplemente, visionando el vídeo, empiezan a dar enlaces, referencias, para que la noticia tenga un poco más de chicha. Por lo que empiezo a tirar de la manta, y simplemente buscar lo que me ofrecen en la noticia.


La primera en la frente. Click en el enlace, y sorpresa, ya han dado de baja el anuncio. Tenia la necesidad de descubrir el teléfono, para hacerle ver mi interes, y demostrarle que valgo más que su novio, a pesar de los kilometros que nos separan. Decido probar con la cache de google.



Como se puede comprobar, continua completamente visible, he tapado 2 dígitos, por que desconozco hasta que punto es legal o no. Y por que tampoco me interesa, continuar jodiendo la vida a la pobre chica. Sé que la gente de la TV, va a continuar mostrando información que a mi juicio se pasa de lo necesario para informar. Ahora, eso sólo es mi opinión.

PD: A los interesados en mi estado sentimental con la chica. Confesar que he preferido no molestarla, a pesar de saber que tras ver mi interes, no tendría duda alguna y se vendría conmigo, pero hoy, no tengo ganas de estropear la relación de nadie.

16/6/11

Tutorial. Hotel Mogul {Reversing / Cracking}

En vista de lo chungo que está el asunto, pondré lo típico que recomendará mi abogado en el futuro. Toda la información aquí referida, es para aprender, estoy en contra de la pirateria y el reggeton, etc... (El etc, significa, vease el texto tipico de cese de responsabilidad y esas cosas). Por si acaso, no adjunto crack. Aquí que cada perro se lama...

Siento, la calidad de las imagenes, si haceis click, se ven perfectamente. Insisto, lo siento.

Comienzo
Descripción Protección del juego basada en límite de tiempo. Sólo permite probarlo durante 30 minutos, después cobra 7€.
Descarga: http://am05.mirror.alawar.com/ HotelMogul Es_11484.exe
Una vez instalado el juego, nos encontramos que tiene 2 ejecutables. El primero llamado: HM, y el segundo HM.wrp. Ya comienza a oler raro. Si ejecutamos el primero aparece una NAG, indicando que queremos hacer, jugar 30 minutos o pagar. Y si ejecutamos el HM.wrp no hace nada. Parece que se cierra.
Peid nos indica:
HM.wrp = Nothing Found
HM = ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov [Overlay]
Como el que ofrece Resistencia (y es el único que hace algo), es el HM, será el que procese por el OllyDbg. Indicar que el otro fichero visto desde olly, tiene un RET, nada más empezar. Salta a Kernerl32.ExitThread y finaliza la aplicación.
Visto lo visto, uno ya empieza a pensar que uno actuará de Padre y llamara al hijo modificándole en memoria y posteriormente ejecutar. O bien, edita el ejecutable y lo deja operable de nuevo, monitorizando y posteriormente restaurando (con el peligro que esto podría acarrear), o por último que copie el fichero en “tmp”, por suponer algo, y de nuevo, modificar y ejecutar. ¿Resultado?
CreateProcess ¡! Como en cualquiera de los casos, me huele a una llamada a esta api, probaré a monitorizarla. Esto lo intuyes por viejo. Así que: BP CreateProcessA. No sin antes, proceder a quitar la protección de ASP. No lo incluiré en el tutorial por que ya existen muchos, si bien utilicé un programa; Por comodidad.
Probamos a ejecutar, pasamos todos los errores, y damos a probar el juego. ¡Tachan! ¡Falla! :D El juego arranca sin mayor problema (falla para nosotros, no el programa). Cambio de idea,
BP CreateProcessW. Y repetimos el proceso. Esta vez, sí, ha parado.
En EDI, vemos la ruta del programa, justo el ejecutable que no hacia nada… Y también lo apreciamos en los parámetros de llamada del proceso. Por lo que ejecutamos hasta el RET, y F8, para ver que podemos ver por la que creo será la zona caliente…
Contenido de EDI
Llamada y parametros
¡Importante el proceso lo ejecuta SUSPENDIDO!
Salimos en 1004CE45, si vamos traceando un poco, vemos abajo en la línea 1049F3E, un DebugActiveProcess, esto, ya me hace sospechar de que el aplicativo, funciona a modo Debugger. Attachea, modifica, y libera. Pero vamos a comprobarlo.
Pues no, hay un salto que nos lleva hasta 10049F8B, un poco más abajo vemos VirtualProtectEx, es decir va a modificar los permisos de la dirección: 0056E17, curiosamente el EP del proceso que falla, justo donde se encuentra el RET, y modifica 2 bytes. Modificará o al menos permitirá modificar el C3 90, que existe. Le otorga permisos de Ejecución / Lectura / Escritura.
Parametros de VirtualProtectEx
Traceando un poco más, nos lleva hasta un WriteProcessMemory, esta api, es la encargada de modificar los valores en MOMORIA del proceso. De nuevo la dirección a modificar es el EP del otro proceso. 2 bytes el tamaño. Si miramos que hay en el Buffer: E8 14.
Valores en buffer
Ya tengo claro que modificando en el otro ejecutable estos 2 valores, pasará a funcionar, pero para muestra siempre es mejor un botón.
La siguiente api que utiliza, no la conocía, FlushInstructionCache. Si la CPU no reconociese las modificaciones, ejecutaría lo que estaba anteriormente, con esto, indicando el EP y los valores modificados (2 bytes). Lo refresca. Y siempre ejecutará lo nuevo.
Por último en 1004A034 se utiliza ResumeThread, y ya tenemos nuestro juego funcionando. Para finalizar, si se parchea el EP de HM.wrp con los valores E8 14. Nos arrancará el juego siempre, sin necesidad de de utilizar el Loader.
Notas adicionales (Nada que ver con cracking).
Bueno, me he liado un poco al ver DebugActiveProcess, al final, no se utilizaba en la aplicación, esto me hace pensar que esta compañía, tiene una aplicación de botón gordo. Es decir, usa la misma para todos los juegos, y le mete una protección u otra de forma genérica. Si la primera falla, mete la segunda, y así sucesivamente.