raynor009 Posted January 15, 2012 Report Posted January 15, 2012 (edited) De ceva timp ma tot chinui sa fac sa ruleze un exe din resource in memorie fara sa se copiexe HDD . Are cineva o idee cum ? Am dat si pe goagal dar nu ma ajutat. Sau macar sa il ruleze din temp... Edited January 15, 2012 by raynor009 Quote
me.mello Posted January 15, 2012 Report Posted January 15, 2012 oo dar e foarte simplu, tocmai ce ma uitam acum cateva zile la ceva facut de mine in c# pe vremea .net 2, pot cu usurinta sa il fac si in vb...da-mi un pm cu ce anume vrei...conteaza foarte mult daca executabilul are parametrii..iar daca vrei din \temp...asta inseamna drop..e cu totul altceva. Quote
Paul4games Posted January 15, 2012 Report Posted January 15, 2012 Incearca cu un runpe public(un search pe google si sigur gasesti). Quote
Nytro Posted January 15, 2012 Report Posted January 15, 2012 Citeste mai intai despre structura executabilelor:Portable Executable - Wikipedia, the free encyclopediaPeering Inside the PE: A Tour of the Win32 Portable Executable File FormatInside Windows: An In-Depth Look into the Win32 Portable Executable File FormatInside Windows: An In-Depth Look into the Win32 Portable Executable File Format, Part 2Microsoft PE and COFF SpecificationAi putea sa te uiti si peste:The .NET File Format - CodeProject®Problema e ca tu vrei exemplu pentru .NET... Nu prea am vazut exemple in .NET, cauta la sectiunea Programare, o sa gasesti multe lucruri utile, dar de .NET mai putine.Trebuie creat un nou proces (suspendat). Aloci spatiu, si incarci executabilul (la ImageBase, dimensiunea specificata de OptionalHeader, adica SizeOfimage). Trebuie insa sa fii atent sa incarci fiecare sectiune, aliniata la dimensiunea specificata in structura executabilului, dupa ce scrii headerele (primul lucru pe care il faci). Si cu asta l-ai incarcat in memorie, nu e extrem de complicat. Apoi mai trebuie doar sa cedezi executia Entrypoint-ului. WinAPI iti ofera tot ce ai nevoie, poti face identic si in .NET cu dllimport, dar nu are rost. Nu stiu daca .NET are clase si functii speciale pentru astfel de actiuni, ar cam trebui sa fie. Quote
raynor009 Posted January 15, 2012 Author Report Posted January 15, 2012 Gata am rezolvat singur ^^ multumesc tuturor pentru ajutor. Quote
Vlachs Posted January 15, 2012 Report Posted January 15, 2012 Gata am rezolvat singur ^^ multumesc tuturor pentru ajutor.Posteaza te rog pentru ca ma intereseaza si pe mine Quote