Spustenie noveho programu z byte[] pola – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spustenie noveho programu z byte[] pola – .NET – Fórum – Programujte.comSpustenie noveho programu z byte[] pola – .NET – Fórum – Programujte.com

 

Jimi
~ Anonymní uživatel
75 příspěvků
14. 8. 2015   #1
-
0
-

Dobrý deň,

mám uložený natívny program v premennej byte [] byteArray. Potreboval by som tento program spustiť. DotNet program ulozeny v byte[] sa mi podarilo spústiť nasledovne:

  public void RunProg(byte [] byteArray)
  {
      var program = Assembly.Load(byteArray);
      var returnValue = program.EntryPoint.Invoke(null, null);
  }

Dá sa nejakým spôsobom spustiť v DotNet aj natívny program ulozený v byte[] poli ?

Ďakujem.

Nahlásit jako SPAM
IP: 188.112.71.–
Matěj Andrle+1
Grafoman
17. 8. 2015   #2
-
0
-

#1 Jimi
Uložit na disk a spustit přes Process... (Případně na něj pustit kompilaci, či tak.) Viz AppData.

Nahlásit jako SPAM
IP: 90.182.189.–
Jimi
~ Anonymní uživatel
75 příspěvků
17. 8. 2015   #3
-
0
-

No nad tým ulozením do súboru a spustením z disku ako nový proces som premýšlal ale chcel by som to spustiť z pamäte ak by sa dalo, len neviem či je to v .net možné.

Nahlásit jako SPAM
IP: 188.112.71.–
Matěj Andrle+1
Grafoman
17. 8. 2015   #4
-
0
-

#3 Jimi
Logicky to jít nemůže. .NET je vyšší jazyk bez přístupu k nižším vrstvám. Jo má tam unsafe a zmákne ještě komunikovat s C++. Můžeš tedy zavolat C++ knihovnu... Ovšem v .NET je jediným správným řešením spouštění nízkoúrovňového programu spouštěním z disku. (.NET neumí předat vládu tak nízko - může (jak již jsem psal) užít C++ knihovnu, kterážto by to již z paměti uměla.)

Nahlásit jako SPAM
IP: 78.136.166.–
Jimi
~ Anonymní uživatel
75 příspěvků
17. 8. 2015   #5
-
0
-

Nad tým som uvažoval a niečo som skúšal naprogramovať v C++CLI ale robilo to nejaké ťažkosti tak som sa na to vykašlal. Problém je že na konci sa celý program nahratý do pamäti pretypuje a spustí ako odkaz na funkciu teda sa priebeh programu zastavý dokedy sa ten natívny neukončí. Preto takýto kód zrejme v .net nemôžem volať . Asi by sa to zišlo zavolať v novom thread-e vytvorenom cez winapi ale neviem či by to išlo aj tak. 

Nahlásit jako SPAM
IP: 188.112.71.–
Matěj Andrle+1
Grafoman
17. 8. 2015   #6
-
0
-

#5 Jimi
Windows není RTOS...

Nahlásit jako SPAM
IP: 78.136.166.–
Jimi
~ Anonymní uživatel
75 příspěvků
17. 8. 2015   #7
-
0
-

Ešte som uvažoval nad tým že si vytvorím nový program v c++ a do pola byte-ov si nahrám všetký aplikácie teda aj tu .net a budem im po spustení nejak posielať správy a potom cez .net budem robiť všetok ostatnú režiu ktorá sa má spraviť.

Nahlásit jako SPAM
IP: 188.112.71.–
m4r100
Návštěvník
18. 8. 2015   #8
-
0
-
Nahlásit jako SPAM
IP: 37.188.229.–
Matěj Andrle+1
Grafoman
18. 8. 2015   #9
-
0
-

#8 m4r10
Byte pole jde spustit - ne však nižšího programu! A ano - jde to obejít, avšak já jasně psal, že ač to jde, tak to do .NET nepatří... Dokonce jsem napsal, že to jde knihovnami C++! A co jste sem poslal? Knihovny C++... Tak mne nepoučujte.

Nahlásit jako SPAM
IP: 78.136.180.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 32 hostů

Podobná vlákna

Spustenie programu v C# — založil anonym

Spustenie programu v c++ — založil tomas krajco

Spustenie programu — založil Mrkvicka

Spustenie iného programu — založil dusan0611

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý