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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Ingeniería Inversa / Re: [Nuevo] [Medio] Keygenme By SaGaRaS v0.1 en: 23 Julio 2013, 07:43 am
A ver. Molebox no tuvo nada que ver en la division del script, eso lo hace el mismo Autoit al compilar un Script. Va ejecutando instrucción por instrucción para no mostrar el Script completo en memoria. Una forma de anti-extracciópn del Script. En las versiones anteriores del Autoit, el Script lo encontrabas en memoria completo. Yo publiqué una técnica que "descubrí" durante el análisis de una versión anterior :)

Por ejemplo en la versión 3.0.0.0 compile un ejemplo sencillo.Es una GUI con un botón, y un Edit:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;-------------------------------------------------------------------
;Original:
#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("Ivinson", 201, 165, 236, 167)
$Button1 = GUICtrlCreateButton("xy", 48, 40, 113, 33, 0)
$Input1 = GUICtrlCreateInput("xp", 56, 96, 105, 21)
GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit

   EndSwitch
WEnd
;------------------------------------------------------------------------------------------

;------------------------------------------------------------------
Reconstruido en Olly.
;------------------------------------------------------------------

#Region ### START Koda GUI section ### Form="

FORM1
GUICREATE
"IvinFrom"

BUTTON1
GUICTRLCREATEBUTTON"
"xy"

INPUT1
GUICTRLCREATEINPUT
"xp"

GUISETSTATE"
SW_SHOW
#EndRegion ### END Koda GUI section ###"

WHILE
NMSG

GUIGETMSG
SWITCH
NMSG

CASE
GUI_EVENT_CLOSE
EXIT
WEND

¿Ves como lo procesa? Es fácil reconstruirlo si sabes lo básico en Autoit.
La otra forma es buscar a ver si encuentras un sitio donde te lo muestro igual al original como es el caso del Sagaras Keygenme pero ese guardó el inicio en un lado y lo demás en otro. :)
2  Sistemas Operativos / GNU/Linux / Re: Compilar netcat ... en: 22 Julio 2013, 11:33 am
Hola. Compilalo en Windows. Es facilísimo. Solo descarga MinGW32:

http://sourceforge.net/projects/mingw/

Copia y pega el siguiente código en un .bat.
Se compilará Full con las opciones -t y -e ( -DTELNET -DGAPING_SECURITY_HOLE )
Asegurate de que el directorio "c:\MinGW\bin\gcc.exe" sea correcto.

En caso de error pidiendo DLLS: libgcc_s_sjlj-1.dll y libstdc++-6.dll, solo búscalas con el buscador de Windows y ponlas en la carpeta donde está cc1.exe y listo. Que disfrutes el netcat.

@Archivo .BAT para compilar Netcat.
@REM  @IvinsonCLS 22/07/2013
                           
del *.o                                                                                                               
del nc.exe                                                                                                             
                                                                                                   
c:\MinGW\bin\gcc.exe -c -DTELNET -DGAPING_SECURITY_HOLE getopt.c       
                                             
c:\MinGW\bin\gcc.exe -c -DTELNET -DGAPING_SECURITY_HOLE doexec.c   
                                                   
c:\MinGW\bin\gcc.exe -c -DTELNET -DGAPING_SECURITY_HOLE netcat.c
                                                                                                                       
c:\MinGW\bin\gcc.exe  getopt.o doexec.o netcat.o  -o nc.exe    -Wl,-Lc:\MinGW\lib,-lkernel32,-luser32,-lwinmm,-lws2_32

                                                                                                                       
3  Programación / Ingeniería Inversa / Re: [Nuevo] [Medio] Keygenme By SaGaRaS v0.1 en: 22 Julio 2013, 08:52 am
Que bueno que te haya gustado leer mis traducciones. Lo hice con mucho gusto. Lo que me hizo perder más tiempo fueron las imagenes que tuve que traducirlas en Photoshit. :) Ya veo que valió el esfuerzo.

¿Cómo logré la reconstrucción?

-Ejecutando el packer en Olly, buscando las strings del título por ejemplo.
-Poniendo HE en las zonas donde se descomprime.
-La reconstrucción fue tipo reparación de IAT.
-Un HE en un punto estratégico e iba copiando y pegando en el block de notas. :)
-Hoy por ejemplo, puse un BP Conditional Log y fue mucho más facil.
-Aún no está completo. Faltan que operaciones hace con el nombre, pero me cansé. jajaja.


Nota: Ese Autoit está empacado con Molebox.

No conocía ese packer. Me encantó. Es demasiado bueno.
Puedes meter todos los exe que quieras y ejecutar uno al abrir el exe.

Es como un SFX de Winrar pero avanzado. Jeje.

Mira la instantanea que tomé de ejemplo:

http://bit.ly/12GAaAb

Es un Binder Multiarchivo.



4  Programación / Ingeniería Inversa / Re: [Nuevo] [Medio] Keygenme By SaGaRaS v0.1 en: 20 Julio 2013, 09:48 am
Después de días acostándome bien tarde, pude reconstruir instrucción por instrucción el script en un 98% creo. :)

@IvinsonCLS


">>>AUTOIT SCRIPT<<<"

#Region
#AutoIt3Wrapper_Icon=..\..\Documents\Olympus Team - [FORUM]\SG.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Made By SaGaRaS - Keygenme v1.0.0
#AutoIt3Wrapper_Res_Description=Made By SaGaRaS
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion


;Quersumme(2*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")');0x30
BinaryToString("0x"&Stringlen("KAG")&"0");0x30


;$zahl+$split[$i]

;Funciones:
_K_Arrays_Definition_FuctionK()

Assign('_K0K', '0') ;_K0K = 0

_K_K_Variable_Definition_Function()

;Quersumme(1*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0")
BinaryToString("0x"&Stringlen("KAG")&"0")

;Quersumme(1*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0")
BinaryToString("0x"&Stringlen("KAG")&"0")

Assign('K_K0xA27CF4DDE783C56E2841C17AC45ED42D', 'SaGaRaS Keygenme v1.0.0')
Assign('K_K0x79D8DB8C440746D0E9E8E463D0F91BF5', 'Creditos ===> SaGaRaS')

int(Cos(Sin (65572.6630840562))^-1)
int(Cos(Sin (65572.6630840562))^-1)
int(Cos(Sin (65572.6630840562))^-1)
int(Cos(Sin (65572.6630840562))^-1)
int(Cos(Sin (65572.6630840562))^-1)
int(Cos(Sin (65572.6630840562))^-1)

Assign('K_K0x6E88D9576F8797146D9AE43531F02133', '64')

BitXOR(54,62)
BitXOR(54,62)
BitXOR(54,62)
BitXOR(54,62)
BitXOR(54,62)

Assign('K_K0x6E88D9576F8797146D9AE43531F02133', '64')
Assign('K_K0xAEA3E693E7F860565C390B046B852E39', 'HKCU')
Assign('K_K0x082CAF4CEEF4B5BBB1CF53EDE232343F', '(.{8})(.{4})(.{4})(.{4})(.{12})')

int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)
int(Cos(Sin (57017.0476385877))^-1)

Assign('K_K0x47B0B7E8B12DCC120EBDC471B5CD0A71', '\{\1-\2-\3-\4-\5\}')

;Quersumme(6*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")'); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

;Quersumme(6*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

Assign('K_K0xECE0D65036792F70FE9A4FB9CC22C081', 'Keygenme By SaGaRaS')

;Quersumme(7*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")'); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

;Quersumme(7*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

Assign('K_K0xD9BBD89559CA809C53EB7B78880866A5', 'Name:')
Assign('K_K0x5362D543C6D13F7B82B86E1DF63F597F', 'Serial:')
Assign('K_K0x93C2C9148BDE7A06A02305506F9F5C3D', 'Registrer')
Assign('K_K0x99FF9971D1203E2666ADEC5E1BAD4BC7', 'Made By SaGaRaS')

;Quersumme(5*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0") ; = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

;Quersumme(5*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")'); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

;Quersumme(5*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")')
BinaryToString("0x"&Stringlen("KAG")&"0")
BinaryToString("0x"&Stringlen("KAG")&"0")

Assign('K_K0xA5C15E537BF037D7C07590E28854F577', 'MS Sans Serif')
BitXOR(40,32)
BitXOR(40,32)

Assign('K_K0xC13C28F186B29B0753F81E4281A6B74A', 'version 1.0.0')
BitXOR(19,27)
BitXOR(19,27)

Assign('K_K0xC46257C9DEE45E53DAE13BFF474946B7', 'sagsrdkwadd147')

int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)
int(Cos(Sin (83615.0192740841))^-1)

Assign('K_K0x5913E9041DBF93F9543D1101BAA7BEFA', 'Correct !!')

Assign('K_K0x8AF6EA3D9F5309CB7107361384A24564', 'MSN => sagarasanon@hotmail.com')

;--------------------------------------------------------------------
GUICreate( $K_K0xECE0D65036792F70FE9A4FB9CC22C081 , 269, 194, 192, 124)
BitXOR(70,78)
BitXOR(70,78)
BitXOR(70,78)

GUICtrlCreateLabel( $K_K0xD9BBD89559CA809C53EB7B78880866A5 , 16, 8, 35, 17)
GUICtrlCreateInput("", 56, 8, 169, 21)

GUICtrlCreateLabel( $K_K0x5362D543C6D13F7B82B86E1DF63F597F , 16, 48, 33, 17)
BitXOR(84,92)
BitXOR(84,92)

GUICtrlCreateInput("", 56, 48, 169, 21)

GUICtrlCreateButton( $K_K0x93C2C9148BDE7A06A02305506F9F5C3D , 65, 96, 139, 33)
BitXOR(50,58)
BitXOR(50,58)

GUICtrlCreateLabel( $K_K0x99FF9971D1203E2666ADEC5E1BAD4BC7 , 52, 136, 164, 28)
GUICtrlSetFont(-1, 14, 400, 0, $K_K0xA5C15E537BF037D7C07590E28854F577 )

GUICtrlCreateLabel( $K_K0xC13C28F186B29B0753F81E4281A6B74A , 102, 77, 65, 17)
GUISetState(@SW_SHOW)
BitXOR(21,29)
;--------------------------------------------------------------------
GUIGetMsg()

BitXOR(21,29)

int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)

RegRead($sHKCU & '\HARDWARE\DESCRIPTION\System\', $aSystem[$i])

int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)

RegRead($sHKCU & '\HARDWARE\DESCRIPTION\System\', $aSystem[$i])

int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
int(Cos(Sin (95524.4306303009))^-1)
;? Sin
;? Sin
;? Cos
;? Cos
;? Sin
;? Sin

RegRead($sHKCU & '\HARDWARE\DESCRIPTION\System\', $aSystem[$i])

StringStripWS($sOutput, 8) ;La opción "8" elimina los espacios.

;Quersumme(2*9)-5

Execute('BinaryToString("0x"&Stringlen("KAG")&"0")'); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0
BinaryToString("0x"&Stringlen("KAG")&"0"); = 0

;StringLen

;Limpiamos los Edits.
GUICtrlSetData($Input1, "")
GUICtrlSetData($Input2, "")
BitXOR(21,29)
;-------------------------------------------------------------------
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines