|
183
|
Programación / Ingeniería Inversa / Re: Tutorial acerca del crackme de SkaPunky
|
en: 11 Mayo 2018, 15:23 pm
|
este es un programa hecho en vb, diriamos que para encontrar el serial dificultad 0 o 1 en ollydbg o x64dbg haciendo uso de la api __vbastrcmp o usando vbastrcmp tool pero si es para analizar el algoritmo no creo que sea tan facil del todo: bueno lo acabo de revisar, se ve así tiene 3 pequeños algoritmos el serial válido se forma de concatenaciones de 4 partes (parte0+parte1+parte2+parte3) considera cada caracter como ascii parte 0 =siendo "ska" algo constante la parte 1, es la suma de cada carácter en ascii (decimal) la parte 2 , es el primer dígito ingresado x 3 (multiplicado por 3) la parte 3 , el último carácter (en ascii) x5 (pero es influenciado por un valor anterior , Asc(edx+ecx*4)) como raise excepcion, entonces si el largo del serial es 8 o mayor será multiplicado por 5, de lo contrario es 0. en el caso de 8 carácteres o más se cumple que es caracter ascii x 5 sin problema. por ejemplo el id 165 largo del serial ingresado = 3 el 1 = en ascii (el numero decimal es 49) el 6 = en ascii (el nnumero decimal es 54) el 5 = en ascii (el nnumero decimal es 53) la suma de los 3 es 156 llevamos ska156+parte2+parte3 para la siguiente parte el primer número ingresado es el 1 es multiplicado por 3 asi que : el 1 = en ascii (el numero decimal es 49) x 3 = 147 llevamos ska156147+parte3 y la tercera parte es el ultimo por 5 ,con largo pequeño es 0 queda el valor 00530000 comparado con otro integer que es menor, no pasará al ciclo necesario , asi que el resultado será 0 llevamos ska1470 algunos seriales son
id:165 Serial: ska1561470
Id:apuromafo ska859291510
ID:ApuromafoCLS ska827195510
Saludos Cordiales Apuromafo CLS pd: el codigo de la porcion de codigo en vbdecompiler del action click Private Sub Command1_Click() '4096F0 Dim var_15C As TextBox loc_00409757: Dim var_40(7) As String loc_00409768: Dim var_70(7) As Variant loc_004097AE: var_90 = Text1.Text loc_004097B6: var_160 = var_90 loc_0040982D: var_8C = var_90 loc_00409839: var_eax = %fobj loc_0040987F: var_90 = Text2.Text loc_00409887: var_160 = var_90 loc_004098E5: var_7C = var_90 loc_004098F1: var_eax = %fobj loc_00409900: On Error Resume Next loc_00409938: var_C0 = Mid(var_8C, 1, 1) loc_0040994F: If var_15C >= 8 Then GoTo loc_0040995D loc_0040995B: GoTo loc_00409969 loc_0040995D: 'Referenced from: 0040994F loc_0040995D: var_eax = Err.Raise loc_00409963: var_1A0 = Err.Raise loc_00409969: 'Referenced from: 0040995B loc_00409992: ecx = var_C0 loc_004099EF: var_C0 = Mid(var_8C, 2, 1) loc_00409A06: If var_15C >= 8 Then GoTo loc_00409A14 loc_00409A12: GoTo loc_00409A20 loc_00409A14: 'Referenced from: 00409A06 loc_00409A14: var_eax = Err.Raise loc_00409A1A: var_1A4 = Err.Raise loc_00409A20: 'Referenced from: 00409A12 loc_00409A49: ecx = var_C0 loc_00409AA6: var_C0 = Mid(var_8C, 3, 1) loc_00409ABD: If var_15C >= 8 Then GoTo loc_00409ACB loc_00409AC9: GoTo loc_00409AD7 loc_00409ACB: 'Referenced from: 00409ABD loc_00409ACB: var_eax = Err.Raise loc_00409AD1: var_1A8 = Err.Raise loc_00409AD7: 'Referenced from: 00409AC9 loc_00409B00: ecx = var_C0 loc_00409B5D: var_C0 = Mid(var_8C, 4, 1) loc_00409B74: If var_15C >= 8 Then GoTo loc_00409B82 loc_00409B80: GoTo loc_00409B8E loc_00409B82: 'Referenced from: 00409B74 loc_00409B82: var_eax = Err.Raise loc_00409B88: var_1AC = Err.Raise loc_00409B8E: 'Referenced from: 00409B80 loc_00409BB7: ecx = var_C0 loc_00409C14: var_C0 = Mid(var_8C, 5, 1) loc_00409C2B: If var_15C >= 8 Then GoTo loc_00409C39 loc_00409C37: GoTo loc_00409C45 loc_00409C39: 'Referenced from: 00409C2B loc_00409C39: var_eax = Err.Raise loc_00409C3F: var_1B0 = Err.Raise loc_00409C45: 'Referenced from: 00409C37 loc_00409C6E: ecx = var_C0 loc_00409CCB: var_C0 = Mid(var_8C, 6, 1) loc_00409CE2: If var_15C >= 8 Then GoTo loc_00409CF0 loc_00409CEE: GoTo loc_00409CFC loc_00409CF0: 'Referenced from: 00409CE2 loc_00409CF0: var_eax = Err.Raise loc_00409CF6: var_1B4 = Err.Raise loc_00409CFC: 'Referenced from: 00409CEE loc_00409D25: ecx = var_C0 loc_00409D82: var_C0 = Mid(var_8C, 7, 1) loc_00409D99: If var_15C >= 8 Then GoTo loc_00409DA7 loc_00409DA5: GoTo loc_00409DB3 loc_00409DA7: 'Referenced from: 00409D99 loc_00409DA7: var_eax = Err.Raise loc_00409DAD: var_1B8 = Err.Raise loc_00409DB3: 'Referenced from: 00409DA5 loc_00409DDC: ecx = var_C0 loc_00409E39: var_C0 = Mid(var_8C, 8, 1) loc_00409E50: If var_15C >= 8 Then GoTo loc_00409E5E loc_00409E5C: GoTo loc_00409E6A loc_00409E5E: 'Referenced from: 00409E50 loc_00409E5E: var_eax = Err.Raise loc_00409E64: var_1BC = Err.Raise loc_00409E6A: 'Referenced from: 00409E5C loc_00409E93: ecx = var_C0 loc_00409ED6: If var_160 >= 8 Then GoTo loc_00409EE4 loc_00409EE2: GoTo loc_00409EF0 loc_00409EE4: 'Referenced from: 00409ED6 loc_00409EE4: var_eax = Err.Raise loc_00409EEA: var_1C0 = Err.Raise loc_00409EF0: 'Referenced from: 00409EE2 loc_00409F03: var_118 = Asc(ecx+eax*4) loc_00409F25: If var_15C >= 8 Then GoTo loc_00409F33 loc_00409F31: GoTo loc_00409F3F loc_00409F33: 'Referenced from: 00409F25 loc_00409F33: var_eax = Err.Raise loc_00409F39: var_1C4 = Err.Raise loc_00409F3F: 'Referenced from: 00409F31 loc_00409F51: var_64 = var_64 + var_15C loc_00409F53: var_64 = Asc(ecx+eax*4) loc_00409F71: If var_160 >= 8 Then GoTo loc_00409F7F loc_00409F7D: GoTo loc_00409F8B loc_00409F7F: 'Referenced from: 00409F71 loc_00409F7F: var_eax = Err.Raise loc_00409F85: var_1C8 = Err.Raise loc_00409F8B: 'Referenced from: 00409F7D loc_00409F9E: var_118 = Asc(edx+ecx*4) loc_00409FC0: If var_15C >= 8 Then GoTo loc_00409FCE loc_00409FCC: GoTo loc_00409FDA loc_00409FCE: 'Referenced from: 00409FC0 loc_00409FCE: var_eax = Err.Raise loc_00409FD4: var_1CC = Err.Raise loc_00409FDA: 'Referenced from: 00409FCC loc_00409FEC: var_15C = var_15C + var_64 loc_00409FEE: var_15C = Asc(edx+ecx*4) loc_0040A00C: If var_160 >= 8 Then GoTo loc_0040A01A loc_0040A018: GoTo loc_0040A026 loc_0040A01A: 'Referenced from: 0040A00C loc_0040A01A: var_eax = Err.Raise loc_0040A020: var_1D0 = Err.Raise loc_0040A026: 'Referenced from: 0040A018 loc_0040A039: var_118 = Asc(edx+ecx*4) loc_0040A05B: If var_15C >= 8 Then GoTo loc_0040A069 loc_0040A067: GoTo loc_0040A075 loc_0040A069: 'Referenced from: 0040A05B loc_0040A069: var_eax = Err.Raise loc_0040A06F: var_1D4 = Err.Raise loc_0040A075: 'Referenced from: 0040A067 loc_0040A087: var_15C = var_15C + var_64 loc_0040A089: var_15C = Asc(edx+ecx*4) loc_0040A0A7: If var_160 >= 8 Then GoTo loc_0040A0B5 loc_0040A0B3: GoTo loc_0040A0C1 loc_0040A0B5: 'Referenced from: 0040A0A7 loc_0040A0B5: var_eax = Err.Raise loc_0040A0BB: var_1D8 = Err.Raise loc_0040A0C1: 'Referenced from: 0040A0B3 loc_0040A0D4: var_118 = Asc(edx+ecx*4) loc_0040A0F6: If var_15C >= 8 Then GoTo loc_0040A104 loc_0040A102: GoTo loc_0040A110 loc_0040A104: 'Referenced from: 0040A0F6 loc_0040A104: var_eax = Err.Raise loc_0040A10A: var_1DC = Err.Raise loc_0040A110: 'Referenced from: 0040A102 loc_0040A122: var_15C = var_15C + var_64 loc_0040A124: var_15C = Asc(edx+ecx*4) loc_0040A142: If var_160 >= 8 Then GoTo loc_0040A150 loc_0040A14E: GoTo loc_0040A15C loc_0040A150: 'Referenced from: 0040A142 loc_0040A150: var_eax = Err.Raise loc_0040A156: var_1E0 = Err.Raise loc_0040A15C: 'Referenced from: 0040A14E loc_0040A16F: var_118 = Asc(edx+ecx*4) loc_0040A191: If var_15C >= 8 Then GoTo loc_0040A19F loc_0040A19D: GoTo loc_0040A1AB loc_0040A19F: 'Referenced from: 0040A191 loc_0040A19F: var_eax = Err.Raise loc_0040A1A5: var_1E4 = Err.Raise loc_0040A1AB: 'Referenced from: 0040A19D loc_0040A1BD: var_15C = var_15C + var_64 loc_0040A1BF: var_15C = Asc(edx+ecx*4) loc_0040A1DD: If var_160 >= 8 Then GoTo loc_0040A1EB loc_0040A1E9: GoTo loc_0040A1F7 loc_0040A1EB: 'Referenced from: 0040A1DD loc_0040A1EB: var_eax = Err.Raise loc_0040A1F1: var_1E8 = Err.Raise loc_0040A1F7: 'Referenced from: 0040A1E9 loc_0040A20A: var_118 = Asc(edx+ecx*4) loc_0040A22C: If var_15C >= 8 Then GoTo loc_0040A23A loc_0040A238: GoTo loc_0040A246 loc_0040A23A: 'Referenced from: 0040A22C loc_0040A23A: var_eax = Err.Raise loc_0040A240: var_1EC = Err.Raise loc_0040A246: 'Referenced from: 0040A238 loc_0040A258: var_15C = var_15C + var_64 loc_0040A25A: var_15C = Asc(edx+ecx*4) loc_0040A278: If var_160 >= 8 Then GoTo loc_0040A286 loc_0040A284: GoTo loc_0040A292 loc_0040A286: 'Referenced from: 0040A278 loc_0040A286: var_eax = Err.Raise loc_0040A28C: var_1F0 = Err.Raise loc_0040A292: 'Referenced from: 0040A284 loc_0040A2A5: var_118 = Asc(edx+ecx*4) loc_0040A2C7: If var_15C >= 8 Then GoTo loc_0040A2D5 loc_0040A2D3: GoTo loc_0040A2E1 loc_0040A2D5: 'Referenced from: 0040A2C7 loc_0040A2D5: var_eax = Err.Raise loc_0040A2DB: var_1F4 = Err.Raise loc_0040A2E1: 'Referenced from: 0040A2D3 loc_0040A2F3: var_15C = var_15C + var_64 loc_0040A2F5: var_15C = Asc(edx+ecx*4) loc_0040A313: If var_160 >= 8 Then GoTo loc_0040A321 loc_0040A31F: GoTo loc_0040A32D loc_0040A321: 'Referenced from: 0040A313 loc_0040A321: var_eax = Err.Raise loc_0040A327: var_1F8 = Err.Raise loc_0040A32D: 'Referenced from: 0040A31F loc_0040A340: var_118 = Asc(edx+ecx*4) loc_0040A362: If var_15C >= 8 Then GoTo loc_0040A370 loc_0040A36E: GoTo loc_0040A37C loc_0040A370: 'Referenced from: 0040A362 loc_0040A370: var_eax = Err.Raise loc_0040A376: var_1FC = Err.Raise loc_0040A37C: 'Referenced from: 0040A36E loc_0040A38E: var_15C = var_15C + var_64 loc_0040A390: var_15C = Asc(edx+ecx*4) loc_0040A3AE: If var_15C >= 8 Then GoTo loc_0040A3BC loc_0040A3BA: GoTo loc_0040A3C8 loc_0040A3BC: 'Referenced from: 0040A3AE loc_0040A3BC: var_eax = Err.Raise loc_0040A3C2: var_200 = Err.Raise loc_0040A3C8: 'Referenced from: 0040A3BA loc_0040A3D9: If var_160 >= 8 Then GoTo loc_0040A3E7 loc_0040A3E5: GoTo loc_0040A3F3 loc_0040A3E7: 'Referenced from: 0040A3D9 loc_0040A3E7: var_eax = Err.Raise loc_0040A3ED: var_204 = Err.Raise loc_0040A3F3: 'Referenced from: 0040A3E5 loc_0040A404: If var_164 >= 8 Then GoTo loc_0040A412 loc_0040A410: GoTo loc_0040A41E loc_0040A412: 'Referenced from: 0040A404 loc_0040A412: var_eax = Err.Raise loc_0040A418: var_208 = Err.Raise loc_0040A41E: 'Referenced from: 0040A410 loc_0040A42F: If var_168 >= 8 Then GoTo loc_0040A43D loc_0040A43B: GoTo loc_0040A449 loc_0040A43D: 'Referenced from: 0040A42F loc_0040A43D: var_eax = Err.Raise loc_0040A443: var_20C = Err.Raise loc_0040A449: 'Referenced from: 0040A43B loc_0040A45A: If var_16C >= 8 Then GoTo loc_0040A468 loc_0040A466: GoTo loc_0040A474 loc_0040A468: 'Referenced from: 0040A45A loc_0040A468: var_eax = Err.Raise loc_0040A46E: var_210 = Err.Raise loc_0040A474: 'Referenced from: 0040A466 loc_0040A485: If var_170 >= 8 Then GoTo loc_0040A493 loc_0040A491: GoTo loc_0040A49F loc_0040A493: 'Referenced from: 0040A485 loc_0040A493: var_eax = Err.Raise loc_0040A499: var_214 = Err.Raise loc_0040A49F: 'Referenced from: 0040A491 loc_0040A4B0: If var_174 >= 8 Then GoTo loc_0040A4BE loc_0040A4BC: GoTo loc_0040A4CA loc_0040A4BE: 'Referenced from: 0040A4B0 loc_0040A4BE: var_eax = Err.Raise loc_0040A4C4: var_218 = Err.Raise loc_0040A4CA: 'Referenced from: 0040A4BC loc_0040A4DB: If var_178 >= 8 Then GoTo loc_0040A4E9 loc_0040A4E7: GoTo loc_0040A4F5 loc_0040A4E9: 'Referenced from: 0040A4DB loc_0040A4E9: var_eax = Err.Raise loc_0040A4EF: var_21C = Err.Raise loc_0040A4F5: 'Referenced from: 0040A4E7 loc_0040A501: var_64 = var_64 + var_15C loc_0040A510: var_64 = var_64 + var_160 loc_0040A52D: var_64 = var_64 + var_164 loc_0040A54A: var_64 = var_64 + var_168 loc_0040A567: var_64 = var_64 + var_16C loc_0040A584: var_64 = var_64 + var_170 loc_0040A5A1: var_64 = var_64 + var_174 loc_0040A5BE: var_64 = var_64 + var_178 loc_0040A5DA: var_24 = var_64 + var_64 + var_64 + var_64 + var_64 + var_64 + var_64 + var_64 loc_0040A634: If var_15C >= 8 Then GoTo loc_0040A642 loc_0040A640: GoTo loc_0040A64E loc_0040A642: 'Referenced from: 0040A634 loc_0040A642: var_eax = Err.Raise loc_0040A648: var_220 = Err.Raise loc_0040A64E: 'Referenced from: 0040A640 loc_0040A66E: var_64 = var_64 + var_15C loc_0040A68A: var_58 = var_64 * 3 loc_0040A6A8: If var_15C >= 8 Then GoTo loc_0040A6B6 loc_0040A6B4: GoTo loc_0040A6C2 loc_0040A6B6: 'Referenced from: 0040A6A8 loc_0040A6B6: var_eax = Err.Raise loc_0040A6BC: var_224 = Err.Raise loc_0040A6C2: 'Referenced from: 0040A6B4 loc_0040A6F3: var_ret_2 = var_64 + var_15C * 5 loc_0040A77C: var_28 = "ska" & var_24 & CStr(var_58) & CStr(CInt(-1)) loc_0040A7C0: If (var_28 <> var_7C) <> 0 Then GoTo loc_0040A8A3 loc_0040A815: var_C0 = "CrackMe" loc_0040A83B: var_B0 = "Good, this version is registrered !" loc_0040A85F: MsgBox(var_B0, 1, var_C0, var_D0, var_E0) loc_0040A871: var_48 = CStr(MsgBox(var_B0, 1, var_C0, var_D0, var_E0)) loc_0040A89E: GoTo loc_0040A97B loc_0040A8A3: 'Referenced from: 0040A7C0 loc_0040A8F2: var_C0 = "CrackMe" loc_0040A918: var_B0 = "Sorry, password Incorrect" loc_0040A93C: MsgBox(var_B0, 1, var_C0, var_D0, var_E0) loc_0040A94E: var_48 = CStr(MsgBox(var_B0, 1, var_C0, var_D0, var_E0)) loc_0040A97B: 'Referenced from: 0040A89E loc_0040A987: GoTo loc_0040A9F9 loc_0040A9B6: var_eax = %fobj loc_0040A9F8: Exit Sub loc_0040A9F9: 'Referenced from: 0040A987 loc_0040AA0E: var_154 = var_40 loc_0040AA38: var_158 = var_70 End Sub
|
|
|
184
|
Programación / Ingeniería Inversa / Re: Crackear programa con protección de datos
|
en: 9 Mayo 2018, 17:22 pm
|
Buenas noches al Foro.
Tengo dudas respecto a un programa que carga el encriptador softkey2 y al tratar de desproteger DEP en windows no lo permite, me sale el mensaje: "este programa solo puede ejecutarse con DEP habilitado". El programa carga como demo y se habilita con un archivo ?????file.cert que solo se envia al usuario autenticado con la compra del software
Lo he tratado de desensamblar con windasm32 y con Ollydbg y con IDA64, pero solo desensambla sus dlls relacionadas como user ntdll y kernel.
Al iniciar la depuración solo llega hasta el modulo Kernel y salta con una excepcion en un loop infinito para finalizar cerrando el debugger( win32dasm, ollydbg) con un mensaje del sistema operativo indicando que el programa se terminara...
alguna sugerencia respecto a como puedo desensamblarlo?????
con esos mismos programas y x64dbg, pero primero aprende a usarlos Saludos Apuromafo pd: los programas no necesariamente son siempre nativos, algunas veces son .net y se deben usar otros tipos de programas.. se usan herramientas como detect is easy, protection id y rdgpacker detector, antes de tomar conclusiones de ser un packer/protector
|
|
|
185
|
Programación / Ingeniería Inversa / Re: saber que programa de esteganografia ha modificado un archivo
|
en: 9 Mayo 2018, 17:20 pm
|
en general cuando usas alguna herramienta como steghide, te das cuenta que hay muchas opciones, de seguro que si vas a cualquier ctf (atenea o el que sea) que tenga stenografía, de seguro encuentras que lo hacen modificando cabezeras, agregando informacion despues del archivo entre otros. aveces va con el tema de las capas , la capa principal es la informacion que vemos, las otras capas (ya sea un thubnail o el que sea, se encarga de colocar la información oculta)
hay muchisimas herramientas de estenografía, y muchos editores hexadecimales, saber quien lo ha hecho es imposible a primera vista.
Saludos Apuromafo pd: evernote es como un editor de texto, es copiar/pegar contenidos, aveces colocar una palabra con color transparente al texto que se ve...
|
|
|
187
|
Programación / Ingeniería Inversa / Re: conseguir la forma en la que se construye una cadena de texto
|
en: 7 Mayo 2018, 17:18 pm
|
Me gustaría saber como conseguir el algoritmo que hace que una cadena de texto sea construida en un número de 10 dígitos con signo. ejemplo.. El campo de entrada es : "150" y la salida es "1577100463" El campo de entrada es: "150.000" y la salida es "-67672894"
Los digitos por varias pruebas que he realizado son digitos de 9 o 10 digitos con signo.
La salida es única dependiendo de la.entrada.
Un saludo y gracias.
de seguro debe ser un algoritmo bien curioso, pero sin codigo de fuente, solo te toca leer los manuales de ingenieria inversa por si te resulta algo en particular, yo mirando un serial generado de algo escrito, no necesariamente llegaré a un resultado puntual, detrás de una ecuación pueden haber muchas posibilidades yo que tu probaría intentando graficar todos los datos posibles en un rango de datos, si hay coherencia entonces bien, pero si no, hay fórmulas que basta 1 valor y un random entre ciertos rangos , y queda la escoba Saludos Apuromafo
|
|
|
188
|
Programación / Ingeniería Inversa / Re: Herramienta para buscar y comparar valores en ficheros de datos binarios.
|
en: 7 Mayo 2018, 17:15 pm
|
hacking de telefonos y temas de comparar valores, siempre son de pagos para las compañias que las hacen, no creo que esté asociada a la ingenieria inversa, sino mas bien usar herramientas específicas para cada teléfono en sí...
por otro lado hagamos algo similar para entender
digamos que tienes 2 archivos iguales, idénticos, pero que tienen diferente fecha, confirmaras en un exe/otros que la diferencia son algunos punteros, hasta ahi no hay drama puede que sea 1 cambio o 10,
digamos que tienes 2 archivos iguales en 2 sistemas operativos iguales y has compreso todo en una raw, 3 millones de cambios
digamos que tienes 2 archivos iguales compresos con 2 algoritmos distintos (.zip .rar) y estos compresos en 7z y eso quieres comparar (los archivos 7z) de seguro estarás intentando comparar porque el archivo es el mismo... pero en su interior contienen diferente informacion y compresion, de seguro los punteros a direcciones son diferentes,datos información ... de seguro seria dieferente si usas un visor de 7zip
pregunta, si es el mismo archivo, como diferenciarás esas diferencias de los bloques? entendiendo el compresor no creo, comprendiendo el algoritmo tampoco,deberás comprender el hardware que en teoria refieres NFC que es para crear compatibilidad en dispositivos, osea nanotecnología, es el resultado de como funciona con esos cambios:.. osea deberias tener un visor específico para ello y no un simple editor hexadecimal
para tu caso puntual, el visor de raw sobre un dato hexadecimal, debería estar documentado cuando está estudiado, en los exes, hay cabezeras PE/MZ
cuando se quiere analizar un sistema operativo se suele utilizar técnicas de forense, y puedes usar volatily entre otros, pero se conoce el sistema que usas (fat/ntfs etc)
Para mi los cambios pueden ser diferentes punteros o direcciones a diferentes informaciones en tu programa
para otros esos cambios pueden ser cambios de fecha o inclusive cambio en alguna firma/clave pgp etc
las posibilidades son infinitas, no creo que analizando dumps alineados logres algo si no trabajas en el mismo idioma que tenga el formato de tu telefono,de seguro trabajan con lenguaje arm o pics o quien sabe
Saludos Apuromafo
pd: yo creo que no llegaras muy lejos analizando 2 hexadecimales sin saber como funcionan de por si.
imaginate el caso que como buen usuario tengo el codigo de fuente de un programa, compilo el mismo programa pero distinta imagen, tendré punteros distintos, version distinta, pero funcionalidad es la misma, osea insisto, en temas hexadecimales habrán muchisimos cambios que si no se estudia los recursos de la misma, no veré nunca mas que cientos o miles de datos cambiados..
|
|
|
189
|
Programación / Ingeniería Inversa / Re: Cómo desempaquetar PC Guard 5.0 que requiere el código de activación
|
en: 25 Abril 2018, 02:54 am
|
shaddy (moderador del foro) programó un keygen bruteforce a partir del algoritmo, deberia lograr encontrar el valor correcto para descomprimir, pero requiere mucha práctica, yo no he guardado aquel keygen ni mucho menos, pero algo recuerdo, todo es dependiente HIW+serial +opciones para desbloquear el programa, no es que se falsee con una informacion de otro para inyectarlo
Saludos Apuromafo
pd: el unico camino que se conoce es bruteforce ... y de paso desempacar.
1 licencia valida en el pc valido, en la fecha valida con todo valido... = 1 programa que podría ser desempacado
bypass siempre puede decir gracias por registrar o habilitar botón, pero no descomprimirá correctamente.
|
|
|
190
|
Programación / Ingeniería Inversa / Re: Desempaquetar .dat
|
en: 25 Abril 2018, 02:51 am
|
muchas veces el resultado es desafiante, realmente no es entender el dat ni su cabezera, es quien trabaja con el .dat y en que formato real casi siempre son ejecutables, el cual se ha colocado con chinchetas como aprender a usar depurador y todo eso, pero bueno, para que puedas comenzar a buscar bien en google te sugiero busques el "magic header" aqui una sugerencia es leer las signatures del header ejemplo https://en.wikipedia.org/wiki/List_of_file_signatureshttps://www.garykessler.net/library/file_sigs.htmlpero aunque las tuvieras, deberás saber como funciona, saber que tenga un archivo aplib no significa nada para quien lo ha investigado, minimo hay que conocer el programa que trabaje con ellas, en algnos un .dat puede ser como un archivo compreso, con informacion, y en otros como un .log o texto donde guarda la informacion que va procesando, todo es muy relativo a lo que se use Saludos Apuromafo pd:casi siempre terminan mal estos post asi... (no aprenden ingenieria inversa, sino mas bien aprenden como usar google)
|
|
|
|
|
|
|