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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  .
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: .  (Leído 7,551 veces)
Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
.
« en: 9 Noviembre 2014, 19:53 pm »

.
« Última modificación: 8 Octubre 2016, 02:48 am por Shout » En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Copy me] hkFuzzer v1.0
« Respuesta #1 en: 10 Noviembre 2014, 12:47 pm »

Hola!

El exe está compilado sin soporte para XP. Como tengo pocas tooles en la VM con Seven, me da 989898 mirarlo ahí. Podrías darle soporte para XP?  :P

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: [Copy me] hkFuzzer v1.0
« Respuesta #2 en: 10 Noviembre 2014, 15:38 pm »

Hola!

El exe está compilado sin soporte para XP. Como tengo pocas tooles en la VM con Seven, me da 989898 mirarlo ahí. Podrías darle soporte para XP?  :P

Saludos!

Claro!

Acabo de compilar, y lo he probado en mi VM con XP SP3 x86.

https://mega.co.nz/#!ZZFHzCpa!jJRLsVRPSvh6ebO7lBpkCz2yt_Fl3FkJhlgL0mbfRO0
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Copy me] hkFuzzer v1.0
« Respuesta #3 en: 11 Noviembre 2014, 17:11 pm »

Hola!

Gracias por la recompilada. Voy a tratar de mirarlo este finde, si hago tiempo. Ya veremos de qué se trata...  ;)

Saludos!

EDIT: Me hice un tiempito y lo miré. Con un HBP quitamos la proteccion antiVM de Enigma y podemos correr el soft sin problemas (no hace falta desempacar).

Dejo mi programa que cifra en python (no hago el descifra por falta de tiempo y F1ACA):

Código
  1. #!/usr/bin/env python
  2.  
  3. import sys
  4. import os
  5. import random
  6. import struct
  7.  
  8. def randdw ():
  9.    return struct.pack('<B',random.randrange(0,255)) + struct.pack('<B',random.randrange(0,255)) + struct.pack('<B',random.randrange(0,255)) + struct.pack('<B',random.randrange(0,255))
  10.  
  11. def checksum (cadena):
  12.    i = 0
  13.    chksum = 0
  14.    for x in cadena:
  15.        chksum *= 101
  16.        chksum += ord(x)
  17.    return struct.pack('<L', chksum & 0xFFFFFFFF)
  18.  
  19. def encrypt(fin, fout):
  20.    f = open(fin, 'rb')
  21.    buff = f.read()
  22.    f.close()
  23.    dw1 = randdw()
  24.    dw2 = randdw()
  25.    largo = len(buff)
  26.    resto = largo % 8
  27.    if resto != 0:
  28.        buff += '\x00' * (8-resto)
  29.    chksum = checksum(buff)
  30.    i = 0
  31.    buff2 = ''
  32.    for j in range (0, len(buff)):
  33.        n1 = (ord(dw1[i]) ^ 0xFF)# - 1
  34.        n2 = (ord(buff[j]) ^ 0xFF)# - 1
  35.        buff2 += struct.pack('<B',n1 ^ n2)
  36.        i += 1
  37.        if i == 4:
  38.            i = 0
  39.    i = 0
  40.    buff3=''
  41.    for j in range (0, len(buff2)):
  42.        n1 = (ord(dw2[i]) ^ 0xFF) #- 1
  43.        buff3 += struct.pack('<B',ord(buff2[j]) ^ (n1 ^ ord(dw1[i])))
  44.        i += 1
  45.        if i == 4:
  46.            i = 0
  47.    header = dw1 + dw2 + chksum + struct.pack('<L', largo)  #Estructura del archivo: Header + Data
  48.    finalheader = ''
  49.    for j in range (0, 16):
  50.        sar = (0xABCDEF00 >> (8 * (4 - ((j + 1) % 4)))) & 0xFF
  51.        finalheader += struct.pack('<B', ord(header[j]) ^ ord(struct.pack('<B', sar)))
  52.    f = open(fout, 'wb')
  53.    f.write(finalheader + buff3)
  54.    f.close()
  55.    print fin + ' encrypted into ' + fout
  56.  
  57. def decrypt(fin, fout):
  58.    print 'Too much 989898. This should decrypt ' + fin + ' into ' + fout
  59.    print "It's the oposite of encrypt anyway ;)"
  60.  
  61. def usage():
  62.    print 'Usage:'
  63.    print 'hkfuzzer.py [option] fileIN fileOUT'
  64.    print 'option values:'
  65.    print '    e : Encrypt fileIN into fileOUT. If fileOUT exists, will be overwritten.'
  66.    print '    d : Dencrypt fileIN into fileOUT. If fileOUT exists, will be overwritten.'
  67.    print 'Sample 1: Encrypt a.txt into b.txt'
  68.    print '        hkfuzzer.py e a.txt b.txt'
  69.    print 'Sample 2: Dencrypt b.txt into c.txt'
  70.    print '        hkfuzzer.py d b.txt c.txt'
  71.  
  72. if __name__ == '__main__':
  73.    args=[]
  74.    brutus = False
  75.    largs = sys.argv
  76.    for x in largs:
  77.        args.append(x.lower())
  78.    brutus &= len(largs) != 4
  79.    brutus &= (args[1] != 'e') or (args[1] != 'd')
  80.    brutus &= os.path.exists(args[2]) and os.path.isfile(args[2])
  81.    if brutus:
  82.        usage()
  83.    else:
  84.        if (os.path.exists(args[3]) and os.path.isfile(args[3])):
  85.            os.remove(args[3])
  86.        if args[1] == 'e':
  87.            encrypt(args[2], args[3])
  88.        else:
  89.            decrypt(args[2], args[3])
  90.  
« Última modificación: 11 Noviembre 2014, 20:35 pm por MCKSys Argentina » En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
.
« Respuesta #4 en: 12 Noviembre 2014, 00:26 am »

.
« Última modificación: 8 Octubre 2016, 02:48 am por Shout » En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Resuelto | Copy me] hkFuzzer v1.0
« Respuesta #5 en: 12 Noviembre 2014, 00:36 am »

Podrías explicar un poco cómo lo has hecho? Qué programas has usado? Has usado IDA para ver pseudocódigo, o con asm era suficiente?

Abrí el exe con Olly (y un par de plugines) en una VM con XP.

Lo primero fue hacer que corra enigma en una VM, lo cual se soluciona cambiando el valor de compara al momento de detectar VMWare (la técnica del "IN").

Una vez que el EXE corría, sólo basta con ver el ASM. Es bastante straightforward la cosa.

Incluso, para corroborar algunas cosas, desempaque el exe (a medias, pues la IAT no estaba 100% terminada), pero para ver las funciones importantes en IDA fue suficiente.

De todas formas, el algoritmo lo saqué desde Olly. IDA sólo lo usé para ver "cómo se veía" decompilado.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: [Resuelto | Copy me] hkFuzzer v1.0
« Respuesta #6 en: 12 Noviembre 2014, 00:45 am »

Abrí el exe con Olly (y un par de plugines) en una VM con XP.

Lo primero fue hacer que corra enigma en una VM, lo cual se soluciona cambiando el valor de compara al momento de detectar VMWare (la técnica del "IN").

Una vez que el EXE corría, sólo basta con ver el ASM. Es bastante straightforward la cosa.

Incluso, para corroborar algunas cosas, desempaque el exe (a medias, pues la IAT no estaba 100% terminada), pero para ver las funciones importantes en IDA fue suficiente.

De todas formas, el algoritmo lo saqué desde Olly. IDA sólo lo usé para ver "cómo se veía" decompilado.

Saludos!
Excelente trabajo...

Si fueses tú el que pone el reto, qué habrías cambiado para hacerlo más difícil?
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Resuelto | Copy me] hkFuzzer v1.0
« Respuesta #7 en: 12 Noviembre 2014, 00:51 am »

Si fueses tú el que pone el reto, qué habrías cambiado para hacerlo más difícil?

Creo que el nivel de "maldad" en un crackme depende directamente del tiempo empleado en el mismo. Mayor tiempo = mayor dificultad.

Por lo pronto, creo que hacer la rutina mucho mas larga, compleja (y tediosa) haría una gran diferencia.

Siempre hay que tener en cuenta que la finalidad no es hacer algo incrackeable, sino que sea lo suficientemente "hostil", aburrido y tedioso como para tomarse el tiempo en resolverlo.

Por supuesto, si hay determinación, no hay mucho por hacer (así se han roto los packers más complejos, no?)  :P

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: [Resuelto | Copy me] hkFuzzer v1.0
« Respuesta #8 en: 12 Noviembre 2014, 00:59 am »

Creo que el nivel de "maldad" en un crackme depende directamente del tiempo empleado en el mismo. Mayor tiempo = mayor dificultad.

Por lo pronto, creo que hacer la rutina mucho mas larga, compleja (y tediosa) haría una gran diferencia.

Siempre hay que tener en cuenta que la finalidad no es hacer algo incrackeable, sino que sea lo suficientemente "hostil", aburrido y tedioso como para tomarse el tiempo en resolverlo.

Por supuesto, si hay determinación, no hay mucho por hacer (así se han roto los packers más complejos, no?)  :P

Saludos!
Entonces...

Mi próximo crackme estará escrito en asm, así puedo pasar del asm genérico que genera VS2013, y le dedicaré más tiempo, a ver si así al menos no está chupado de crackear. Gracias por el consejo.

Saludos!
En línea

I'll bring you death and pestilence, I'll bring you down on my own
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: [Resuelto | Copy me] hkFuzzer v1.0
« Respuesta #9 en: 12 Noviembre 2014, 10:55 am »

Entonces...

Mi próximo crackme estará escrito en asm, así puedo pasar del asm genérico que genera VS2013, y le dedicaré más tiempo, a ver si así al menos no está chupado de crackear. Gracias por el consejo.

Saludos!

MCKSys es un monstruo, yo le he retado en varias ocasiones con crackmes y me los resuelve todos practicamente. Te aconsejo que trabajes un buen crackme con alguna rutina de generación de serial o keyfile. Añadas alguna protección antidebug (las más jodidas son las basadas en ticks o timming) y luego lo enmascares todo con una buena VM y/o Packer.

Suerte!
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines