[SOLUCIONADO] Sustraer código

Iniciado por Jflavib, Enero 02, 2019, 06:12:27 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 02, 2019, 06:12:27 PM Ultima modificación: Enero 03, 2019, 06:58:28 AM por HATI
Código: csharp



¡Hola Buenas tardes compañeros!
Tengo una duda, ¿es posible obtener el código fuente de una aplicación?  tengo el archivo ".exe" gracias
Saludos.

Buenas tardes No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Como te mencionó @Gold Master, habría que decompilarlo. Sin embargo, no es tan sencillo como lo parece. Actualmente, las empresas se están cuidando de éste tipo de técnicas que usan para crackear sus programas y para ello implementan "Packers". Sin embargo, podrías identificar qué packer(si lo posee) tiene el software objetivo y No tienes permitido ver enlaces. Registrate o Entra a tu cuenta te cae como anillo al dedo.

¿Sabes en qué lenguaje lo han desarrollado?. Si es en Java o si es en .NET, se puede hacer la descompilación que algo desarrollado en C/C++.
Si nos detallaras más de lo que quieres descompilar, te podríamos dar una respuesta con más precisión.

Los descompiladores más usados son:

- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Y quizás, te puede servir el debugger de OllyDbg para el respectivo análisis del código binario.
- No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Un saludo.
Become the change you seek in the world. -Gandhi.


Puedes obtener partes del código, pero jamás todo el código completo.
Existen decompiladores, pero casi nunca te lo deja al 100%

Saludos,
ANTRAX


esta en .net la aplicación.
Gracias por las respuestas.

Entonces intenta con .NET Reflector y nos cuentas.
Become the change you seek in the world. -Gandhi.


Hola ya el compañero @No tienes permitido ver enlaces. Registrate o Entra a tu cuenta supongo que ya te quito todas o la mayoría de dudas que tenías.

Sin embargo te contaré algo para aportar en tu trabajo. Hace tiempo yo investigaba sobre un keylogger que afectó a una computadora de un familiar, ni Antivirus, ni firewalls lo detectaba pero si me daba de cuenta que hacía una petición a Gmail, suponi que enviaba las teclas pulsadas, ok, todo bien (para el cracker, no para mi xD) y se me ocurrió una idea no tan tonta pero no tan ingeniosa, hacer un volcado de la memoria y empeze a leer los datos hexadecimales y me di cuenta que al principio de los datos estaban unas variables cuyo nombre era gmail_user y otra gmail_passwd cuando veo también me indica los valores de esta mostrándome las credenciales accedí a la cuenta y borre la cuenta para después descontaminar la PC.

Por que me cuentas todo eso?

Por que con un volcado de el programa pude ver información que se puede apreciar en el código fuente.

Espero te ayude.
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Enero 02, 2019, 10:35:50 PM #6 Ultima modificación: Enero 02, 2019, 10:41:28 PM por solid water
Si la aplicación está en .net puedes leer el código CIL usando ILdasm que sería el código intermedio al cual la aplicación es compilada.

Citar
Common Intermediate Language (CIL, pronunciado "sil" o "kil") (anteriormente llamado Microsoft Intermediate Language o MSIL) es el lenguaje de programación legible por humanos, de más bajo nivel en el Common Language Infrastructure y en No tienes permitido ver enlaces. Registrate o Entra a tu cuenta Framework. Los lenguajes del .NET Framework compilan a CIL. CIL es un lenguaje ensamblador orientado a objetos , y está basado en pilas. Es ejecutado por una máquina virtual. CIL fue conocido originalmente como Microsoft Intermediate Language (MSIL) durante las versiones de prueba de los lenguajes .NET. Debido a esto, CIL es frecuentemente llamado MSIL o IL. Es posible ejecutar este lenguaje en plataformas GNU/Linux gracias al Proyecto Mono, que implementa una maquina virtual similar a la de .NET pero de software libre.

De otro modo puedes pasarla a C# usando el reflector como te dicen o el dotpeek.

Te dejo un ejemplo editando un CIL:

Abrimos Visual Studio >> Project >> new >> elegimos console application en C# y lo llamamos: Practicando dotNet.

Escribimos un hola mundo:
Código: csharp

namespace Practicando_dotNet
{
class Program
{
static void Main()
{
System.Console.WriteLine("Hola mundo");
System.Console.ReadKey();
}
}
}


Le damos a Build >> build solution y lo guardamos.

Bueno dentro de la ruta donde lo guardamos en el directorio bin\Debug estará el .exe generado.

Ahora lo que haremos será abrir el .exe con el IL Disassembler.

Para abrirlo puedes encontrar el programa en inicio sobre la pestaña de Visual Studio o en su respectivo directorio, también puedes ejecutarlo desde Microsoft Visual Studio Command Prompt escribiendo:

Cd Ruta\Del_Directorio\Debug

Ildasm "Practicando dotNet.exe"




Veremos que allí esta el código MSIL de nuestro void main();

Bueno damos file >> dump y volcamos el contenido en una carpeta (elegimos un nombre con extension .iL).

Ahora ya podemos editarlo. abrimos el archivo con un editor de texto, buscamos el "Hola mundo"(Puedes usar Ctrl + F) y lo cambiamos por "Modificando CIL" y lo guardamos.

Volvemos a la prompt de VS y escribimos:

ILasm Ruta\Nombre_Del_Archivo.il

Para ensamblarlo.

Si abrimos el .exe veremos que el String ha cambiado con éxito.

Saludos