Limitacion en un programa

Iniciado por gil13, 6 Mayo 2010, 21:19 PM

0 Miembros y 1 Visitante están viendo este tema.

biribau

A ver, creo que está mal enfocado, sí, vale, el programa se cierra a los 90 minutos pero también tiene otra limitación, la de guardar. O sea que ahí no encontrarás nada salvo que no se te cierre a los 90 minutos.
La comprobación de si está registrado, se hace antes del SetTimer es donde tienes que mirar, es un poco la búsqueda hacia atrás del SetTimer, no haces nada siguiendo el hook del timer, salvo que no se te cierre.
Es como, para que lo entiendas, los CrackMes más sencillos que son un salto y un MessageBox, tú miras después del MessageBox o antes? después ya se está cerrando el programa... así que poco puedes hacer

gil13

Buenas !

Si, eso lo tenia claro que tiene que ser antes, yo creo que incluso antes de que se cargue la interfaz del programa busca si esta o no registrado (sale un pantalla de carga antes de iniciar la interfaz).

Luego cuando tenga un poco de timpo volvere a cargarlo y probare a ver que encuentro.

En realidad lo de que se te cierre a los 90 min tampoco es mucho problema, el verdadero problema es que no te deje guardar.

Gracias por vuestro tiempo y seguire contanto lo que miro !!

gil13

buenas de nuevo, he sacado 10 minutillos, comento:

He encontrado un CreateFile en ANSI y 11 en Unicode, la que me ha parecido mas interesante ha sido la de ANSI, esto me dice:


00A6BC56  |. 50             PUSH EAX                                                  ; /hTemplateFile => NULL
00A6BC57  |. 50             PUSH EAX                                                  ; |Attributes => 0
00A6BC58  |. 6A 03          PUSH 3                                                    ; |Mode = OPEN_EXISTING
00A6BC5A  |. 50             PUSH EAX                                                  ; |pSecurity => NULL
00A6BC5B  |. 6A 03          PUSH 3                                                    ; |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
00A6BC5D  |. 68 00000040    PUSH 40000000                                             ; |Access = GENERIC_WRITE
00A6BC62  |. 68 10B9BC00    PUSH Capture.00BCB910                                     ; |FileName = "CONOUT$"
00A6BC67  |. FF15 9CA3B500  CALL DWORD PTR DS:[<&KERNEL32.CreateFileA>]               ; \CreateFileA


He estado curioseando en GetStHandle, en SetStHandle, con GetFileSize, ReadFile etc

Ningun GetFileSize me da un tamaño directamente.

Alguna idea ? Yo sigo curioseando.


Gracias y un saludo !!

biribau

CONOUT$ creo que es la forma de referirse en windows a la salida estándar, o sea, CONsole OUTput
GetStdHandle es para cosas parecidas
Ninguna creo que pueda servir para verificar si existe un fichero de registro.

tena

Exactamente que hace al intentar Guardar? Te muestra un mensaje? no hace nada?
El boton de Guardar esta deshabilitado? Como es un Demo es posible que no este esa parte del codigo de guardar.

slds

gil13

Me he estado leyendo los msdn y sigo sin tener muichas cosas claras.

Lam opcion guardada viene desactivada (en gris) es la demo y la extended, lo unico que hace la clave es activar el menu guardar y descativar el limite de tiempo.

Luego sigo probando !!

Gracias y un saludo !

tena

Aha, entonces podrias tratar por ese lado.. Fijate con un editor de recurso el id del menu guardar, y luego lo buscas en olly... 

gil13

Probe ya y veia las capertas de lso bitmaps, cursores e iconos, y una carpeta que pone 24 con este codigo

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>


Hasta donde yo se esto regula con que privilegios se abrira el ejecutable, con el usuario que haya inciado sesion.

El uiAccess desconocia para que funcionaba asi que mire y sirve para indicar si al aplicacion tiene que estar en una ubicacion segura del sistema de windows

Un saludo !
P.D: Uso ResHack