Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Borito30 en 1 Abril 2017, 01:38 am



Título: Como obtengo el nombre de un recurso embedido o la ruta?
Publicado por: Borito30 en 1 Abril 2017, 01:38 am
Mi pregunta como puedo obtener la ruta o nombre de un recursos embedido ej:
Código:
Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
            //Application.Run(new Form1());      

        static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EmbedAssembly.helloworld.exe"))
            {
                byte[] assemblyData = new byte[stream.Length];
                stream.Read(assemblyData, 0, assemblyData.Length);
                return Assembly.Load(assemblyData);
            }
        }

Ya que lo llamare por medio de la funcion
 RunInterna("la ruta del recurso embedido", "pass");


Título: Re: Como obtengo el nombre de un recurso embedido o la ruta?
Publicado por: Eleкtro en 1 Abril 2017, 02:48 am
Mi pregunta como puedo obtener la ruta o nombre de un recursos embedido

No existe tal ruta, pues se trata de un recurso, embedido... en el archivo de recursos del executable compilado.

Ya que lo llamare por medio de la funcion
 RunInterna("la ruta del recurso embedido", "pass");

...¿?. Intenta explicar de forma clara que es lo que estás intentando hacer.

Si pretendes ejecutar un archivo binario que has embedido como recurso, entonces lee aquí:
  • http://foro.elhacker.net/buscador-t462769.0.html

Y aquí te dejo lo siguiente por si te sirve, un código de uso genérico (extraido de mi framework de pago ElektroKit) para ejecutar recursos binarios en memoria, es decir, sin extraerlos previamente al disco:
  • https://pastebin.com/r6TRSChp
( puedes usar cualquier conversor online a C# )

¡Saludos!