apeiron escribió:Estoy programando un crypter en C++, tengo mi archivo encriptado en un buffer en el builder y me he dispuesto a programar el stub, pero no entiendo bien que hacer. El stub...debe contener el algoritmo de desencriptar y el archivo a desencriptar y ejecutarse? Es que no se como empezar
Una de las formas comunes de hacerlo es asi:
* El Cliente tiene que generar un 3er archivo (stub+archivo encryptado) Es decir, el stub tal cual lo vas a programar + el contenido que tienes en el buffer
* Ahora bien, el buffer ya lo tienes, asi que eso es facil, vendria a ser un append del contenido del stub (en un archivo nuevo) ... Pero ... que tiene el Stub ??
* Basicamente el Stub debe autoleerse con la capacidad de dividir lo que es Stub inicial (por asi llamarlo) y el resto (que vendria a ser el archivo encryptado)
* Luego de dividir esos datos, El stub debe desencryptar la 2da parte del archivo generado (lo que viene atras del Stub inicial)... Como ?? Pues el stub como bien dices, debe contener el algoritmo de desencryptacion
* Debes situarlo en memoria usando algunas de las tecnicas que hay para dicho menester (necesitas conocer bien la cabecera PE, funcionamiento de API's , definicion de RunPE, etc etc etc ....porque si lo grabas en un archivo y luego lo ejecutas normalito, tienes la misma porqueria que antes, como si no hubieses hecho nada... seria un lindo crypter, pero... SCANTIME).
Repito, esto es sólo una forma de hacerlo, y explicada un poco a los "tirones" (sin demasiado detalle) ya que hay muchas y variadas, solo necesitas leer un poco y ver variantes al respecto... Espero que tengas mucha suerte y nos brindes un lindo Crypter en C / C++.
Salud
* La parte "dificil" de todo esto, es saber