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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11
1  Programación / Ingeniería Inversa / Re: Programa para capturar modificaciones al instalar un programa en: 25 Agosto 2014, 17:31 pm
Hola chapalee. Uno de los más conocidos es Process monitor que además de trackear registros, también hace lo mismo con ficheros.

Otro ya menos conocido es regshot, este en vez de actuar como un capturador de "tráfico" como process explorer se encarga de hacer una copia del registro antes y otra después para posteriormente hacer la comparación. Este ultimo solo sirve para el registro.

Sobre la última pregunta supongo que si un instalador debería poder modificar claves ya existentes, jeje.
2  Programación / Ingeniería Inversa / Re: ¿Paquetes cifrados en WPE Pro? en: 21 Agosto 2014, 23:52 pm
Sí a eso me refería. De esa forma deberías llegar a algo parecido a esto (no igual exactamente los parámetros pueden variar y las direcciones ya que no es el mismo programa).

Código:
007ADC99  |. 6A 00          |PUSH 0                                  ; /Flags = 0
007ADC9B  |. 8B45 F8        |MOV EAX,DWORD PTR SS:[EBP-8]            ; |
007ADC9E  |. 50             |PUSH EAX                                ; |DataSize
007ADC9F  |. 8B4D 08        |MOV ECX,DWORD PTR SS:[EBP+8]            ; |
007ADCA2  |. 51             |PUSH ECX                                ; |Data
007ADCA3  |. 8B55 FC        |MOV EDX,DWORD PTR SS:[EBP-4]            ; |
007ADCA6  |. 8B82 E8000100  |MOV EAX,DWORD PTR DS:[EDX+100E8]        ; |
007ADCAC  |. 8B48 58        |MOV ECX,DWORD PTR DS:[EAX+58]           ; |
007ADCAF  |. 51             |PUSH ECX                                ; |Socket
007ADCB0  |. FF15 24177F00  |CALL DWORD PTR DS:[<&WS2_32.#19>]       ; \send

Aquí se hace la llamada a la función send que es la que envía el packet y en donde pone Data es donde está el packet osea este trozo:

Código:
007ADC9F  |. 8B4D 08        |MOV ECX,DWORD PTR SS:[EBP+8]            ; |
007ADCA2  |. 51             |PUSH ECX                                ; |Data

Y viene del registro ECX, que a su vez viene de [EBP+8]. Los [EBP+8], [EBP+C], [EBP+10], etc indican el primer, segundo y tercer parámetro respectivamente que se pasan a la función en la que ahora mismo estamos.

Ten en cuenta que lo que hay en ECX es un puntero al packet, para ver el packet puedes hacer click derecho en ECX y Follow in dump.

Entonces se podría buscar el inicio de esa función, generalmente empiezan por:

Código:
007ADC70  /$ 55             PUSH EBP
007ADC71  |. 8BEC           MOV EBP,ESP

Estoy suponiendo que el programa está hecho en C/C++ lo cuál no tiene que ser verdad, pero bueno la idea es esa rastrear ese valor y ver como se va modificando.


3  Programación / Ingeniería Inversa / Re: ¿Paquetes cifrados en WPE Pro? en: 21 Agosto 2014, 14:59 pm
Mmm podrías probar a realizar cosas que impliquen packets en los que pienses que debería haber cadenas de texto, en un juego deberías poder encontrar nombres de otros jugadores, de monstruos, npcs y demás. Otro ejemplo es el login, ahí se debe enviar tu nombre de usuario y debe ser visible, si no lo puedes ver es que debe estar cifrado.

Si están verdaderamente cifrados, puedes poner un breakpoint en las típicas funciones de las cuales ya has mencionado dos de ellas send y recv, en algunos casos se utilizan otras como WSASend/WSARecv y ver con un debugger que es lo que ocurre justo antes de enviar/recibir los packets.
4  Programación / Programación C/C++ / Re: Wininet PHP Post en: 21 Junio 2013, 15:58 pm
Doble post sry.
5  Programación / Programación C/C++ / Wininet PHP Post en: 21 Junio 2013, 15:56 pm
Buenas, llevo desde ayer con esto y no hay forma de solucionarlo  :-( , me he recorrido medio google y nada ha servido.

Mi situación es la siguiente:

Tengo un servidor Apache por XAMPP en local y quiero enviarle un valor (en este caso un nombre) al index.php.


index.php
Código
  1. <?php
  2. echo $_POST["nom"];
  3. ?>
  4.  

Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2.  
  3. <html>
  4.  <head>
  5.    <title>PHP Code Tester</title>
  6.  </head>
  7.  <body>
  8.    <div id="div_form">
  9.        <form method = "post" action = "index.php" enctype="application/x-www-form-urlencoded">
  10.  
  11.        <div id="div_datos_personales">
  12.  
  13.          <fieldset>
  14.  
  15.            <legend>PHP Code Tester</legend>
  16.  
  17.  
  18.            <div id="div_nombre">  
  19.              <label id="label_nombre" for="nombre">Nombre:</label>
  20.              <input id="nombre" name="nom" type="text"/>
  21.  
  22.          </fieldset>
  23.  
  24.        </div>
  25.  
  26.        <div id="div_submit">
  27.          <button id="submit" >Enviar</button>
  28. </div>
  29.  
  30.      </form>
  31.  
  32.    </div>  
  33.  
  34.  </body>
  35.  
  36. </html>

Si lo hago abriendo el html de arriba funciona perfecto, me imprime el valor del campo nombre. En cambio si lo hago con Wininet no funciona:

Código
  1. int main(){
  2. int Resultado;
  3. char internetFile[256];
  4. HINTERNET hInternet, hInternet2, hInternet3;
  5. DWORD bytesRead;
  6.  
  7. hInternet = InternetOpenA("Firefox", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
  8. hInternet2 = InternetConnectA(hInternet, "localhost", 80, 0, 0, INTERNET_SERVICE_HTTP, 0, 0);
  9.  
  10. hInternet3 = HttpOpenRequestA(hInternet2, "POST", "index.php", 0, 0, 0, INTERNET_FLAG_RELOAD, 0);
  11.  
  12. Resultado = HttpSendRequestA(hInternet3, "Content-Type:application/x-www-form-urlencoded", 0xFFFFFFFF, "nom=paco", 0x8);
  13.  
  14. InternetReadFile(hInternet3, internetFile, 250, &bytesRead);
  15.  
  16. return 0;
  17. }

En concreto me tira un "Undefined index : nom", como si no llegara a enviar el nom=paco. He revisado todos los resultados de las funciones, los handles se obtienen bien e incluso si en el .php pongo echo "Hola"; en internetFile obtengo el Hola, osea esta leyendo bien el .php lo que no obtiene es el clave/valor. También he probado con if isset($_POST["nom"]) pero no me sirve en este caso porque nunca escribe en $_POST["nom"].

Y no se que hacer más :S.

Perdonen si esto debería ir en el foro de PHP.
6  Programación / Ingeniería Inversa / Re: [Nuevo] [SENCILLO] SaGaRaS Crackme v1.0 en: 31 Enero 2013, 23:19 pm
Requiere:

.NET Framework 4.5.

.Windows XP Not work

.Solo funciona en Win vista o superior

Me parece que no funciona en XP porque usas Microsoft Visual C++ 2012, creo haber oído que los muy !$!"% iban a dejar de dar soporte a XP a partir de esa versión.

Intenta compilarlo en el 2010 por ejemplo.
7  Programación / Ingeniería Inversa / [KeygenMe] Android KeygenMe en: 30 Enero 2013, 04:46 am
Buenas, ya que me metí en el reversing de android hace poco me decidí hacer
mi propio keygenme, es sencillito.

Reglas: No vale parchear.
Objetivo: Hacer un keygen (no hace falta que el keygen sea para android, se permite cualquier lenguaje python, c/c++, java, etc) + objetivo opcional oculto que se desvela al introducir un usuario/serial correcto.

NOTA: No es necesario tener un dispositivo físico, pueden usar un emulador.

https://mega.co.nz/#!S8QTSb5D!YT5m2QsHDIL7a_7MlwUoOwCKXMhK74R-t0GJrfwThwg


Winners
PeterPunk77


Suerte!
8  Programación / Ingeniería Inversa / Re: ¿existe documentacion cracking de aplicaciones en andriod table movil? en: 28 Enero 2013, 02:47 am

Te recomiendo "way of the android cracker", yo recién me inicié con eso. A grandes rasgos lo que se suele utilizar es dex2jar para pasar el .apk a .jar, con JD-Gui se lee el .jar y se tiene un código en alto nivel (java).

Así puedes hacer una vista general del programa, y entender las cosas mejor, ya después para modificar usa apk-tool (con los comandos que te comentan en el tutorial), y lo pasas a .smali el codigo, y ahí ya puedes cambiar lo que te plazca, pero tienes que entender el dalvik bytecode pero por ahí en el tutorial había una lista.

Por lo demás vuelves a compilar, firmas, e instalas el .apk modificado.
9  Programación / Ingeniería Inversa / Re: [Keygenme] Litrico en: 28 Enero 2013, 02:30 am

Ya te mandé el keygen, está bastante sencillito :P. Lo que más me costó fue
hacer el keygen, malditos punteros en C >.<.

Ah, una curiosidad. No controlas los límites de escritura en el buffer de usuario ni contraseña, así que si metes de usuario por ejemplo:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABien

Puedes conseguir que te muestre bien con cualquier serial, bueno incluso donde pone Bien poner el mensaje que uno quiere que muestre xD.

Exploit FTW  >:D

10  Programación / .NET (C#, VB.NET, ASP) / Re: Captura del teclado en: 6 Enero 2013, 20:58 pm
Lo único que tienes que hacer es incluir en tu solución el proyecto ManagedHooks, (añadirlo en references de tu proyecto también) y meter la .dll que te genera SystemHookCore en el directorio donde tengas el .exe.

Te dejo en el link un esquema de como sería.

http://www.mediafire.com/?aryl21n7g28z24f
Páginas: [1] 2 3 4 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines