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ú

Temas - .:UND3R:.

#271
[Tutorial]Crack Tinkipinki v4.0 

Analizamos el crackme con RDG packer detector, y nos aparece lo siguiente:


por lo que para desempaquetarlo utilizaremos UPX:
http://upx.sourceforge.net/#downloadupx

una vez descargado y descomprimido en el escritorio, debemos abrir la consola CMD y dirigirnos hasta la ruta con el comando cd

EJ: C:\User\und3r

luego cd Desktop

C:\User\und3r\Desktop

cd upx307w

una vez localizado en la dirección de UPX desde cmd, anotaremos lo siguiente:


en donde upx.exe es el programa a ejecutar
-d comando de upx.exe que descomprime
Tinkipinki4.exe es el ejecutable a descomprimir, en este caso está en la misma carpeta que el UPX si no lo estubiera, se debería colocar la ruta completa
EJ: C:\User\Und3r\Desktop\Tinkipinki4.exe

Presionamos ENTER, si todo sale bien, nos debería salir lo siguiente


Una vez descomprimido lo iniciamos desde OllyDBG y le damos RUN, nos aparecerá los Siguiente:


Notaremos el siguiente mensaje, busquemos serial en la memoria M (botón de OllyDBG), hacemos click derecho y seleccionamos Search (Control+B)


Se detiene aquí y notaremos una comprobación con el caracter: TSK3R2


Probemos con ese serial:

#272
Post dañado
#273
Ingeniería Inversa / Debuggear programa .NET?
22 Agosto 2011, 00:36 AM
Hola a todos tengo esa duda ahora me topé con un programa .NET, este al debuggearlo en el OllyDBG,No hay EP tengo entendido que Olly no Debuggea .NET, bueno si es así que debugger se debe utilizar?,es muy distinto a Olly?, que por referencia sea el mejor en .NET

Gracias y saludos
#274
CrackMe1 de Karcrack
Autor: Karcrack
Nombre: #1 Crackme
Fecha: 27 de diciembre de 2008
Tamaño: 24,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:Encontrar una clave valida
Dificultad: 2/3 (1-10)
Descarga del crackme:http://karcrack.funpic.de/1CrackMe.rar
Autor de Tutorial:UND3R

Noté que no había ningún tutorial, por eso decidí realizar uno
Descarga del tutorial en .doc: http://www.mediafire.com/?00a114mb1eagtti

-Colocamos el crackme en el la ruta:
CitarC:/
-Cargamos el crackme con OllyDBG y buscamos referencias de texto:


encontramos algunas interesantes, parecen PATH, comprobemos


Las PATH son variables de rutas o datos que posee windows como por ejemplo
Citarwindir=Carpeta del sistema operativo
programfiles=Carpeta archivo de programa

Para ver las path de nuestro sistema operativo, nos vamos a Inicio->Ejecutar->CMD una vez cargada la consola de windows tecleamos el comandoSET y luego enter:



Si buscamos un poco podremos corroborar con set que son path:


Por lo que nos dirigimos a la string con doble click


y colocamos un BP en ella:


Si traceamos un poco llegaremos hasta 0040274C, si lo pasamos
EAX retornará el valor de HOMEDRIVE


Sigamoslo en el dump


Pasando:
0040275E   .  FFD7          CALL EDI
EAX=retornará el valor de HOMEPATH





Veamos el valor en el dump:


Si seguimos traceando llegaremos hasta esta API:


en donde concatenará (juntará) el valor del HOMEDRIVE con el HOMEPATH en EAX


Veamoslo en el dump:


Si seguimos traceando mucho más abajo llegaremos a la siguiente API que se encarga de Pasar a Mayúsculas las string's:

en este caso la concatenación





una vez ejecutada la API, podremos ver en el DUMP el HOMDRIVE+HOMEPATH en mayúsculas


Sigamos traceando aquí vemos la llamda de una API muy importante:


InStr (Función, Visual Basic)

Devuelve un entero que especifica la posición inicial de la primera aparición de una cadena dentro de otra.

Parámetros

CitarStart
Opcional. Expresión numérica que establece la posición inicial para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. El índice de inicio está basado en 1.

String1
Requerido. Expresión String en la que se busca.

String2
Requerido. Expresión String que se busca.

Compare
Opcional. Especifica el tipo de comparación entre cadenas. Si se omite Compare, el valor Option Compare determinará el tipo de comparación.

fuente msdn.microsoft.com




En este caso retornó 0 EAX



Luego toma valor obtenido en EAX y lo mueve a ESI:


Luego testea ESI, a través de la tabla AND:
1 AND 1= 1
1 AND 0= 0
0 AND 1= 0
0 AND 0= 0

Por lo que al ser TEST SI,SI existen una posibilidad que de 0 y es si SI=0

1 AND 1= 1
0 AND 0= 0


Si le damos F9 la primera condición no se dará debido a que cuando se llamó la API EAX=retorno 0

por lo que si ponemos el crackme en la ruta:
CitarC:\Users\Victor\
de ahí en adelante, cuando se pasa por la API InStr esta devolverá lo siguiente:


Ahora al momento de dar RUN la primera condición se cumple, ahora vamos por la otra


Si buscamos referencias, encontraremos otro PATH




vallamos hacia el y pongámosle un BP



Coloquemos un número en el serial:


Se dentendrá en USERNAME:


Si seguimos traceando llegaremos hasta la siguiente API:


en la que retornará el valor de USERNAME:


vayamos al dump:




Si seguimos traceando notaremos que compara la cantidad de caracter que se colocaron al serial con 6, cantidad de caracteres de mi USERNAME, algo sospechoso si este es mayor automáticamente la condición dos no se cumple


Si seguimos traceando llegaremos aquí:


Luego de pasar por esta API toma la primera letra de mi username V que en hexadecimal es 56 y le suma 1 transformándolo en F7 es decir en W



Pongamos un BP en tal API y demos RUN


Notaremos que vuelve a detenerse ahí y continúa haciendo lo mismo con los otros caracteres de mi USERNAME:


Probemos colocar mi USERNAME sumandole uno a cada string como mi serial:


Notaremos que lo hemos logrado, por lo que por conclusión:

1-Condición se debe tener el crackme dentro de C:\Users\Victor\ Puede ser cualquier subcarpeta, pero debe tener como base tal ruta

2-el serial correcto es el USERNAME (Nombre de nuestra cuenta) y sumarle 1 a cada string
#275
Eso  :), Saludos
#276
crackeando DeepView Publisher 3.0

Tamaño: 2.97 MB
Version: 3.0
Página de descarga: www.deepvision.se/download.htm
Dificultad: 2 (1-10)

-Abrimos el programa sin debuggear:



Notamos que lo primero que nos muestra un mensaje de alerta diciendo que el archivo de licencia no ha sido encontrado



Luego nos aparece el programa en si, por lo que deducimos que la comprobación se genera antes de cargar la aplicación


-Cargamos el programa desde ollydbg:



luego buscamos referencias de texto:


Nos aparecerá lo siguiente:


Si subimos hasta el inicio:


Notaremos string importantes como el que aparece al iniciar el programa "Lincense file...
hacemos doble click en la string (401C5A)

En el disambler nos aparecerá lo siguiente:


Si seguimos más arriba notaremos el salto que envía la alerta


Pongamos un BP en el salto


Presionamos F9 (Run) y se detendrá en el BP:


Por lo que para evitar que no salte, cambiamos el OP code JNZ por JMP


Si seguimos traceando (F7), notaremos otro salto:


Si seguimos el salto (click derecho-Follow o Enter),Notaremos que empieza a pushear la string DVPubNoC 2.x en donde NoC significa:
Not Comercial


Por lo que ese salto no nos sirve, nopiemoslo (llenar con NOP)


Luego de Nopear si seguimos traceando llegaremos a otro salto:


Si seguimos el salto (Click derecho-Follow o Enter)
Notaremos que se llama a la string "License: Pro"
Por lo que nos hace saber que este salto nos lleva a la validación de la licencia:


Remplacemos el salto JG SHORT por JMP SHORT:



Si seguimos traceando llegaremos hasta 00401D09:


Notaremos que más abajo se pushea la string Expires, lo que quiere decir que la Licencia pro, Tiene fecha de caducación por lo que se deberá tener cuidado al momento en que sea llamada, ya que lo más probable es que esté la fecha por defecto (fecha más mínima posible), si miramos el valor de EDX notaremos string en formato de fecha:



Por lo que haremos un injerto encargado de modificar la fecha, vallamos al último OP Code del desemblador, y busquemos un espacio en mi caso probaré el address 56AF25:



Una vez elegida la ubicación en donde se realizará el injerto, comprobaremos si esta ubicación existe en el ejecutable o es creada en tiempo de ejecución
(API VirtualAlloc)

Para verificarlo nos vamos a:


Notaremos que existe, por lo que se podrá injertar sin problema alguno:



Estando en la ubicación:
00401D09 realizaremos un salto a nuestro espacio para injertar (56AF25)



*Una vez creado el salto al injerto notaremos que se pierden OP codes por lo que tendremos que colocarlos en nuestro injerto para evitar que el programa genere errores

Llegamos a nuestro injerto:



Notaremos que en la pila también está el valor que tiene EDX


El injerto completo quedará así:


Explicación del injerto:

CitarPUSHAD
Guardará los valores del registro para evitar errores en el programa

MOV EBX,EDX
Mueve EDX (Puntero a la fecha) a EBX

MOV EDX,DWORD PTR DS:[EDX]
Mueve la fecha a EDX

INC DL
Incrementa en 1 el último valor de EDX (31) (El registro guarda los valores al revés)

MOV DWORD PTR DS:[EBX],EDX
mueve la fecha modificada dentro de EBX

POPAD
Restaura los valores anteriores de registro

MOV ESI,EAX
Valores que borró el jmp al injerto

LEA EDX,DWORD PTR SS,[ESP+5C]
Valores que borró el jmp al injerto

JMP 00401D0F

Retoma al programa Normalmente

Una vez realizada todas estas modificaciones guardamos los cambios, si iniciamos DeepView Modificado nos aparecerá lo siguiente:



Notaremos que poseemos la Licencia PRO y nuestra fecha de espiración es la mismo que modificamos nostros

ADJUNTO:
DeepView Publisher 3.0 Crackeado:
http://www.mediafire.com/?934wy3b4pea6lq6
#277
Ingeniería Inversa / duda: Debug string
18 Agosto 2011, 06:50 AM
Hola a todos, bueno tengo un problema y es que cuando intento debuggear un programa cada vez que escribo una letra me aparece, debug string abajo de ollydbg y me aparece un MessageBox en blanco, tengo entendido que con ollyadvance evita que se sobre colapse olly pero si me está enviando una alerta cada vez es casi lo mismo

Saludos xD
#278
Activación por internet-Soccer Team
página:www.soccer-trainer.es
Descarga:http://www.mediafire.com/?sjncwg12u933xyr
versión:3.03
objetivo:activar el programa
autor:Und3r

Imagen de carátula:


Herramientas:
-Ollydbg
-RDG Packer detector
-Firewall

Citar*Se necesita por obligación un firewall en que notifique cada vez que un programa intente tener acceso a internet

-Debemos tener configurado nuestro firewall para que nos notifique en cada momento, en este tutorial usaré keiro firewall (algo antiguo) compatible con windows xp
(con windows 7 no arranca)

-Realizamos un análisis con RDG Packer detector y nos aparece lo siguiente:



Solo comenta que se hace referencia al CD-ROM (esto se debe a que en una alerta del programa aparece tal string pero esta no afecta en nada. Por lo que en resumen está limpio

-cargamos el programa desde ollydbg


-Damos F9 o Run y nos aparece la alerta del firewall


-si notamos la ventana que crea el programa:


notaremos que ya ha notificado que no se puede conectar ha Internet, por lo que no se alcanza poner "Permitir" en el firewall ya que no da tiempo

-Modificamos nuestro firewall's para que permita el acceso a Internet automáticamente a Soccer Trainer



y nos quedará:



por lo que si reiniciamos ollydebugger (Control+F2) si le damos RUN ahora nos aparecerá lo siguiente:



-Ahora volveremos a modificar nuestro firewall para que nos notifique como al comienzo para ver si esta ves el programa nos da tiempo para hacer algo:



-Probamos con un correo cualquiera:



notaremos que el programa intenta nuevamente conectarse a Internet:



sin elegir una opción del firewall nos dirigimos al ollydbg y presionamos F12 o Pause

nos aparecerá el siguiente mensaje por parte de ollydbg que si le damos a SI nos volverá a aparecer en los siguientes 5 segundos y si presionamos NO ollydbg dejará de debuggear el proceso:



esto en resumen nos trata de decir que el programa no está  respondiendo,
pero esto se debe a que el que está interviniendo es el firewall ya que no hemos tomado ninguna opción este mantiene detenido al programa

por eso ahora SI presionamos permitir a todas las alertas que nos muestre el firewall:



-una vez permitidas todas las conexiones nos dirigimos al stack o pila:



notaremos que retornará a una dll (Winsock, encargada de realizar la conexión)
pero nosotros debemos encontrar el momento en donde retorna al programa ya con información obtenida es decir si el email es válido o no

si bajamos notaremos más retornos pero ninguno al programa:


*hay un solo retorno, pero este no es llamativo ya que debajo de el no se han pusheado nada interesante

pero si seguimos bajando notaremos lo siguiente:



-dirijámonos en del disambler (Control+G):



-pongamos un BP en el:



-si seguimos traseando veremos un salto que en un op codes más nos lleva a un call





-si lo ejecutamos nos aparecerá lo siguiente:



cerrándonos el programa sin ningún aviso:


-Realicemos los pasos de nuevo esta ves dejando el firewall habilitado debido a que ya tenemos el punto de retorno con un bp:



-le damos F9 y para en el BP, seguimos hasta el salto y luego lo nopeamos guardamos los cambios
(de aquí en adelante ya tenemos registrado el programa):



-seguimos traceando y notamos que está pushando datos a la pila y luego nos detenemos en un call:



si miramos la pila notaremos lo siguiente:



notaremos que está guardando algo en el registro, lo más probable es que sea el código de activación

-si ahora le damos F9 o Run veremos que nuestro programa corre sin limitaciones:






-Comprobemos si agrego la ruta que vimos cuando traceabamos,vamos a la ruta que agregó el programa:



-efectivamente está creada, si la borramos:



cerramos el programa y lo iniciamos nuevamente notaremos que no está registrado:



por lo que para que esté registrado, se debe crear de nuevo el registro que acabamos de borrar: para eso creamos un documento de texto y agregamos lo siguiente:



guardamos los cambios y renombramos el documento por .reg

.txt a .reg,ahora si lo abrimos con privilegios de administrador si todo ha salido bien nos mostrará lo siguiente:



una ves esto el programa está nuevamente registrado
por lo que hemos encontrado la forma de registro

en resumen tenemos dos formas:

1)agregando el .reg al regedit:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\System]
"Elctca"="iufdsdfi"


2)ejecutando el parche soccer trainer modificado (salto nopeado)



Descargar parche:
http://www.mediafire.com/?bddmxc7s512753z
#279
Intentando desempacar un programa al intentar lanzarlo me aparece un mensaje de alerta algo como file size is too small, viendo los log me aparece esto:
  Import Lookup Table outside .idata


Saludos
#280
pues así es, mi duda es como hago para que aparezca siempre, pues tengo entendido que solo desaparece cuando ya se ha analizado por ende pongo remove analize y vuelvo a analizar pero en este caso tampoco está remove analize

Saludos
#282
Tinkipinki v1.0,v2.0,v3.0

Dificultad:1 (1 de 10)
Video tutorial por Tinkipinki:
Descargar Video
CitarTutorial creado a petición de Tinkipinki

V1.0
al abrirlo nos muestra lo siguiente:


-le damos F9 y nos aparece:


-Si introducimos un serial falso nos muestra:


Presionamos la letra M y presionamos click derecho search o Control+B

buscamos la string del mensaje que nos muestra:



-se detiene aquí:


-si subimos un poco nos aparecerá lo siguiente:


Podremos observar que hay dos MessageBox y un else entre medio y además que hay una comparación (=)

=444 MSG1(correcto) else MSG2(incorrecto)



por lo que 444 es el serial correcto






v2.0
Realizamos los mismos pasos y vemos:



Si introducimos lo que está sombreado nos mostrará:





v3.0


Si realizamos los mismos pasos nos mostrará lo siguiente:


notamos que hace una comparación con F
Citarif [0D] =F Bueno else Malo
0D=variable


Aquí el 6to valor debe ser F
#283
Hola, saben tengo problemas con buscar las referencias Ctrl+R cuando lo hago no me aparece nada, en toda la IAT aunque esté empaquetado en UPX nada de nada, estoy seguro que debe ser alguna configuración que generó ese problema ya que antes me funcionaba, si alguien sabe se lo agradeceré saludos :D
#284
Crackeando DrDepth
Programa:DrDepth V4.0.10
Instalador:drd4p0p10_PCsetup.exe
Página:http://www.drdepth.se
Objetivo:Parchear
Autor:UND3R

-Conociendo el programa:
Una vez instalado, lo primero que se debe hacer, es saber con qué tipo de programa se está trabajando(Crackeando),es decir el lenguaje en cual está programado y si está empaquetado, para eso utilizamos: RDG Packer detector,tras realizar el análisis, este nos muestra lo siguiente:


(*Recordamos que RDG Packer tiene dos tipos de detecciones una es por código y otra por análisis heurístico)



Luego de haberlo analizado iniciamos DrDepth desde Ollydbg y lo primero que nos mostrará será lo siguiente:



Por curiosidad intentaremos colocar un BP en la API:
CitarGetDlgItemTextA

Aclaramos que esta API se encarga de almacenar aquellos caracteres que han sido introducidos en un control o cuadro de diálogo

Introducimos un serial falso:


Y si presionamos aceptar,el debugger no se detiene en la API y nos muestra el siguiente mensaje:


Por lo que al aparecer el mensaje se podría utilizar la API:
CitarMessageBoxA

Reiniciemos y coloquemos un BP en dicha API:


al dar aceptar si vemos la PILA o STACK desde Olly,Notaremos hacia donde retornará (address) una vez lanzada esta, en este caso 0053CCB1 como lo muestra la imagen:



Nos dirigimos hacia ella presionando Control+G y colocamos la dirección de retorno de la API:


Nos aparecerá:


Si seguimos subiendo llegamos hasta el inicio en intentaremos colocar un bp ahí,reiniciamos y colocamos un BP para saber si en esa zona se puede observar que el programa ya realizó la comprobación:


al detenerse, si observamos a EAX, notaremos que el programa ya ha comprobado nuestro serial falso:


Si miramos la Pila:

Notaremos por así decirlo algo interesante y es que nos muestra el punto de retorno de la call anterior(última call) antes de que se detuviera, por lo que dirijámonos hacia ella, una vez que ya lo hemos hecho, subiremos hasta el final,anotemos el inicio, reiniciamos y colocamos un bp (53D0E4)



y al darle RUN(F9) si nos fijamos en EAX, notaremos que el programa de nuevo ya ha comprobado nuestro serial falso, por lo que nos volveremos a fijar en nuestra PILA:

00452963

la retorno nos lleva:


si nos fijamos vemos una string llamativa, un poco familiar en todo este tutorial:



Pero si seguimos subiendo, notaremos lo siguiente:


y un salto muy Interesante:


reiniciemos y NOPIEMOS (NOP)



si guardamos los cambios y si le damos RUN nos mostrará lo siguiente:


--------------------------------------------------------
#285
crackme.de está offline si alguien me lo puediera pasar, Gracias
#286
Hola a todos, bueno les comento utilizando CFF Explorer este me muestra la estructura de un .net pero me gustaría entenderla más detallada los datos que me muestra como:

cb
MajorRuntimeVersion
MinorRuntimeVersion
MetaData Rva
MetaData size
....
.
.
.
etc

Si alguien conociera alguna documentación, se los agradecería

Muchas gracias, Saludos
#287
Hola a todos, bueno estudiando algunos unpackme's me he topado con este que no he  podido solucionarlo incluso siguiendo al pie de la letra un tutorial e incluso un videotutorial (ambos son muy pequeños y facil de entender)

pero cuando lo termino al abrir el ejecutable (crackme del tutorial), me aparece un error:

CitarLa aplicación no se pudo iniciar correctamente (0xc000007b)

y si intento abrirlo con ollydbg me aparece el mismo error, sospecho del PE header

les dejo el tutorial,video tutorial junto con el unpackme que aparece en el muy pequeño para que me digan si han podido solucionarlo:

Peso:2.51 MB

para acceder al videotutorial hay que hacer click en la página que está dentro del .rar (esta se encarga de lanzar el video .swf junto con un reproductor)

http://www.megaupload.com/?d=FB0K5Q15



#288
Ingeniería Inversa / Duda con GetProcAddress
8 Agosto 2011, 03:57 AM
Hola, tengo una pequeña duda con esta api, les cuento:

necesito que ecx me devuelva la dirección de la API ntdll.KiFastSystemCallRet

por lo que se me ocurrió saberlo con GetProcAddress, los parámetros son:

FARPROC GetProcAddress(

   HMODULE hModule,   // handle to DLL module  
   LPCSTR lpProcName    // name of function

PUSH KiFastSystemCallRet
PUSH Manejador de ntdll
Call GetProcAddress

pero el manejador tengo entendido que se obtiene con GetModuleHandle:

HMODULE GetModuleHandle(

   LPCTSTR lpModuleName    // address of module name to return handle for  
  );

pero mi duda es que pongo cuando llame a esa API?, no me quedó claro

PD:no sé ASM

Saludos jeje

edit: en palabras fáciles como obtengo el adress de ntdll.KiFastSystemCallRet desde el olly

Saludos
#289
así es decir tengo c:/archivosdeprograma/asd/dfg.exe

cuando ejecuto dfg.exe con que api este puede saber la ruta desde donde se ha iniciado?

Saludos
#290
Hola, saben tengo el siguiente problema cuando activo esta opción, funciona sin ningún problema cuando ollydbg se lanza sin permisos de administrador, a diferencia que si lo dejo activado como administrador cuando se genera algún error en un programa cuando pongo duperar, no se abre ollydb

a alguien le ha pasado?

Saludos
#291
Ingeniería Inversa / Qué es CFF Explorer?
5 Agosto 2011, 21:36 PM
Es un editor PE?
Por qué este me muestra más información que el LordPe?
es mejor?

Saludos
#292
Ingeniería Inversa / Duda con Op code SHL
4 Agosto 2011, 20:00 PM
Hola, les comento tengo esa duda

exactamente:

CitarSHL EAX,4

En donde EAX=55 y al pasar por ese OP code queda en 550
#293
Ingeniería Inversa / [Tutorial] skrackme1
4 Agosto 2011, 08:53 AM
Tutorial skrackme1

Autor: skapunky
Nombre: Skrackme 1
Fecha: 18 de septiembre de 2007
Tamaño: 32,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:
    1- Eliminar una nag
    2- Activar un botón
    3- Encontrar un ID/pass válidos

Descargar Crackme: http://karmany.fortunecity.com/img/skrackme1.zip
Descargar tutorial en formato .doc: http://www.mediafire.com/?32k452law9attcp

Citar*Revisando el Thread crackmes y tutoriales, noté que este crackme no tenía tutorial, por eso me animé a realizarlo, aunque mientras lo realizaba me topé con que un usuario si lo había realizado, pero el enlace estaba muerto
el usuario es: Gevaudan
http://foro.elhacker.net/ingenieria_inversa/crackmes_tutoriales-t180720.0.html

1- Eliminando la nag

Para eliminar la nag utilizaremos el método denominado 4C este método consiste en que desde ollydb podamos alterar el orden de los form a iniciar de visual basic, para ello debemos ubicarnos en el OEP e ir a la dirección que apunta el PUSH en el dump:





Una vez ahí debemos sumarle 4C tal como lo indica la siguiente imagen:



luego de sumarle 4C obtendremos 4018E8, luego nos dirigimos a esa adress:



luego de esto nos dirigimos a la dirección que apunta el adress en el dump:



Una vez ahí si al adress le sumamos 24 obtendremos el primer form al igual que el siguiente de la forma numérica 0,1,2,3,4,5,6:





en donde 0 es el primer form que muestra el crackme, es decir el NAG y a continuación muestra el crackme, por lo que si alteramos el orden podría desaparecer el NAG, hagamos la prueba:



una vez modificado nos debería quedar así:



Guardamos los cambios y probamos a ver si nos ha funcionado:



Ya NO nos aparece el NAG



2- Activar el botón

Para activar el botón utilizaremos numega smartcheck ya que este se encargará de mostrarnos la dirección del botón junto con sus atributos, en este caso nos debería aparecer que el botón está desactivado, iniciamos numega smartcheck seleccionamos skrackme1 le damos a iniciar (botón play)

Notamos que dentro de Form1 se encuentra un botón llamado Command1 con atributo Enable=False si le hacemos click, en la derecha,podremos ver en donde se encuentra:



37C0 y si le sumamos la Base Address (400000) nos dará: 4037C0

Iniciamos con ollydbg scrackme1 modificado para saltar el NAG y nos dirigimos a
4037C0:





si nos dirigimos un poco más arriba por defecto debería tener un PUSH 0 al inicio que indicaría que el botón está deshabilitado, en caso contrario nos aparecería PUSH 1, en este caso nos debería aparecer PUSH 0, pero no nos aparece, por lo que lo más probable es que se haya hecho alguna modificación, pero siguiendo la estructura mencionada anteriormente debería haber aquí algún valor que es "pusheado" junto con un 0, probemos poniendo un BP en PUSH EDI:



Reiniciamos, si se ha borrado el BP se debe colocar de nuevo

Le damos RUN y al detenerse notamos que se detiene en nuestro BP, si miramos nuestro alrededor, especialmente el valor de EDI notaremos que es 0:



Que ocurrirá si lo incrementamos EDI (lo dejamos en 1) valor que equivalente a enable=true



Luego le damos RUN y veamos que ocurre:



Nuestro Botón está activado

Bueno pero ahora hagamos esta modificación permanente, nos dirigimos nuevamente en el PUSH EDI y miramos nuestro alrededor:



Si miramos EBX notaremos que tiene el valor 1



Por lo que deberemos Modificar PUSH EDI por PUSH EBX:



Con esto ya podremos guardar los cambios permanentes

3- Encontrar un ID/pass válidos

Abrimos nuestro skrackme alterado para no mostrar el NAG y con el boton habilitado, luego buscamos que API utiliza:





Esta API es muy interesante, esta se encarga de comparar dos variables

Por lo que pongámosle un BP:



de todas formas busquemos la referencias de texto:



Si buscamos un poco notaremos algunas referencias importantes:



Si nos dirigimos al address en donde se encuentra, má arriba encontraremos un salto llamativo:



Pongamos un BP en ese salto

Le damos RUN y nos carga skrackme1 sin ningún problema ahora introducimos datos falsos, en mi caso:

CitarUND3R
989898

luego de introducir los datos falsos presionamos el botón con el candado y se nos detiene en la API __vbaStrCmp y si vemos en la pila:



Algo curioso mi serial falso y otro serial, podría ser el correcto, si damos RUN nuevamente se nos detendrá en el bp del salto



Si invertimos el salto:



Nos quedará:



y si damos RUN nuevamente nos aparecerá lo siguiente:



Por lo que ya hemos obtenido el Serial correcto y además hemos localizado el salto que se debe invertir para que el serial introducido sea siempre el correcto
#294
Hola a todos, bueno les comento primero que todo no me ha gustado para nada este tutorial ya que tan solo realiza y no explica por eso me surgen dudas ya que no quiero saber el serial (método que explica COCO) si no al contrario, Como se puede saber el serial, mi duda empieza aquí:


CitarLA PALABRA MAGICA:

Visual Basic 5.0

CALL [EAX+000000A0]
CALL [EDX+000000A0]
CALL [ECX+000000A4]

Visual Basic 6.0

CALL [EAX+000000A0]
CALL [ECX+000000A0]

Bueno entiendo que se debe iniciar el crackme desde ollydbg luego de insertar el ID y serial se debe colocar un BP en CALL [EAX+000000A0] Mi pregunta son:

1)Por qué ahí se debe colocar el bp?
2)Por qué COCO menciona que debe ser el primero que encuentre ollydbg
3)luego de esto pide que se tracee hasta llegar a la API:
.__vbaVarTstEq
Citar
y ahí entrar en ella con f7 hasta llegar al primer push 0 y luego dirigirse a ECX y hacer click derecho y poner "follow in stack"

¿Por qué se almacena ahí (un poco más abajo a donde me lleva ECX), es decir esta API trabaja igual en cualquier crackme que la utilice?

4)si luego de tracear si supuestamente el programa no utiliza .__vbaVarTstEq
debería seguir el serial falso con breakpoint memory on execution?
5)CALL [EAX+000000A0] funciona tanto para VB 5.0 y VB 6.0?

Si me pudieran aclarar eso se los agradecería demasiado Saludos
#295
http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/

Eso o estoy equivocado,otra cosa si es eso da lo mismo el orden?

Saludos
#296
eso :S la idea es encontrarla para hacer un trainer

Saludos
#297
Es un botón que se encarga de transformar el post a pdf genial para tutoriales

http://www.phpost.net/foro/viewtopic.php?f=17&t=2939

Lo adjunto, aunque sé que ni mirarán la sugerencia y si es que la miran como siempre la van a criticar y peor no ponerla aunque sería importante para los que quieran descargar algún tutorial en un post

bueno de todas formas lo publiqué
#298
Hola a todos bueno tengo una duda con esa parte y es que Ricardo comenta sobre
CitarTLS CALLBACK
, nos dice como encontrarla con ollydbg(PE-HEADER) o con un PE Editor también nos dice que se puede poner un bp directamente en ella en las opciones del pluguins ollyadvance |v|TLS CALLBACK

pero mi dudas son las siguientes:

1)¿para que sirve esta tabla?
2)Si el unpackme que se estaba analizando se requería que se iniciara desde system breakpoint, al estar detenido ahí por qué debe luego detenerse en TLS CALLBACK para luego poner un bpm on execution en la sección code? no sería mejor detenerse en breakpoint system y luego desde ahí poner un bpm  on execution en la sección CODE?

Muchas gracias por leer

Saludos
#299
Hola a todos bueno leyendo un poco me encontré con algunas dudas que se me originaron después de leer el tutorial

UnPackMe_TPPpack.exe:
http://ricardonarvaja.info/WEB/CONCURSOS%20VIEJOS/CONCURSOS%202004-2006/CONCURSO%2097/CONCURSO%2097.rar

Tutorial en doc:
http://ricardonarvaja.info/WEB/CONCURSOS%20VIEJOS/CONCURSOS%202004-2006/CONCURSO%2097/C97-N4%20-%20Desempacado%20de%20TPPpack%20-%20por%20marciano.rar

Mis dudas son más que nadas algo teóricas el unpackme anterior tenía las siguientes características:
-stolen byte
-iat destruida
-algunos trucos para evitar ser debuggeado

1)En ese tutorial se llega a los stolen byte directamente, marciano comenta que se copien en un .txt los stolen bytes pero mi duda es al tener todo reparado cuando cuando inserta los stolen bytes, este los inserta en la dirección en donde se detiene
el ollydbg cuando se carga el unpackme (6B010) mi duda es ¿como se logra que al colocarlo ahí los stolen bytes sin anteponerlo al falso OEP (metodo común en donde se cuentan los stolen bytes y se les resta al falso OEP)pese a eso funciona bien?


2)Cuando se termina de colocar los stolen bytes por qué algunos call están alterados y marciano pide reemplazarlos por los call que habíamos anotado en el documento de texto?

Si me aclararan eso se los agradecería demasiado

Saludos
#300
Tal como pregunto, habrá algunos tutoriales en donde se hable de como trabajar con ollydbgscript es decir comandos, pero no tan solo una lista de comandos con lo que hacen, si no algo más explicado.. (donde se trabaje con muchos script)

Saludos y gracias
#301
Eso, busqué referencias en google pero no me quedó claro
si me pudieran dar un ejemplo, sería mucho mejor

Saludos :D

PD:
CitarLODS BYTE PTR DS:[ESI]

PD2:
CitarSTOS BYTE PTR ES:[EDI]
#302
Foro Libre / ¿Alguien ha probado google+?
22 Julio 2011, 05:08 AM
Bueno esa es mi pregunta y que tal?, como lo han encontrado?
otra cosa se pueden enviar invitaciones?, si es así se animan, gracias...
#303
Hola, siguiendo el tutorial de ricardo narvaja capítulo 51 tengo problemas con econtrar el OEP en el unpackme: UnPackMe_ASProtect.2.3.04.26.a

siguiendo el tutorial se habla de hacer un Break point memory on execution a través del pluguins ollybone al intentar me aparece "Access violation when writin to [00000]:


No puedo pasar la excepción, también la añadí en la configuración de ollydbg pero no he logrado saltarla, también he intentado utilizar el pluguins de bp memory on execution pero sucede el mismo problema, he testeado bajo windows 7,xp

*He configurado ollyadvance tal como lo indican las imágenes del capítulo pero no lo he logrado.

Saludos
#304
Ingeniería Inversa / Duda con Ollybone
20 Julio 2011, 04:07 AM
Hola siguiendo el tutorial de ricardo narvaja en la parte 51 hablan sobre la utilización de Ollybone un pluguins que permite poner en la sección de memoria:

set-break-on-execute (break point on execution)

bueno ricardo narvaja comenta que este es más ventajoso:

Citares un plugin que por medio de un DRIVER
sys, simula el BREAKPOINT ON EXECUTION, lo que haciamos con el OLLYDBG
PARCHEADO PARA BUSCAR OEPS, con la ventaja de que es instantaneo y no se pierde tiempo,
la desventaja es que solo se puede colocar el break en las secciones del exe

mi duda es que cuando se refiere a la velocidad este no tracea? es instantaneo como menciona cuales son las diferencias exactamente con parcheado 5?

Si alguien me pudiera aclarar eso, Gracias

otra cosa. se habla del pluguin Weasle que se encarga de reparar IAT diferencia tiene este con ImportRec?

En resumen son dos preguntas

1-Diferencia entre Ollybone y parcheado5.exe (modificación de ollydbg que hace que se detenga solo en memory on execution cuando se elige memory on access)
¿Se debe tener ollybone como segunda opción si es que no se puede encontrar el OEP?

