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 - xor.pt

#1
Programación C/C++ / Programador C ++
16 Junio 2020, 16:32 PM
Necesitamos un programador de C ++.
Para trabajar con la reversión de viejos programas.
Juegos retro.
Requisito, programar bien, solo con C ++.
Contáctame en privado, los interesados.
Saludos.



#2
Necesito recuperar una función de este binario.
¡Esto es muy antiguo y no funciona en PC!
Esto actualmente no tiene dueño!
Hay una muy buena recompensa para quienes resuelven.

Código C. https://mega.nz/#!P9MA0aTA!H7clkfY15i-VEE3SgyhN6gy1GPZDuUyruHU9e7iI4Ks

La función es un keygen
733013600 => 1870603295
394246093 => 1140865507 
811144690 => 1265428534
Resumen de la misión: encontrar la función que produce las contraseñas de ejemplo.
Quién tener verdadero interés me advierte, envíe binario.


Saludos.
#3
Hola, ¿alguien ha tenido éxito con esto?

Hay scripts ollydbg para Windows XP.
Pero nada me funciona.

Toda ayuda es bienvenida!
Saludos.
#4
Ingeniería Inversa / Dongle Eutron HID.
5 Octubre 2019, 16:59 PM
Hola, sobre emulación dongles Eutron HID.

El caso es que no puedo descomprimir y eliminar el dongle de la aplicación.
Lo he hecho varias veces, pero en este caso no es factible.
Entonces, me pregunto si alguien puede ayudarme a emular, traté de adaptarme en el kit no hid, PID 25, pero no funcionó.
Me parece que PID 26 ha actualizado sus rutinas de cifrado y esas cosas.
No quiero necesitar descompilar un controlador para arreglar rutinas.
Esa sería la última opción.

¡Finalmente, toda ayuda será apreciada!
Saludos.


#5
Ingeniería Inversa / ID do usuário rockey4ND
31 Agosto 2017, 16:13 PM
ID de usuario rockey4ND

   Saludos

   ¿Alguien sabe cómo editar el user-id del dongle Rockey4ND para que sea válido para la fecha actual?

   He investigado mucho, y no he encontrado respuesta.


Gracias


*Tal vez he creado muchos temas, sin respuesta.
Cuando solucionar, promover compartir todos
#6
Instrucción push 18h

En la depuración muchas cosas sucede y no puedo seguir.

Primero la instrucción push 18h
Después se pasan varias funciones
Por fin instrucción "sysenter"


¿Alguien esta familiarizado con estas instrucciones?
 Push 18h, sysenter

En Linux, binario ELF, quiero descifrar la clave AES 256, esta cifrada u ofuscada o sólo están en caracteres no imprimibles.

https://1drv.ms/i/s!Arl6LH9pZckyjU4r3yIe5uTztUwj

Lo que esta en la foto debería ser este formato

"\x93\xBB\x69\xDF\x37\xD5\x38\x57\xB8\x6B\x20\xE1\x45\xCB\xA0\x61\xDD\x7D\xCF\xED\x3A\xAC\xF2\xDB\x29\x35\x91\x6C\x27\x66\x0B\xAF"

Un apoyo?

#7
Ingeniería Inversa / descifrar texto
22 Agosto 2017, 18:08 PM
Hola a todos

Tengo un gran desafío en la mano

 A continuación, resolví LuksCrypto en Linux, puedo montar el volumen protegido, he descompilado código con éxito.

Pero en la descompilación es de ELF binario para C, y no entiendo mucho C.


Necesito encontrar rutina cifra descifra un contenido de dongle rockey4nd.

FF 02 30 E4 56 9A 8A DF F1 0F 6B 9D A8 16 F7 3B 3B DD 7C 88 E9 3A 86 7E 06 EF E3 CE
C2 4E 0A 5C 1B 1A EF 1E C6 3A 45 86 54 F8 8D AC 4A 19 D3 D8 C3 8C 00 00 00 00 00 00 00

The AES key was encrypted
en vez de

256 bits:
Sal = 263BC60258FF4876
Chave = B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF
Iv = 7E892875A52C59A3B588306B13C31FBD

esta .
'$jhksdvjsfoiut9085-0t598gdsfgipoei-0fgb9dfk;l-hk0dgkhrlthkry;hyhk'
'pokhprooh,q$',0Ah,0

'$welkgptrgoee-09kglsgm,ogisdg09rltgk-s0df9hrdskgj09dfgdsfuihg09et'

';ldfkbdd$',0Ah,0



Encontré una región muy sospechosa.

Parece estar leyendo un archivo, y usando el cifrado.

¿Sera justamente la memoria dongle?

¿Algún amigo me da una idea?

int32_t function_8048c80(int32_t path, int32_t a2, void (**a3)(int32_t)) {
   char * exec_argv[1]; // 0x8049002
   char * envp[1]; // 0x8049002
   int32_t v1;
   char v2 = v1; // bp-224
   int32_t v3 = *(int32_t *)20; // 0x8048ca4
   int32_t result; // 0x804906e
   if (path == 0) {
       // 0x8049030
       // branch -> 0x804900a
       // 0x804900a
       if (*(int32_t *)20 == v3) {
           // 0x804901a
           return -1;
       }
       // 0x8049056
       __stack_chk_fail();
       // branch -> 0x804905b
       // 0x804905b
       usleep(10);
       result = shm_unlink((char *)&g30);
       _exit(0);
       return result;
   }
   // 0x8048cbe
   signal(SIGINT, (void (**)(int32_t))function_8048c60);
   signal(SIGTERM, (void (**)(int32_t))function_8048c60);
   signal(SIGKILL, (void (**)(int32_t))function_8048c60);
   signal(SIGQUIT, (void (**)(int32_t))function_8048c60);
   signal(SIGSTOP, 0x8048c30);
   int32_t fd = open((char *)path, O_RDONLY);
   g2 = fd;
   if (fd >= 0) {
       // 0x8048d3c
       int32_t v4;
       __fxstat(3, fd, (struct stat *)&v4);
       uint32_t v5;
       if (v5 >= 29) {
           // 0x8048d61
           g3 = &v2;
           lseek(g2, v5 - 29, SEEK_SET);
           if (read(g2, (char *)g3, 29) == 29) {
               // 0x8048d9c
               if (function_8048b90((char *)g3, 0) == 0) {
                   // 0x8048db4
                   if (v2 == 1) {
                       int32_t v6 = -0x5050506;
                       int32_t offset;
                       lseek(g2, offset, SEEK_SET);
                       int32_t buf = 0;
                       if (read(g2, (char *)&buf, 4) == 4) {
                           int32_t v7 = &v6; // ebx
                           int32_t v8;
                           int32_t v9 = &v8; // 0x8048e69_0
                           srandom(buf);
                           *(char *)v7 = (char)random();
                           int32_t v10 = v7 + 1; // 0x8048e7f
                           v7 = v10;
                           // branch -> 0x8048e78
                           while (v10 != v9) {
                               // 0x8048e78
                               *(char *)v7 = (char)random();
                               v10 = v7 + 1;
                               v7 = v10;
                               // continue -> 0x8048e78
                           }
                           int32_t v11 = random(); // 0x8048e86
                           __sprintf_chk((char *)&g30, 1, 32, "ep-%ud", v11);
                           uint32_t fd2 = shm_open((char *)&g30, 578, S_IRWXU); // 0x8048eca
                           if (fd2 >= 0) {
                               // 0x8048edb
                               int32_t offset2;
                               int32_t v12 = g7 - offset2; // 0x8048edb
                               v7 = v12 - 29;
                               if (ftruncate(fd2, v12 + 3) < 0) {
                                   // 0x8049030
                                   // branch -> 0x804900a
                                   // 0x804900a
                                   if (*(int32_t *)20 == v3) {
                                       // 0x804901a
                                       return -1;
                                   }
                                   // 0x8049056
                                   __stack_chk_fail();
                                   // branch -> 0x804905b
                                   // 0x804905b
                                   usleep(10);
                                   result = shm_unlink((char *)&g30);
                                   _exit(0);
                                   return result;
                               }
                               // 0x8048f00
                               lseek(g2, offset2, SEEK_SET);
                               int32_t v13 = v7; // 0x8048f25
                               if (v7 < 0) {
                                   // if_8048f20_0_true
                                   v13 = v12 - 14;
                                   // branch -> after_if_8048f20_0
                               }
                               // after_if_8048f20_0
                               g7 = 0;
                               g3 = v9;
                               int32_t fd3; // 0x8048fd6
                               int32_t v14; // 0x8048fdf
                               int32_t result2; // 0x8049024_2
                               int32_t v15;
                               if (v13 < 16) {
                                   // 0x8048fab
                                   close(g2);
                                   close(fd2);
                                   fd3 = shm_open((char *)&g30, O_RDONLY, S_IRWXU);
                                   v14 = vfork();
                                   if (v14 < 0) {
                                       // 0x8049037
                                       close(fd3);
                                       shm_unlink((char *)&g30);
                                       result2 = -1;
                                       // branch -> 0x804900a
                                   } else {
                                       // 0x8048fe9
                                       if (v14 == 0) {
                                           // 0x804905b
                                           usleep(10);
                                           result = shm_unlink((char *)&g30);
                                           _exit(0);
                                           return result;
                                       }
                                       // 0x8048feb
                                       exec_argv[0] = (char *)a3;
                                       envp[0] = (char *)v15;
                                       result2 = fexecve(fd3, exec_argv, envp) / 256 % 256;
                                       // branch -> 0x804900a
                                   }
                                   // 0x804900a
                                   if (*(int32_t *)20 == v3) {
                                       // 0x804901a
                                       return result2;
                                   }
                                   // 0x8049056
                                   __stack_chk_fail();
                                   // branch -> 0x804905b
                                   // 0x804905b
                                   usleep(10);
                                   result = shm_unlink((char *)&g30);
                                   _exit(0);
                                   return result;
                               }
                               // 0x8048f40
                               // branch -> 0x8048f40
                               while (true) {
                                   // 0x8048f40
                                   g5 = v9;
                                   memset((char *)&v8, 0, 32);
                                   if (read(g2, (char *)g3, 16) >= 1) {
                                       int32_t * v16 = (int32_t *)g3;
                                       function_8049080(v16, v16, 16, (char *)&v6, 0);
                                       write(fd2, (char *)g3, 16);
                                       // branch -> 0x8048fa2
                                   }
                                   int32_t v17 = g7 + 1; // 0x8048fa2
                                   g7 = v17;
                                   if (v17 == v13 / 16) {
                                       // break -> 0x8048fab
                                       break;
                                   }
                                   // continue -> 0x8048f40
                               }
                               // 0x8048fab
                               close(g2);
                               close(fd2);
                               fd3 = shm_open((char *)&g30, O_RDONLY, S_IRWXU);
                               v14 = vfork();
                               if (v14 < 0) {
                                   // 0x8049037
                                   close(fd3);
                                   shm_unlink((char *)&g30);
                                   result2 = -1;
                                   // branch -> 0x804900a
                               } else {
                                   // 0x8048fe9
                                   if (v14 == 0) {
                                       // 0x804905b
                                       usleep(10);
                                       result = shm_unlink((char *)&g30);
                                       _exit(0);
                                       return result;
                                   }
                                   // 0x8048feb
                                   exec_argv[0] = (char *)a3;
                                   envp[0] = (char *)v15;
                                   result2 = fexecve(fd3, exec_argv, envp) / 256 % 256;
                                   // branch -> 0x804900a
                               }
                               // 0x804900a
                               if (*(int32_t *)20 == v3) {
                                   // 0x804901a
                                   return result2;
                               }
                               // 0x8049056
                               __stack_chk_fail();
                               // branch -> 0x804905b
                               // 0x804905b
                               usleep(10);
                               result = shm_unlink((char *)&g30);
                               _exit(0);
                               return result;
                           }
                       }
                   }
               }
           }
       }
       // 0x8049028
       close(g2);
       // branch -> 0x8049030
   }
   // 0x8049030
   // branch -> 0x804900a
   // 0x804900a
   if (*(int32_t *)20 == v3) {
       // 0x804901a
       return -1;
   }
   // 0x8049056
   __stack_chk_fail();
   // branch -> 0x804905b
   // 0x804905b
   usleep(10);
   result = shm_unlink((char *)&g30);
   _exit(0);
   return result;
}



Los códigos deben ir en etiquetas GeSHi
#8
Hola amigos

   Necesito un apoyo.

  ¿Alguien sabe cómo utilizar las herramientas de modificación de contraseña para Rockey4nd?

Estoy tratando de utilizar las herramientas pero siempre del error de contraseñas básicas después, ya estropeado las contraseñas de 6 dongle :)

Gracias por cualquier ayuda

Saludos
#9
Ingeniería Inversa / Habilitar Menu
2 Junio 2017, 05:03 AM
Hola.

Tengo un programa donde Demo está deshabilitado el menú de abrir y guardar documentos.

Es posible habilitar, tal vez en un editor hexa?
Dice Nasm / Tasm sin embargo creo que es firma falta, probable ser Delphi.



¿Alguna idea amigos ?
Toda la ayuda es bienvenido.
#10
Ingeniería Inversa / Dongle Neokey
30 Mayo 2017, 19:12 PM
Ola

¿Alguien con experiencia en Cracking dongle Neokey?
Mejor camino, crear nuevo dll, eliminar llamadas?

: No tengo el dongle

Todo el apoyo es bienvenido. Saludos