elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1] 2 3
1  Informática / Electrónica / Problemas al instalar drivers microchip en: 14 Junio 2012, 06:48 am
Que tal, veran, estoy usando proteus con un PIC 18f4550 , para una comunicacion usb
atravez de java con jpicusb, al correr el proteus me sale el icono de nuevo hardware encontrado, aqui tengo que instalar los drivers usb, pero no los instala dice que no puede, alguien sabe por que sucede esto?
estos son los drivers :MCHPUSB Driver
tengo win xp de 32 bits
estaba siguiendo este tutorial:

http://www.youtube.com/watch?v=juDve7zOX0s&feature=relmfu

Gracias
2  Programación / Ingeniería Inversa / [Tutorial] Crackme #1 Gizmo (PEtite) by negux en: 22 Enero 2012, 19:40 pm
Crackme #1 Gizmo by negux
Aquí traigo la realización de otro crackme que encontré en algún mirror de crackmes; así que empecemos.


Veamos que nos dice el RDG.


Abrámoslo con el Olly


Caemos en esa zona y vemos que tiene un PUSHAD, así que lo pasamos con F8, y hacemos follow in dump del registro ESP.


Marcamos los primeros cuatro bytes y marcamos el breakpoint.



Damos run y llegamos aquí, vemos el POPAD, y abajo el salto que nos llevara al OEP, le damos F8 hasta que nos lleve ala dirección del salto. Y hacemos dump del proceso, yo lo hice con el plugin OllyDump :P



Una vez que hicimos ese proceso, lo guardamos con otro nombre y ahora si, podemos empezar a trabajar con el crackme, je.
Buscamos por text strings y nos aparece esto:


Vemos una cadena sospechosa, bueno dos, pero no les hagamos caso por el momento, le doy doble clic donde terminaría la primera parte “Part1 finished”, para ver qué pasa en esa zona.


Caigo aquí, pero subo para buscar el inicio del código o alguna comparación o salto que me lleve a esta zona :P


Llego a esta parte, vemos arriba como está la cadena sospechosa, decido ponerle breakpoint ahí, y aunque arriba hay una comparación y luego un salto mi intuición me dice que ponga el breakpoint aquí, seguramente esa comparación a de ser para que metamos algo en el serial.
Damos run:


Vemos como aquí va a meter nuestro serial, seguimos traceando hasta llegar a esta función que compara :P


Vemos en el stack los argumentos a comparar.


Vayamos a esa direcciones haber que guarda.

Vemos que en esa zona esta nuestro serial y la otra cadena sospechosa, así que probemos:

Lo hicimos, llegando a este punto pensé que ya había terminado je, pero bueno ahí me dice que hay una segunda parte, veamos de que trata.


Nombre y serial y en este caso.
Bueno hagamos lo mismo que el primero, buscar por text strings, “try again”, y subo en la búsqueda del inicio, llego a esta parte:

Vemos otra vez arriba una cadena sospechosa, pero no, en este caso no es el serial, pongo un breakpoint en el inicio.
Doy Run (F9),  para y empezamos a tracear, y vemos que mete a EAX la cadena “t@b@c”



Seguimos traceando y llegamos  a esta zona:

Vemos que ahí ya metió en EAX, el valor de 74, que es el hexadecimal de “t”, de la cadena “t@b@c”, sigamos:


Vemos que ahora mete 6E, a EAX, que es el valor de “n”, de mi serial, “negux”.



Seguimos traceando y llegamos a esta función, que hace un Xor, entre el valor en hexadecimal de cada letra de “t@b@c” y cada letra de mi serial “negux”:



Aquí vemos cómo se va generando nuestro serial, quedando al final de esta forma.
negux -> 6E 65 67 75 78                                                           t@b@c -> 74 40 62 40 63
6E xor 74 = 1A
65 xor 40 = 25
67 xor 62 = 5
75 xor 40 = 35
78 xor 63 = 1B
Name: negux
Serial: 1A255351B
Eso lo metemos y llegamos a la última parte ;)

Un NAG. Para esto hacemos, search for -> constant y buscamos: 2B0:


Presionamos Ok y nos aparecen varias instrucciones, una de ellas debería de ser la que buscamos eliminar, llegamos aquí:


Este es el call de nuestra NAG, así que lo que hice fue nopearla :P, quedando así:


Y listo, guarde los cambios en el ejecutable y no mas NAG, y así terminamos este crackme que no pensé que fueran tres en uno je.

Gracias

No se por que no me puso las imagenes asi  :huh:

PD. Aqui dejo el link si gustan descargar el tuto, viene con el crackme y un pequeño keygen de la segunda parte, solo que el serial lo da en minusculas, y tendria que cambiarse a mayusculas je  :P

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


*Modificado :)
3  Programación / Ingeniería Inversa / [Tutorial] Crackme v10 Eternal BLiss by negux en: 16 Enero 2012, 05:59 am
Objetivo: Crackme v10.0 Eternal Bliss
Cracker: negux


