Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LSL

#101
de nada ;)
#102
de forma manual, lee este manual: Desempaquetando un UPX para RE-Newbies por Shaddy

y de forma automatica, lo abres con el PE Explorer que tiene plugin para para algunos packers, entre ellos el UPX, y una vez abierto, guardas el nuevo archivo.

#103
no es el lugar del foro apropiado para este tipo de consultas, pero si te refieres al o-f-f-i-c-e visio, puede que lo encuentres en el San google, preguntando: taringa visio
#104
prueba con el Interactive Disassembler (IDA)
#105
como utilizas un archivo batch para arrancar el juego, dentro de ese .bat utiliza el comando SET de la consola de MSDOS para configurar las variables de entorno que necesites, así te aseguras que sean siempre las mismas en todos los PC.

CitarMicrosoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

>set /?
Muestra, establece o quita las variables de entorno de cmd.exe.

SET [variable=[cadena]]

  variable  Especifica el nombre de la variable de entorno.
  cadena    Especifica una serie de caracteres que se asignará a la variable.

Escriba SET sin parámetros para ver las variables de entorno actuales.

Si las extensiones de comando están habilitadas, SET cambia así:

"Cuando se llama al comando SET solamente con un nombre de variable, sin signo
de igual ni valor, se mostrarán los valores de todas las variables cuyos
prefijos coincidan con el nombre especificado como parámetro para el comando
SET. Por ejemplo:

    SET P

mostrará todas las variables que empiecen con la letra 'P'

El comando SET establecerá ERRORLEVEL en 1 si no se encuentra el nombre de la variable en
el entorno actual.

El comando SET no permitirá que un signo de igual sea parte de una variable.

Se han agregado dos modificadores nuevos al comando SET:

    SET /A expression
    SET /P variable=[promptString]

El modificador /A especifica que la cadena a la derecha del signo de igual
es una expresión numérica que es evaluada. El evaluador de expresiones es
bastante simple y es compatible con las siguientes operaciones, en orden de
precedencia decreciente:

    ()                  - agrupar
    ! ~ -               - operadores unarios
    * / %              - operadores aritméticos
    + -                 - operadores aritméticos
    << >>               - desplazamiento lógico
    &                   - bit a bit y
    ^                   - bit a bit exclusivo o
    |                   - bit a bit
    = *= /= %= += -=    - asignación
      &= ^= |= <<= >>=
    ,                   - separador de expresión

Si se utiliza cualquiera de los operadores lógicos o de módulo, será
necesario escribir la cadena entre comillas. Cualquier cadena de la expresión
que no sea numérica, se tratará como variable de entorno cuyo valor se
convertirá a tipo numérico antes de utilizarse. Si se especifica una variable
que no está definida en el entorno actual, se utilizará el valor cero. Esto permite hacer
operaciones aritméticas con los valores de variables de entorno evitando el escribir todos
estos signos % para obtener sus valores. Si se
ejecuta el comando SET /A desde la línea del comando fuera de la secuencia de
comandos, entonces se mostrará el valor final de la expresión. El operador
de asignación requiere un nombre de variable de entorno a la izquierda del operador de asi
gnación. Los valores numéricos son números decimales, a no ser
que lleven el prefijo 0x delante para los números hexadecimales, y 0 para los números octa
les. De esta manera 0x12 es lo mismo que 18, y lo mismo que 022.
Nota: la notación octal puede ser confusa: 08 y 09 no son números válidos
porque 8 y 9 no son dígitos octales válidos.


El modificador /P permite establecer el valor de una variable para una línea
de entrada escrita por el usuario. Muestra la cadena del símbolo del sistema
antes de leer la línea de entrada. La cadena del símbolo del sistema puede
estar vacía.

La sustitución de variables de entorno ha sido mejorada así:

    %PATH:str1=str2%

expandirá la variable de entorno PATH, sustituyendo cada repetición de
"str1" en el resultado expandido con "str2". "str2" puede ser la cadena
vacía para borrar efectivamente todas las repeticiones de "str1" de la
salida expandida. "str1" puede empezar con un asterisco, en cuyo caso,
coincidirá con lo contenido en la salida expandida desde su inicio, hasta
la primera aparición del fragmento de str1 que queda.

También puede especificar subcadenas para una expansión.

    %PATH:~10,5%

expandirá la variable de entorno PATH, y usará sólo los 5 caracteres
a partir del décimo primer carácter (desplazamiento 10) del resultado
expandido. Si la longitud no se especifica, se utilizará el resto del
valor de la variable. Si algún número (desplazamiento o longitud) es
negativo, entonces el número usado es la longitud del valor de la variable
de entorno añadido al desplazamiento o longitud especificados.

    %PATH:~-10%

extraerá los 10 caracteres de la variable PATH.

    %PATH:~0,-2%

extraerá todo menos los 2 últimos caracteres de la  variable PATH.

Finalmente, se ha añadido compatibilidad para la expansión de la variable
retardada.
Este soporte está siempre deshabilitado de forma predeterminada, pero puede
habilitarse o deshabilitarse a través del modificador de línea de comandos
/V a CMD.EXE.  Ver CMD /?

