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 - jJPHyES

#1
Resulta que gracias a Dios os traigo una aplicación empacada con un themida en sus nuevas versiones, el objetivo principal es unpackearlo completamente y escribir un tutorial detallando cómo se encontró el OEP, cómo se arregla la IAT, y cómo se arreglan los stolen bytes de la aplicación.

Reglas:

- Se puede hacer uso de los scripts de LCT-AT
- Se puede hacer a mano
- Se pueden usar plugins para proteger vuestro olly de la detección del mismo
- ...

PD: Traceando un poco se puede llegar a encontrar el OEP específicamente en el registro EAX en modo FPU.

EAX = 00401000 -> OEP Found!

PD2: Acuérdense que la tabla de importaciones (IAT) está completamente destruida con saltos indirectos a la misma o a una sección del packer.

E9+API+Jump

Fixed

FF25-API-Jump

PD3: La aplicación está hecha en masm.

Link

https://mega.nz/#!2TIRjQTZ!rM3hb_bwWUsZctQjZ8YEmokBqeeb7u50YFGwD2zpdlU

Que Dios te bendiga, protega y acompañe.
#2
Programación C/C++ / Ayuda con crackme
10 Junio 2018, 05:41 AM
Necesito un poco de ayuda, si Dios lo permite, con este crackme.
El problema es a la hora de compilarlo no se puede.

Código (cpp) [Seleccionar]
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>

int main()
{
  char nombre[20];
  char serial[20];
  char vseril[20];
  char vnombr[10] = "Crackme";
  char vseria[10] = "100000";
 
  cout << "Ingrese su nombre:\n\r" << endl;
  cin >> nombre;
  cout << "Ingrese su serial\n\r" << endl;
  cin >> serial;
  system("CLS");
  int ilen = nombre;
  int slen = serial;
  if(ilen > 5 && slen > 5)
  {
    MessageBox(NULL, "Nombre y serial como mínimo 5 caracteres.", "Error", MB_OK+MB_ICONEXCLAMATION);
    exit 0;
  elseif (strcmp(nombre, vnombr) && (strcmp(serial, vseria)))
  {
    MessageBox(NULL, "¡Felicidades!", "Bien", MB_OK+MB_ICONINFORMATION);
    exit 0;
  }
  }
   getch();
   return 0;
}


Que Dios te bendiga, protega y acompañe.
#3
Resulta que esta aplicación hecha en ensamblador hace algunas llamadas, muestra un mensaje de texto utilizando la API MessageBox y puede detectar si hay algún depurador ejecutándolo.

El problema es a la hora de compilarlo con masm que arroja demasiados errores, y talvez haya cometido algún error decidmelo.

Código (asm) [Seleccionar]
.386
.model flat, stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data

MsgBoxTitulo db "¡Importante! - Cristo te ama (:", 0
MsgBoxMensaje db "Lista de archivos:", 13, 10, 13, 10, "- Dedicatoria.txt", 13, 10, "- Instrucciones.txt", 13, 10, "Contactarme.txt", 13, 10, "Archivos *.reg&.exe", 13, 10, 13, 10, "Autor: jJPHyES|CrackSLatinoS.", 13, 10, "Fecha: Martes 29 de Mayo, del 2018.", 13, 10, "Que Dios te bendiga, protega y acompañe.", 0
MsgBoxIsDT db "¡Depurador detectado!", 0
MsgBoxIsDM db "Deberías salir de vuestro depurador...", 0

.code

progasm01:
         mov eax, [fs+0x18]
         mov eax, [eax+0x30]
         movzx eax, byte [eax+0x2]
         cmp eax, TRUE
         je isdebugpreasmd
         
         push 0
         call FreeConsole, 0
         push 0
         push offset MsgBoxTitulo
         push offset MsgBoxMensaje
         call MessageBox
         xor eax, eax
         xor ebx, ebx
         xor ecx, ecx
         push 0
         call ExitProcess, 0
         
         isdebugpreasmd:
         push 0
         push offset MsgBoxIsDT
         push offset MsgBoxIsDM
         call MessageBox
         
         end isdebugpreasmd
         
end progasm01


Editado: Que Dios te bendiga, protega y acompañe.
#4
Bueno, como dice el título del tema este es un reto de unpacking enfocado solamente en VMProtect en una de sus versiones. Cabe destacar que VMProtect se caracteriza por liar un poco el trabajo de unpacking para los crackers.

Nota: He adjuntando también el programita completamente desempacado para que lo veáis, si Dios lo permite.

Enlace de descarga:

MEGA
https://mega.nz/#!36oDlQhY!TaFzeBB2AjVL1Y4CUmEizMkLixXaXqKPHg6A-Zazsjk

Que Dios te bendiga, protega y acompañe.


#5
El código en ensamblador es el siguiente:
Código (asm) [Seleccionar]

push 0
invoke FreeConsole, NULL
push 0
push addr MsgBoxTitulo
push addr MsgBoxMensaje
push MB_OK
invoke MessageBox, NULL


Nota: Lo que yo quisiera es que quede con más líneas como en c++
Código (cpp) [Seleccionar]
algo\ n\ r\ b
algo\ n\ r\ b
algo\ n\ r\ b
algo...\ n\ r\ b.


Que Dios te bendiga, protega y acompañe.
#6
Que Dios te bendiga, protega y acompañe.

Quería empezar en el Warzone de vuestra página web, pero al parecer está caída o offline.
Quisiera que algún administrador o moderador me pudiera ayudar un poco.
#7
- Crackme Renascense por Skapunky -
-----------------------------------

Bueno, primeramente que Dios te bendiga, protega y acompañe. He decidido hacer
este tutorial acerca de cómo resolver el programita (crackme) de skapunky que
según la dificultad que le puso Shaddy o Karmany, es fácil, pero en realidad puede
resultar un poco complejo o difícil para algunos, como lo es en mi caso.

También quiero darle TODA LA GLORIA a Dios porque sin él yo no hubiera podido hacer nada.

Filipenses 4:13 dice:"Todo lo puedo en Cristo que me fortalece".
Proverbios 1:7 dice:"El principio de la sabiduría es el temor de Jehová o a Jehová...".

Nota: En este tutorial solo vamos hacer uso de nuestro depurador viejito y favorito llamado Ollydbg en su versión 1.10 final. También
haciendo uso de algunos plugins (extensiones) que serían solo Phant0m en su última versión ya que tiene protección para las breakpoints de olly y otras cositas más.

Enlaces de descarga de las herramientas necesarias:

Ollydbg 1.10 -> http://ollydbg.de/odbg110.zip
Phant0m 1.85 -> https://tuts4you.com/download.php?view.1276
               http://www.woodmann.com/collaborative/tools/index.php/PhantOm
Command Bar  -> http://www.openrce.org/downloads/details/105/commandbar
               https://tuts4you.com/download.php?view.40

Nota: En este tutorial aprenderemos dos maneras para poder resolver o en palabras viejitas crackear este programita llamado crackme de skapunky.
     La primera se supone que es la más fácil, que sería parchear el programa. Y la seguinda, sería la más difícil o compleja que sería encontrar o conseguir
     el "id" y "contraseña" válidos para poder registrar el programa correctamente y como se debe.


Primer manera de resolver el crackme:

Lo primero que se debe hacer es abrir nuestro depurador, que supongo que ya lo tenéis en vuestro pc, llamado Ollydbg.


Nota: Mi Ollydbg está así porque lo he personalizado un poco, pero vosotros también tenéis la posiblidad de hacerlo así o a vuestro gusto.

Ya cuando tengamos abierto nuestro depurador o ollydbg vamos a cargar nuestro programita o como diría ricardo narvaja nuestra víctima en ollydbg.
Vamos a Archivo->Abrir en inglés sería File->Open y cargamos nuestro programita.



Nota: Antés de cargar el programa, se me olvidada, tendréis que tener vuestro depurador o olly configurado con los plugins (extensiones) que ya os mencioné anteriormente.

Tendreís que configurar el directorio de los archivos o ficheros "basura" y el directorio de los plugins (extensiones), y ahí mismo pondréis los plugins que ya os dije con anterioridad.




Ahora, procederemos a configurar nuestro plugin (extensión) llamada Phat0m.
La configuraremos como se muestra en la siguiente imágen o captura de pantalla:



Bueno, ahora vamos a proceder a realizar la primera manera de resolver este crackme de skapunky.

Vamos a ver las referencias de texto del programa (crackme), y buscaremos las siguientes:

Producto registrado con exito, felicidades
Lo siento, password incorrecto"





Como se puede ver en las anteriores imágenes o capturas de pantalla, se puede ver algo que llama mucho la atención como
una API y una comparación y un salto. Lo que nos interesa, en este caso, si Dios lo permite es el salto para poder parchear el programa.
Lo único que se debe hacer es invertir el salto, de la siguiente manera:



Ahora, para poder obtener el programita parcheado se debe hacer lo siguiente como muestra las siguientes imágenes o capturas de pantalla:






Ahora, se debe proceder a probar que el programita este parcheado correctamente.



Ahora, con la ayuda de Dios se debe proceder a realizar la segunda manera de resolver este crackme; ésta es la más compleja o más difícil. Vamos a por ella.

Primero vamos a ver las APIS del programita (crackme) dándo CTRL + N en nuestro depurador o olly.



La que llama la atención es la API "vbaStrCmp" la cual hace una comparación entre dos cadenas de texto (Strings) o entre dos valores númericos (integers).

Se debe poner un BreakPoint en esa API haciendo uso del plugin (extensión) command bar, de la siguiente manera:


Ahora, ejecutamos el programa con F9, y se debe proceder a poner los datos necesarios que exige el programita (crackme).
En mi caso, puse como "id" el 7 y como contraseña "ska".

Vamos al stack (pila) para ver los dos strings comparados:



Como se puede ver se está comparando nuestra contraseña con la contraseña verdadera para poder registrar el programa, pero hace falta algo que es la "id" del programa.

Búsquemola un poco.



La "id" correspondiente a la contraseña serìa "165".

"id" sería 165.
"Pass" sería ska551650.
"id" sería 147.
"Pass" sería ska1561470.
ska
ska55165
ska551650
55
165
ska1561470
147
156

MOD: Imagenes adaptadas a lo permitido.