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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 141
141  Programación / Programación C/C++ / Re: Jinja2 c++ en: 14 Febrero 2019, 01:03 am
por si ayuda, encontré este blog que habla al respecto:
https://blog.kangz.net/posts/2016/08/31/code-generation-the-easier-way/

Espero ayude, saludos
142  Programación / Programación C/C++ / Re: Ayuda con programa de c en: 14 Febrero 2019, 00:56 am
No, me sigue sin aparecer el resultado de la conversion ala hora de imprimir
Código
  1. //----------------------------------------------
  2. // Simple conversor de pesos a francos
  3. //Autor:Jay
  4. //Revisión: Apuromafo
  5. //Fecha:13-02-2019
  6. //IDE sugerido:Dev c++
  7. //----------------------------------------------
  8.  
  9. int main(){
  10.  
  11. float pesos, francos;
  12. pesos =0;
  13. printf("Introduce la cantidad de pesos que deseas convertir: ");
  14. scanf("%f", &pesos);
  15. francos = (int) pesos * (0.05);
  16. //francos = pesos *(0.05)
  17. printf( "la cantidad de pesos es %f.\n",pesos);
  18. printf( "La cantidad de francos es: %f.\n", francos);
  19.  
  20. return 0;
  21.  
  22. }
Citar
Introduce la cantidad de pesos que deseas convertir: 5
la cantidad de pesos es 5.000000.
La cantidad de francos es: 0.250000
143  Programación / Ingeniería Inversa / Re: CmStick en: 12 Febrero 2019, 16:28 pm
Hola ... Alguien tiene solución para Codemeter (CmStick)?

Codemeter= wibu = dongle

https://www.google.com/search?q=wibu+Codemeter&oq=wibu+Codemeter
144  Foros Generales / Foro Libre / Re: Ausencia obligada en: 12 Febrero 2019, 00:33 am
vuelve pronto :)
145  Programación / Ingeniería Inversa / Re: Saltar mochila Winner en: 29 Enero 2019, 03:28 am
buscar en el foro las chinchetas, de seguro has visto tu mismo un nombre "Sentinel" son mochilas o dongle, busca a partir de esas 2 palabras en el foro (este)

comienza además viendo este
Tutoriales sobre emulación, estudio y desempacado de dongles, mochilas
En este hilo se habla sobre las posibles soluciones a cómo emular o evitar el uso de las comúnmente llamadas "mochilas" (dongle en inglés).
Enlace: https://foro.elhacker.net/ingenieria_inversa/tutoriales_sobre_emulacion_estudio_y_desempacado_de_dongles_mochilas-t328593.0.html
146  Programación / Ingeniería Inversa / Re: Check Integrity Macro Themida :v en: 24 Enero 2019, 04:17 am
los parches se deben hacer de forma dinámica, por otro lado muchas veces se relaciona con apis de integridad, quizas no es themida este tutorial pero te ayudará a quitarte la duda

puedes usar google traductor si no entiendes alguna palabra
Citar
Patching the Winlicense 2.0.5.0 Checksum.
by quosego/snd
------------------------------------------

Intro;
In this tut I'll try to explain how Winlicense checks if the app has been
tampered with and how to patch it.

The checking;
Winlicense his anti patching procedure only holds an simple checksum check, it 
uses imagehlp.CheckSumMappedFile to compute this checksum and then compares it
to the one stored by Winlicense and if it isn't the same it fails.

To be exactly it does the following,
-Alloc an memorybuffer to store itself from disk.
-Store the PE in this memorybuffer.
-Use GetProcaddress to obtain CheckSumMappedFile.
-Use CheckSumMappedFile to compute a checksum.
-Use some logical instructions to modify the checksum.
-Compare the checksum to the one stored at the end of the file.
-If it passes proceed, if it fails give an error.

Analysis;
If you'd breakpoint GetProcaddress and wait for quite some while sooner or later
WL will obtain the CheckSumMappedFile location. If you'd then bp this api and
return to WL code you'll end up somwhere similar to here;
(If the app is using cisc VM, risc VM has a different VM entry.)

0112A5AF           68 2C31AA09        PUSH 9AA312C
0112A5B4         ^ E9 3B7BF9FF        JMP 010C20F4

This'll of course leads you to nowhere since it's VM and studying it obfuud is
greatly annoying. However if you look at the stack and scroll up four dwords
you'll see the following;

(these are simply the arguments pushed into CheckSumMappedFile)
(http://msdn.microsoft.com/en-us/library/ms679281(VS.85).aspx)

0007FF6C              012A0000
0007FF70              000B41FC
0007FF74              0112A4D0   cisc_+_f.0112A4D0
0007FF78              0112A4D4   cisc_+_f.0112A4D4

and their meaning;

PIMAGE_NT_HEADERS CheckSumMappedFile(
  __in   PVOID BaseAddress,
  __in   DWORD FileLength,
  __out  PDWORD HeaderSum,
  __out  PDWORD CheckSum
);

The checksum is the most important (located at 0112A4D4). If you'd check out
that dword you'll find the checksum. You can, if you've patched WL, feed it here
the correct checksum. But that would include hooking the WL decrypting routines
or GetProcAddress or similar. There are easier methods.

WL does not directly compare the CheckSumMappedFile generated checksum with a
checksum it has stored, instead it does some computations before comparing the
checksum.

In my case it did the following computations, extracted from the Cisc Virtual
Machine.

ROL {checksum}, {last byte checksum}
;ROL 000B6D92,92                  = B648002D
XOR B648002D,2AC8914C               = 9C809161
ADD 9C809161,87C05B78               = 2440ECD9
XOR 2440ECD9,6D10B8E2               = 4950543B

In this case 4950543B is considered the final calculated checksum. If you now set
a memory breakpoint on access on the BaseAddress of the mapped PE (see the
CheckSumMappedFile structure) in the memory map. You'll see the VM accessing the
very last dword in the mapped file. This will if the executable is unmodified be
the same as the calculated checksum. WL will next do a compare and fail or proceed.

Patching the checksum;
So if you've modified your WL protected app you must update the checksum located in
a dword at the end of the file, however as I stated all calculations of this
checksum are done within the VM and it would be tedious to extract them everytime.

However WL stores the calculated checksum in the VM registers before comparing it
with the stored one. So to find it easily you can do the following;

- When you've returned from CheckSumMappedFile API memory bp the BaseAddress on
  access in the memory map. Press shift-f9. (It now has obtained the last dword of
  the mapped PE.)
- Follow edi in dump and look for the first dword that appears two times, this is
  the calculated checksum. In cisc VM's it should be [edi+4] and [edi+8], in risc
  VM's it should be further down with some empty dwords between it.
- Copy the calculated checksum to the end of the file (search for the old one or
  just scroll down). It'll now run again with it's new checksum.

Have fun,
q.

------------------------------------------
147  Programación / Ingeniería Inversa / Re: Crack para programa espejo en: 24 Enero 2019, 01:44 am
buen dia compañeros, he tratado de quitar la limitación del programa con OllyDBG, no soy experto, me podran ayudar les dejo el link del programa 
nunca reviso links ajenos, casi siempre vienen llenos de malware y mas

dime que sistema operativo usas, que estrategia estas usando, que manuales de ingenieria inversa has leido en el ultimo tiempo, en que parte estas estancado, como podria alguien de aqui ayudarte sin que pase a ser denunciable por la empresa ?


Saludos Cordiales
Apuromafo
pd:mi sugerencia en estos casos es leer el faq, y aprender, si se puede bien, si no, desistir, pero no dejar de insistir, todo puede ser derrotado si se logra entender como funciona, aveces son demo y no se puede hacer nada, pero se puede dejar mejor que el original


148  Programación / Ingeniería Inversa / Re: Hackear juego online Android en: 21 Enero 2019, 05:03 am
en el ultimo tiempo hay emuladores que prometen mejor que el bluestack, como por el ejemplo NOX emulator, te lo sugiero, saludos Apuromafo
149  Programación / Ingeniería Inversa / Re: Check Integrity Macro Themida :v en: 21 Enero 2019, 05:02 am
¿Cómo se parchean?, todos los check integrity de themida son iguales pero nunca encontre un tutorial o algo que explique como parchearlos.

Lo que se es que leen sections y partes de códigos etc, tengo los ADDRESS de donde estan etc, si alguien es tan amable de explicarme que retornar o hacer xD.

themida posee crc , el cual usan script , ejemplo el de LCF de tuts4you,

Lo que pasa es que themida tiene máquina virtual, en esa emulacion hay codigos que son iguales siempre y ahi cae en una parte donde compara el valor original, versus el parchado, encontrar ese lugar es como de aguja en un pajar, pero como verás, hay personas que han logrado estudiar a fondo el packer, a pesar de tan grandes protecciones.


Asi que eso , las macros, son protecciones sdk de programa, y que cada uno elige si colocarlas o no


Saludos Apuromafo

pd: en crackslatinos hay tutoriales que apuntan a inline en themida, otros tambien apuntan a desempacado manual por completo, y otros a parcharlos en runtime (mientras se ejecutan)


150  Programación / Ingeniería Inversa / Re: [Crackme] Virt by neon en: 18 Enero 2019, 00:27 am
Aquí algo para ayudar
Citar
Serial válido: howyoudidit?


tutorial es de  alex_ls
Citar
      ******************************************
      * Target: Virt by NeoN                   *
      * Release date: 26. Aug, 2007            *
      * Solution by: alex_ls                   *
      * Coded in: C++                          *
      * Difficulty: 6                          *
      * Protection: Obfuscated code       *
      * Tools: Just softice and a little brain *     
      ******************************************

-         VALID SERIAL IS "howyoudidit?"



-             I part (How I did it?)

I tried to dissasemble this crackme but the code is very obfuscated
and I had no time to work on it,
So let's set breakpoint at GetDlgItemTextA, input random serial and click "Check" button.
Let's trace it from 004016b9

.text:004016B9                 push    offset String     ; our random string
.text:004016BE                 push    100h
.text:004016C3                 push    offset word_403000;offset to VM tab
.text:004016C8                 call    CheckSerial    ;main function
.text:004016CD                 or      eax, eax          ; check for exit type
.text:004016CF                 jnz     short loc_4016E1
.text:004016D1                 push    10h             ; uType
.text:004016D3                 push    0               ; lpCaption
.text:004016D5                 push    offset aSorryWrongKeyT ; lpText
.text:004016DA                 push    0               ; hWnd
.text:004016DC                 call    MessageBoxA

The main function that realises Virtual Machine algorythm is - call CheckSerial(.text:004016C8)
Tracing this function it becomes clear that VM-algo is based on the table by the address(403000)
So I'll describe some nodes of the table:

.403190 28F3FFFFFF   - opcode:Our Key length + F3FFFFFF
.40319F 29A9010000      - opcode:If Our Key Length !=0 Jump to .4031a4
.4031a4 2600000000   - opcode:Exit

Analyzing this stuff I got the valid length of the serial:
SERIALLENGTH-0XD=0 so the length of the serial must be 0Ch, because
algo uses the end of the string - 0h.

After reversing some instructions, I've got the main table nodes (28h,2ch,29h,26h) with
the opcodes:
- 28h - adding stuff
- 2ch - substruction stuff
- 29h - checking for 0
- 26h - exit

I set the breakpoints at opcodes that processing this nodes:

opcode .401388 (node - 29h)
opcode .401457 (node - 28h)

And I've got the final string for 20 minutes!

   word1=0xb75ede4e-0x23432342-0x98304283-0x82740921;
   word2=0x46bb1982-0x34283203-0xa92e7210;
   word3=0x453ab788-0xd3a329e2-0x32232442;

where word1="howy",word2="oudi",word3="dit?"

OUR SERIAL:
      howyoudidit?

And the last message string:

         word1+=0xc0fbf1e8;
   word2+=0x0904e0b1;
   word3+=0x2ced0c10;

OUR MESSAGE:
      Pas: Virtual
   

-             II part (CONCLUSION )

OK, we have a valid serial -  howyoudidit?
So try it to check if it works!

-
I liked the VM algorythm, but the opcode table is very short.
In particular I've resolved it for 2 hours!!!
-

My greetings to all!
(В особенности Neon-у и всем хакерам из стран СНГ!)

Citar
Crt2Base
//----------------------------------------------
// Crt2Base - extract text from Dino2's hlam!!!
//----------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

//----------------------
//Name: Main()
//----------------------
int main(int argc,char *argv[])
{
   char p_name[0xC];
   
   DWORD word1,word2,word3;
   
   word1=0xb75ede4e-0x23432342-0x98304283-0x82740921;
   word2=0x46bb1982-0x34283203-0xa92e7210;
   word3=0x453ab788-0xd3a329e2-0x32232442;

   strncpy(p_name+0,(char*)&word1,4);
   strncpy(p_name+4,(char*)&word2,4);
   strncpy(p_name+8,(char*)&word3,4);
   
   p_name[0xc]=0;
   printf("Serial Key is:   %s\n", p_name);
   
   word1+=0xc0fbf1e8;
   word2+=0x0904e0b1;
   word3+=0x2ced0c10;
   
   strncpy(p_name+0,(char*)&word1,4);
   strncpy(p_name+4,(char*)&word2,4);
   strncpy(p_name+8,(char*)&word3,4);
   
   p_name[0xc]=0;
   printf("Final String is: %s\n",p_name);
   
   printf("\npress any key for exit!\n");
   getchar();

   return 0;
}


Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 141
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines