Hola les traigo este KEYGENME , ya que el Crackme solo funcionaba para Win7 , realice este en un lenguaje 100% compatible
•HERRAMIENTAS
OLLYDBG
•COMPATIBILIDAD:
•Win 97 => Running..
•Win XP => Running..
•Win 7 => Running..
•Win 8 => Running..
Dificultad => Media (CREO YO XDDD)
•Objetivos:
•Realizar un Keygen para esta aplicacion
•Crackear o descubrir el metodo de encriptamiento
•No usar Descompiladores, Descompresores
•Divertirse al maximo :D
•Screen:
(http://i.imgur.com/hDsfeys.png)
•Links:
MEGA:
Descargar SaGaRaS Keygenme v1.0 (https://mega.co.nz/#!hZlURT4S!EPGC0XiykNoio7uR5-AsXREtndxmxrzLWO2hrvzO_pk)
DepositFiles:
Descargar SaGaRaS Keygenme v1.0 (http://depositfiles.com/files/3kew87fmb)
Si encuentras una solucion no dudes en enviarme un tutorial por Mensaje Privado o si prefieres puedes postearla en este post para amplir el conocimiento de todos ;).
consulta rapida este codigo es especial..primera vez que veo una implementacion autoit de esta forma...
Pusiste safengine+autoit?
pusiste vmprotect+autoit? estas llamadas de heap...no es usado en muchos packers...por eso pregunto
en olly 2 sin antidebug me muestra
---------------------------
---------------------------
This is a compiled AutoIt script. AV researchers please email avsupport@autoitscript.com for support.
---------------------------
Aceptar
---------------------------
con hide antidebug..ejecuta todo normalmente..como debe ser...
Cita de: apuromafo en 1 Febrero 2013, 04:24 AM
consulta rapida este codigo es especial..primera vez que veo una implementacion autoit de esta forma...
Pusiste safengine+autoit?
pusiste vmprotect+autoit? estas llamadas de heap...no es usado en muchos packers...por eso pregunto
en olly 2 sin antidebug me muestra
---------------------------
---------------------------
This is a compiled AutoIt script. AV researchers please email avsupport@autoitscript.com for support.
---------------------------
Aceptar
---------------------------
con hide antidebug..ejecuta todo normalmente..como debe ser...
No te adelantare nada , Dejare que te diviertas buscando todo (creeme que es mucho mas divertido xD) Solo te dire que intente hace un trabajo duro para que ustedes lo disfruten mas xD
OK, DESEO mucha suerte no dispondre de mucho tiempo..mañana debo descansar... me canso meditar en tu reto anterior..ire a dormir ahora...
cuidate bro..suerte a quienes se animen ^^
pd:intenten usar olly snd 2.1 si no les resulta el ollydbg
para mi a simple vista es algo que no me cuadra una parte que aprendi tiene algunos string de php que conoci antes..(this version of PCRE is not compiled with PCRE_UCP )...pero deberia ser lua..hexa o alguna variacion..pero realmente ta denso...
lo mas cercano a ver string es la api ScriptTextOut
donde se ve que mi usuario ingresado es cambiado...
Ok, que descanses , este Keygenme le puse mucho empeño espero que se animen xDD
Cita de: SaGaRaS en 1 Febrero 2013, 00:54 AM
•No usar Descompiladores, Descompresores
Si es un .NET, lo logico es usar Reflector antes que Olly (Ojo, no digo que sea este el caso!)
Cita de: SaGaRaS en 1 Febrero 2013, 00:54 AM
Si encuentras una solucion no dudes en enviarme un tutorial por Mensaje Privado ;).
Y tu te encargas de subir las soluciones y publicar los links? No seria mejor que los que participen posteen sus resultados?
Seh, eso es una mejor idea MCKSys Argentina
#Post Edited:
Los que deseen pueden postear su solucion en este mismo post :3
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)
;-------------------------------------------------------------------
Excelente trabajo Ivinson!!!
Aprovechen los demás para descargar, analizar y guardar el crackme!!
Cita de: Ivinson 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)
;-------------------------------------------------------------------
¿Cómo lograste hacer la reconstrucción?
Esto no va al tema, pero ¿Tú fuiste quien tradujo los tutoriales de corelancoder?, si es así te quería dar las gracias por este excelente trabajo (me terminé todo los tutoriales, notando tanto contenido, debiste haberte demorado bastante).
Mis felicitaciones ;-)
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.
buen trabajo ivinson, me deje engañar por los entrypoints... molebox es un stub muy mutante lo usan rdg, lo uso karmany y otros :D suerte a quien resuelva esos xor ^^
Excelente forma de reconstruir el código, ya me hago una idea conociendo SFX, gracias :)
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. :)
Wow ! Excelente recontruccion amigo , jamas hubiera epserado que alguien lo hubiese solucionado de esa manera ..
Seh el molebox es una excelente herramienta de proteccion . :xD
Saludos ! Me encanto que se hubieran divertido