2-Diferencia entre Weasle e ImportRec, los dos su finalidad es reparar IAT?
(Si es así me quedo con ImportRec

Gracias y saludos
#305
Tutorial Agent Profesional 2002


Objetivo: Evadir el límite de instalaciones del programa

-Examinamos un poco:



Nos damos cuenta de que nos pide una llave tipo disquete o floppy para la instalación definitiva.

Si le damos aceptar sin tener la llave el programa se cerrará sin ningún aviso

-si insertamos la llave dada por nuestro amigo tertulia (esta debe estar en disquete en mi caso mi netbook no posee por lo que tuve que emularlo con virtual floppy drive http://sourceforge.net/projects/vfd/

en el creamos un disquete vacío e introducimos los archivos:



al iniciar el programa nos mostrará la misma alerta que la anterior:



pero luego de dar aceptar nos muestra lo siguiente:



Por lo que el programa NO nos permite la instalación pese a tener la llave, debido a que lo más probable es que cada vez que se instala o se des instala el programa deja algún tipo de registre en la llave

ya analizado el programa es turno de ollydbg:

antes de abrirlo pensamos de que manera vamos a usarlo, probemos con un BP en la alerta de mensaje de que este ya estaba instalado

al abrirlo notamos que hay dll de visual basic por ende está programado con el mismo lenguaje

por lo que nuestra API será:

CitarrtcMsgBox

Encargada de mostrar mensajes pongamosle un bp en ella

Iniciamos el programa con F9 luego de que nos apareció el primer mensaje pondremos el bp:



Ahora si lo ponemos



ahora le damos a aceptar y se nos detendrá debido a que el programa está llamando la api rtcMsgBox con la intención de avisarnos que este programa ya ha sido instalado

a nosotros en realidad no nos interesa la API si no el momento en donde es llamada al parar le damos a execute till return y se nos desaparecerá el OP code de origen, lugar en donde está detenido el debugger (en mi caso fue así) por lo que si miramos en la pila podremos saber adonde retornará la API luego luego de que fue llamada:



Notamos que es en:

01244473

Nos vamos hacia esa dirección y notamos que es la linea siguiente después de llamar a la API (Call anterior), si seguimos subiendo veremos dos saltos interesantes pero lleguemos hasta el inicio:



le pondremos un BP y bajaremos hasta encontrar nuestro primer salto JE y también le pondremos un bp



Si seguimos hacia donde nos lleva este salto notaremos que nos lleva a otro salto un poco sospechoso:



Ahora reiniciamos, si se nos borraron los 3 BP los volvemos a colocar

le damos F9 y nos aparecerá la misma alerta, le damos aceptar y se nos detendrá en los breakpoint modificamos los dos últimos por jmp:





Luego de pasar por los BP le damos RUN y nos mostrará lo siguiente:



Por lo que el objetivo está completo

durante el traceo se pueden ver datos interesantes

EDIT:



http://www.mediafire.com/?zcrhqidd6cpfcyw
#306
Ingeniería Inversa / duda con .mdb
13 Julio 2011, 05:03 AM
Una duda como veo el seguimineto de .mdb
#307
Hola que API debo utilizar para conectarme a una base de datos .mdb y esta me pide clave, no sé como conectarme

Gracias
#309
Hola a todos, bueno les comento tengo un problema con esa parte del tutorial de introducción de ricardo narvaja, más que nada no logro arrancarlo lo vi de pasada y está muy facil no se necesita reparar IAT nada de nada, el único problema que tiene es que utiliza esta API
CitarOutputDebugStringA
ahí se comenta que casi todos los pluguins parchan ese problema pero el unpackme se basa de eso por lo que genera una excepción intencionada para luego marcar error y no poder continuar, el problema surge en que hay que poner un bp en esa api OutputDebugStringA pero a mi no me lo toma proble con HADWAREBreakPointOnExecution pero tampoco

otra cosa que me llama la atención es que antes de marcar la excepcción intencionada me muestra el siguiente mensaje



Por lo que no se que dice, al igual que haciendo pruebas sin abrir el ollydbg simplemente tipeando un serial falso este me muestra una alerta con los mismos caracteres extraños lo que me hace deducir que esa alerta es del programa, pero mi duda es como soluciona esa alerta y como lograr detenerme en tal api ya que luego de eso se cambia un dato en eax y se soluciona todo

Si alguien me da una mano

PD: no confundir con unpackme de la parte 45 que tiene el mismo nombre

Saludos
#310
Este es mi primer tutorial así que espero que puedan entenderlo  :silbar:
Para descargar en formato .pdf y doc gracias a apuromafo:
http://www.mediafire.com/?g7eclg6czc37vev

PosWin v8

1) Herramientas

Las herramientas que debemos usar para poder lograr el objetivo de este tutorial son las siguientes:

Ollydbg modificado/parchado conocido como PARCHEADO5 o Ollydbg normal con el pluguins Break on Execution 1.1b (este lo pueden conseguir desde esta página:http://tuts4you.com/download.php?view.3123)

2) Conociendo al target o objetivo:

Según mi metodología creo que antes de tocar algún debugger u otra herramienta se debe conocer el programa en sí, saber como trabaja desde una visión generalizada

una vez instalado nos dirigimos a la ruta de su instalación:

CitarC:\PosWin\V8\Bin

y abrimos el ejecutable "Acceso.exe"

al abrirlo nos muestra lo siguiente:



Nos fijamos que tenemos dos opciones, una es introducir el serial para poder contar con el programa sin ninguna limitación o probar la versión demo

si en este instante abrimos el administrador de procesos obviamente notaremos que se está ejecutando Acceso.exe

ahora le damos click a la DEMOSTRACIÓN y se nos abrirá un submenú



si elegimos cualquiera en mi caso Hostelería (que es el primero y me ahorro de mover el mouse )

Nos carga el programa y si nos dirigimos a acerca de nos mostrará que es la versión demo cerramos todo

3) Manos a la obra:

-Abrimos Ollydbg y seleccionamos Acceso.exe nos damos cuenta al analizar los llamados a las dll que estas son de visualbasic por lo que por eso se debe utilizar el PARCHEADO5 o el pluguins ya que estos se encargan de que cuando nos dirijamos a MEMORY (botón de Ollydbg con la letra M) si colocamos un "Memory on Access" este solo se detendrá cuando haya un "Memory on execution", no cuando haya un "on acces" o un "on write" (con el pluguins antes se debe activar desde el menú de pluguins)

lo iniciamos, al estar cargado completamente:



Tipeamos un serial falso y nos vamos a M y colocamos un Memory on Access (execution) en la sección code

luego de detenerse y tracear un buen momento, vemos que se hace un llamado a otro proceso llamado "PosWin.exe" ubicado en la misma ruta que el ejecutable Acceso

este hace el llamado a través de la API CreateProcess por lo que intentar debuggear a este ejecutable no servirá


-Si intentamos ahora abrir a PosWin.exe desde Olly notaremos que nos muestra una Alerta diciendo que se debe abrir desde Acceso por lo que este método tampoco funcionará


Solución:
-Debemos configurar a OllyDbg con la opción:
Just in time debugging, que se encarga de que cada vez que un programa no pueda soluccionar algún error este es atachado por Olly

¿y para que sirve esto?
Sencillo para poder generar un error en PosWin.exe para que cuando sea llamado por Access.exe Ollydbg tome el control

para configurarlo hacemos lo siguiente:





*Si presionan "Attach without confirmation"
su Sistema Operativo NO les preguntará si desean debuggearlo con ollydbg, este lo hará de manera automática

luego de configurar nuestro ollydbg generaremos nuestro forzado error  :silbar:

Abrimos PosWin.exe con Olly

y modificamos el primer OP que es PUSH 476E48 por un INT3 y esto nos quedará así:



guardamos los cambios de PosWin:



*Lo guardamos con el mismo nombre

Luego de esto cerramos todo y abrimos Acceso.exe e introducimos un serial falso, luego elegimos algún servicio del submenú y nos aparecerá un error:



le damos a duperar si es que no pusieron "Attach without confirmation"

al abrirlo debemos reparar el error para su buen funcionamiento:



luego de esto le damos F9 y nos vuelve a mostrar el cartel:



ahora buscamos referencias de texto, nos dirigimos al modulo de PosWin:



y luego:



ahora esperamos un buen tiempo ya que el programa tiene mucha referencias de textos y luego de esperar nos aparece lo siguiente:



y si buscamos detalladamente encontraremos algo muy interesante:



Por lo que si ahora nos dirigimos ahí con click derecho en ->follow to dissambler



Notaremos más arriba algunos saltos interesantes, anotemos el más lejano y sospechoso, en este caso:

01155167

Cerramos todo e iniciamos Acceso normalmente y seleccionamos la opción DEMO ya que deducimos que en la parte de comprobación de licencia pasa de todas formas por demo ya que esta tiene dos opciones entre las más importantes DEMO:PRN NO o está REGISTRADO

-nos mostrará el error por lo que tendremos que repararlo nuevamente, luego de esto nos dirigiremos a 01155167 y colocaremos los Breakpoint a los saltos cercanos incluyendo 01155167

luego presionamos F9, tendremos que pasar por varias excepciones hasta que nos aparezca la siguiente ventana:



Le damos aceptar y se detiene en el salto 01155167:



Si presionamos follow (click derecho-> follow) nos daremos cuenta que si saltara se dirigirá a REGISTRADO

por lo que debemos reemplazarlo por un jmp para que siempre salte:



luego si traceamos de nuevo notaremos otra comprobación por lo que esta deberemos eliminarla con NOPS:



y si guardamos los cambios al iniciar nos dirigimos a acerca de nos quedará más o menos así:



4) Ajustes:

!!Cada vez que queramos Iniciar el programa, por obligación debemos iniciar Acceso pero cada vez nos aparecerá la opción de usar demo o introducir el serial  para solucionar este problema estético, visual haremos lo siguiente:

-Abrimos Acceso.exe, luego abrimos ollydbg y le damos a attach
selececcionamos obviamente a Acceso

-Esperamos un poco que carguen los módulos y luego de esperar apretamos F7

-nos dirigimos a M y le damos "Memory on Access" a la sección code

y presionamos el boton usar demo y se nos detendrá en un opcode antes de un jump, este jump se encarga de lanzar el programa

-anotamos el jump



-Ahora reiniciamos Access con Ollydbg (Cntrl+F2)
y nos dirigimos a la dirección de ese jump y colocamos bp en el y en todos los jmp cercanos y luego le damos RUN parará en donde muestra la imagen:



por lo que el primer JMP en que se detuvo fue:

00403D5B

luego si presionamos nuevamente F9 se detiene en:

00403DB6

y si presionamos F9 otra vez se detiene en el jump encargado de lanzar el programa, por lo que deberemos reiniciar Acceso otra vez y poner un BP en el anterior JMP que lanza el programa, con la finalidad de tracearlo hasta su último return y modificarlo por un jump a 00403D34:





guardamos los cambios y al iniciar Acceso nos aparecerá:



en el cual podremos elegir el servicio que necesitemos

pero al elegir uno de ellos este vuelve constantemente a preguntar que servicio queremos elegir por lo que hicimos un bucle por causa de nuestra modificación del RETN 4 por lo que deberemos hacer un jmp condicional tal como lo muestra la imagen:



este salto se dirige a hacer lo siguiente:



-realiza una comparación entre ECX y 12F3CC (12F3CC es el primer valor que toma ECX cuando pasa por RETN 4 y es en ese momento en donde se debe colocar el salto) si este no es 0 retoma el programa normalmente y si es 0 saltará directamente a los servicios

*De todas formas sigue presentando un problema y es que luego de seleccionar el servicio nos muestra normalmente el siguiente cartel:



pero deberemos darle click 3 veces

CitarAunque luego de que se ejecuta el servicio a usar este crea un Acceso directo en algunos casos en donde se obtiene acceso sin tener que pasa por Acceso.exe




5) Datos Anexos:


La ubicación en donde se encuentra el serial cuando se quiere registrar de manera legal está en el acceso directo, este es:

CitarC:\PosWin\V8\Bin\PosWin.exe /S:43969298-5698989 /T:89 /P:01

En donde /S: es el serial que se ha digitado en Acceso, por lo que PosWin corrobora si este se ejecutó o no desde Acceso por los parámetros que lo acompañan a través de la API

CitarGetCommandLineA

por lo que si se crea un acceso directo como mencioné anteriormente este no necesita pasar por Acceso
También dentro del análisis habían muchas APIS que se podrían detallar la forma en que trabajan pero fue un bosquejo rápido

6) Agradecimientos:

apuromafo,MCKSys Argentina,_Enko

Que me han dado muy buenas orientaciones,se han tomado el tiempo de explicar detalladamente mis preguntas y me han alentado en este largo camino

EDIT:

Adjunto Parche



Instrucciones:

-hacer doble click en poswin.v8.1-patch

-presionar patch si no encuentra los archivos se deben elegir de manera manual

-luego ir al directorio en donde se instaló y abrir Acceso.exe

y a Disfrutar

http://www.mediafire.com/?wmpc9be44kywhh9

*el link lo he colocado para que aquellos que no lo lograron puedan sin problemas y por comenté en otros post por si hay gente de esfuerzo que está emprendiendo

#311
Dudas Generales / Uploader de elhacker?
11 Julio 2011, 12:58 PM
Hola hace tiempo lei un post en donde comentaban que se podía subir imágenes con respecto al tema en el servidor elhacker.net

no sé si existirá este servicio aun

¿Alguien sabe el link?

Gracias

EDIT: Es para un tutorial para el foro
#312
Ingeniería Inversa / VirtualProtec?
8 Julio 2011, 08:45 AM
No entiendo mucho esta API, entiendo los parámetros pero no sé que hace ya que en un tutorial se explica que se usará para darle permiso al PE Header de escritura (con el parámetro 40) o sea le da ese permiso a la sección? es decir es lo mismo que si lo modifico con pe editor alterando los permisos de las secciones? si alguien me pudiera explicar

Gracias
#313
Bueno creo que se entiende, es decir si quiero ejecutar un call que es más o menos así

CitarPUSH 1000
PUSH 40
PUSH 3400
CALL EAX

Osea que cuando llegué a CALL EAX (EAX=Una API) en la pila aparecerán los parámetros más o menos así

CitarESP CALL to API
ESP+4 PUSH 3400
ESP+8 PUSH 40
ESP+C PUSH 1000

Pero en la descripción de esta apí ficticia el valor 1000 es opcional osea que se puede dejar NULL, mi pregunta es que coloco para no alterar los otros parámetros del call

Saludos
#314
Hola a todos tengo una duda no se me ocurre como hacerla

bueno me gustaría hacer un batch que se encargara de crear un documento .txt desde 00000000 hasta 99999999
no sé si se entiende bueno el *.txt debería quedar más menos así

Citar00000000
00000001
00000002
...
..
.
00333334
00333335
...
.
.
.
99999999

Será efectivo crearlo en batch? o me consumirá muchos recursos gracias :D
#315
Ingeniería Inversa / poner bp IsNetworkAlive
30 Junio 2011, 07:57 AM
Hola bueno les comento no logro poner un breakpoint ahí mi duda más que nada es como consigo poner breakpoint en esa api?, Gracias