La expansión de la variable de entorno es útil para tratar con las
limitaciones de la expansión actual, las cuales ocurren cuando una línea de
texto es leída,  y no cuando se ejecuta.  El siguiente ejemplo demuestra el
problema con la expansión de la variable inmediata:

   set VAR=antes
   if "%VAR%" == "antes" (
       set VAR=después
       if "%VAR%" == "después" @echo Si esto se puede ver, entonces
                        significa que funcionó
   )

dado que %VAR% se sustituye al mismo tiempo en ambas instrucciones IF
cuando se lee la primera instrucción IF, pues incluye lógicamente al cuerpo
del IF, el cual es una instrucción compuesta. De esta manera, IF, dentro de
la instrucción compuesta está realmente comparando "antes" con "después" lo cuál
nunca será igual. De un modo parecido, el siguiente ejemplo no funcionará
como se espera:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

en esto NO generará una lista de archivos en el directorio actual, pero en
su lugar establecerá la variable LIST en el último archivo encontrado. De
nuevo, esto ocurre porque %LIST% es expandido sólo una vez cuando la
opción FOR es leída, y en ese momento la variable LIST variable está vacía.
Así el ciclo actual FOR que se está ejecutando es:

    for %i in (*) do set LIST= %i

el cual sólo mantiene el valor LIST hasta el último archivo encontrado.

La expansión de la variable de entorno retardada permite utilizar un
carácter diferente (el signo de exclamación para expandir variables en
tiempo de ejecución.  Si la expansión de la variable retardada está
habilitada, los ejemplos se pueden escribir de la siguiente manera para
que funcionen como es necesario:

    set VAR=antes
    if "%VAR%" == "antes" (
        set VAR=después
        if "!VAR!" == "después" @echo Si esto se puede ver, entonces
                       significa que funcionó
    )

    set LIST=
    for %i en (*) do set LIST=!LIST! %i
    echo %LIST%

Si las extensiones de comando están habilitadas, hay varias variables
dinámicas de entorno que pueden ser expandidas pero que no se
muestran en la lista de variables que muestra ESTABLECER. Estos valores de
variable se calculan dinámicamente cada vez que el valor de la
variable se expande.
Si el usuario define una variable explícitamente con uno de estos nombres,
entonces esa definición suplantará la variable dinámica abajo descrita:

%CD% - se expande a la cadena del directorio actual .

%DATE% - se expande a la fecha actual usando el mismo formato que el
    comando DATE.

%TIME% - se expande a la hora actual usando el mismo formato que el
    comando TIME.

%RANDOM% - se expande a un número decimal aleatorio entre 0 y 32767.

%ERRORLEVEL% - se expande al valor de NIVEL DE ERROR actual

%CMDEXTVERSION% - se expande al número actual de versión de las
    extensiones del comando del procesador.

%CMDCMDLINE% - se expande a la línea de comando original que invocó
    el Procesador de comandos.



#106
Cita de: Dracomega en  5 Junio 2010, 16:08 PMAhora lo unico que me quedaria, es hacer una variable de entorno con la ruta de "mis documentos" para detectar si hay una partida completada.

en "Mi PC", propiedades del sistema, Opciones avanzadas, "Variables de entorno", Variables de usuario, pulsar en Nueva, le das un "nombre" sin espacios blancos y le indicas el path ó el valor de la variable.

Luego para hacer referencia a ella en un archivo batch, escribes la variable entre los simbolos %,
ejemplo %juego%

#107
abre una ventana de simbolo de sistema (MSDOS), y con el comando SET, mira si te sale la carpeta de "\Mis Documentos\Data", en alguna configuración de variables de entorno.
#108
El OEP lo has encontrado bien, es el 401320, el problema que debes tener es a la hora de hacer el dump y el arreglo de la IAT, te pongo unas imagenes para que pruebes.






esperas hasta que te salgan las funciones importadas en la busqueda



Como le hemos dicho toda una sección de busqueda, encontrara muchas funciones importadas erroneas, pulsas en Show solo las invalidas, click derecho sobre ellas, y Borrarlas todas.

ya solo tienes las funciones importadas buenas, que salvas (Fix Dump) sobre el archivo previamente dumpeado.

Saludos.
#109
Ingeniería Inversa / Re: programita
3 Junio 2010, 09:25 AM
¿ matado los eventos TimerTimer, sigues cayendo en el inicio de dicha función en 0065F25C ?

Tambien te recuerdo que para evitar el mismo mensaje a través de la función "acSenderStartExcute", en la dirección 0065C33C tienes que cambiar la instrucción TEST AX,AX por la de XOR AX,AX, para eso cuando estes encima de dicha dirección, pulsas el espaciador y podras cambiar la instrucción en ensamblador, y si prefieres pulsas Control+E para editarlo en hexadecimal, cambias "66 85 C0" por "66 33 C0", luego tienes que salvar los cambios en el executable, para eso click derecho, linea menu "Copy to executable" la selección o todos los cambios, y despues click derecho en la nueva ventana y "save file".

#110
hola Amerikano

en el primer post te ha puesto otro de rapidshare

pero te pongo otro mas aqui http://www.mediafire.com/?d1zwzkmjmti  ;)