Este no es el típico crackme de buscar un serial, así que veamos de qué se trata.




Algo nuevo para mi, presionamos el botón Check pero no nos manda algún mensaje, mmm veamos que nos dice el RDG.



Esta hecho en Visual Basic y además nos dice que esta P-Code( para entender bien como tratar este tipo de crackmes recomiendo leer el tutorial que me sirvió para este crackme, es de und3r, en el mismo documento hace referencia a una lección de Ricardo Narvaja,pongo la referencia al final).

¿Qué es P-Code?
Cuando compilados un programa con VB, este nos da la posibilidad de elegir el tipo de compilado diferenciando entre código NATIVO y P-CODE:
el código nativo tiene la gran ventaja que ejecutan el código en la sección code del programa permitiendo esto que sea más "fácil" lograr saltar la seguridad, por otro lado el  P-CODE no posee código de ejecución dentro de la sección code. solo posee una serie de códigos llamados P-Codeque son interpretados y ejecutados por la dll de Visual Basic, haciéndonos una tarea más difícil. [1].

Bueno, si leen el documento nos menciona que abramos el crackme con Exdec, así que hagamoslo.




Ahí está nuestro crackme, si somos observadores y con un poco de perspicacia veo algo que me llama la atención.




Los cuento y son 24, que es el número de cuadritos del crackme, entonces me hace suponer que checa esos cuadritos para saber su estado.
Y como dice und3r que existen estos dos P-codes:
1)BranchF=1C
este P-Code es similar a un salto condicional, este salto se realiza si la comprobación anterior es falsa.

2)BranchT=1D
este P-Code es el opuesto a BranchF es decir, este salta cuando la comprobación es verdadera T=True F=false
Asi que buscamos el primer BranchF





Ahí vemos algunos y la dirección a donde nos llevaría si es True, dichas dirección son el inicio de la comprobación de los cuadritos.
Anotamos las direcciones de cada uno, en total 24:
Así que abrimos el crackme en el Olly y en el dump vamos a la dirección de cada uno.


Uploaded with ImageShack.us
Vemos:



Ahí vemos el 1c, BranchF, lo cambiamos a 1D




Y hacemos el mismo procedimiento con las 24 direcciones que anotamos. Una vez hecho esto copiamos los cambios al ejecutable y lo guardamos con otro nombre, asi que probemos lo que hicimos.
Abrimos nuestro nuevo crackme y marcamos cualquier cuadrito y vemos que pasa.






Funcionó  ;D

Referencia:
[1]. P-Code por UND3R. http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1401-1500/1409-Introduccion%20al%20cracking%20en%20P-Code%20parte%20I%20por%20UND3R.doc

4  Programación / Ingeniería Inversa / [Tutorial] Crackme 3 Redh@wk by negux en: 15 Enero 2012, 23:38 pm
Aqui la solucion a otro crackme je


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

por el momento estoy haciendo crackmes no tan dificiles, para irme acoplando a la ing inversa  :P

Saludos y Gracias.
5  Programación / Ingeniería Inversa / [Tutorial] Alspom Crackme 1 by negux en: 15 Enero 2012, 03:55 am
Bueno aqui dejo otro crackme resuelto, pide tambien el keygen, ese si se los debo jeje :silbar:

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

viene incluido el crackme

Gracias  ;D
6  Programación / Ingeniería Inversa / Solucion a dos crackmes en: 14 Enero 2012, 09:10 am
Hola que tal, pues eso, subo la solucion de 2 crackmes que acabo de hacer, son nivel muy basico je, tengan en cuenta que me estoy iniciando en la ing inversa
asi que no sean muy duros conmigo :P
uno es de +NCR, crackme1 y otro de Devastador, crackme v2.0

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

Espero ya pronto subir de nivel :(

Graciass
7  Programación / Ingeniería Inversa / Ayuda con un crackme en: 9 Enero 2012, 15:30 pm
Que tal, recien estoy terminando el curso de Ricardo y me dispuse a hacer un crackme, bueno, les cuento, el crackme estaba empacado con exe stealth, y con ayuda de google pude desempacarlo :P y Bueno tengo esta parte de lo que muestra el olly, donde lee lo que pongo como serial, y salta al mensaje de Error.
Código
  1. 00401099   .  E8 E8000000     CALL <JMP.&user32.GetDlgItemTextA>       ; \GetDlgItemTextA
  2. 0040109E   .  83F8 0C            CMP EAX,0C
  3. 004010A1   .  75 16                JNZ SHORT F7Crackm.004010B9
  4. 004010A3   .  8D35 00304000 LEA ESI,DWORD PTR DS:[403000]
  5. 004010A9   .  0FB646 FF         MOVZX EAX,BYTE PTR DS:[ESI-1]
  6. 004010AD   .  3806                CMP BYTE PTR DS:[ESI],AL
  7. 004010AF   .  75 08                JNZ SHORT F7Crackm.004010B9
  8. 004010B1   .  60                    PUSHAD
  9. 004010B2   .  E8 77FFFFFF      CALL F7Crackm.0040102E
  10. 004010B7   .  EB 51               JMP SHORT F7Crackm.0040110A
  11. 004010B9   >  68 00304000    PUSH F7Crackm.00403000                   ; /Arg1 = 00403000 ASCII "555555555555"
  12. 004010BE   .  E8 6C000000    CALL F7Crackm.0040112F                     ; \F7Crackm.0040112F
  13. 004010C3   .  6A 00               PUSH 0                                               ; /Style = MB_OK|MB_APPLMODAL
  14. 004010C5   .  68 24324000     PUSH F7Crackm.00403224                   ; |Title = "Error"
  15. 004010CA   .  68 19314000     PUSH F7Crackm.00403119                   ; |Text = ""
  16. 004010CF   .  6A 00               PUSH 0                                               ; |hOwner = NULL
  17. 004010D1   .  E8 B6000000    CALL <JMP.&user32.MessageBoxA>       ; \MessageBoxA
  18.  
  19. ahi compara Eax con 0c, que es la longitud del serial, si no es igual salta al mensage de error, en este caso no salta (digite doce veces, "5"), luego vemos que mueve a ESI el serial
  20. que ingrese, y aqui viene el problema, no le entiendo muy muy bien a la siguiente instruccion: MOVZX EAX,BYTE PTR DS:[ESI-1], segun yo: mueve a eax un byte del contenido de
  21. DS en la direccion de memoria [ESI-1], olly marca DS:[00402FF]=00, y el movzx lo rellena con ceros.
  22. y de ahi compara un byte de mi serial con AL:
  23. AL=00
  24. DS:[00403000]=35 ('5')
  25. y dependiendo del resultado de esa comparacion salta al cartel malo o bueno.
  26.  
  27. Codigo de Mensaje bueno:
  28.  
  29. 0040102E  /$  6A 00             PUSH 0                                                ; /Style = MB_OK|MB_APPLMODAL
  30. 00401030  |.  68 1C324000   PUSH F7Crackm.0040321C                   ; |Title = "Mensaje"
  31. 00401035  |.  68 18324000   PUSH F7Crackm.00403218                    ; |Text = "Ok"
  32. 0040103A  |.  6A 00             PUSH 0                                               ;  |hOwner = NULL
  33. 0040103C  |.  E8 4B010000  CALL <JMP.&user32.MessageBoxA>       ;  \MessageBoxA
  34.  

Y pues bueno, hasta aqui llegue, no se que serial compara para saltar al mensaje bueno, busque las api que utiliza y no hay alguna que compare, la unica comparacion que me lleva al mensaje bueno es esa con AL
 alguna sugerencia/ayuda ??

Gracias

Edito.

Al introducir 20 caracteres (16, "5" y 4, "9");

llego a este call:

004010BE   .  E8 6C000000   CALL F7Crackm.0040112F                   ; \F7Crackm.0040112F

y me sale un mensaje de Error:

Don´t know how to step because memory at address 399393939 is not readable, try to change EIP or pass exception to program

Analizando eso en el Dump veo esto:

00403000  35 35 35 35 35 35 35 35  55555555
00403008  35 35 35 35 35 35 35 35  55555555
00403010  39 39 39 39 00 00 00 00  9999....

Supongo, no se, que como que trata de ejecutar esa direcion de memoria -> 399393939 que son los 9999 que escribi, eso un el overflow? y de ahi como le sigo  :huh: :rolleyes:
8  Programación / Bases de Datos / COLUMNAS EN MYSQL en: 21 Septiembre 2011, 17:56 pm
Estoy trabajando una base de datos en Mysql con varias tablas, pero ahora necesito agregar dos columnas mas a tooodas mis tablas al inicio de cada tabla, es decir, que las columnas que agregue no sean las ultimas si no la 1 y 2. He usado el Altertable, sin embargo, me agregan las columnas al final, alguien puede ayudarme con algun metodo para hacer lo que necesito?? de antemno gracias.
9  Comunicaciones / Redes / Como poner contraseña a un equipo en la red en: 6 Agosto 2011, 03:18 am
mi equipo forma parte de una red local en la cual comparto informacion con una maquina en especifico, pero cualquie usuario de la red puede acceder a ella, necesito saber como hacerle para que cuando alguien quiera acceder a mi equipo a traves de mis sisitios de red, le solicite una contraseña de acceso, justo como en la imagen:
alguna idea de como hacerlo?? es urgente :( gracias
10  Informática / Hardware / error C1AB0003 en impresora HP en: 19 Julio 2011, 02:41 am
una impresora hp photosmart 8050, marca en su pantalla las letras c1ab0003 y simplemente dejo de funcionar, nisiquiera apaga y tiene una luz parpadeante justo donde se colocan las memorias sd y usb... alguna ayuda??? no se ni por donde empezar a moverle .... es urgente :(
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines