Cum de a descărca fișierul exe în memoria este

Cum de a descărca fișierul exe în memorie complet?

Cine știe, spune-mi cum să facă exe complet încărcate în memorie și încărcarea nu este necesară? Poate că există și alte soluții la această problemă. Acesta constă în următoarele: produsul trebuie să fie plasat pe CD, în cantitate nu constrânsă (cred că piesele vor fi 10), iar DVD-ul este software-ul de instalare inacceptabilă și pe hard disk prea. Cred că exe poate fi descărcat într-un fel complet de pe primul CD. Dacă da, spune-mi cum să o fac. Mulțumesc.







Vrei acest program pentru a face acest lucru rulați fișierul exe cuiva. Sau despre dvs. exe-Schnick spun.

Programe similare (de exemplu, programul de instalare) copiile bootloader (extractor) într-un dosar temporar, și apoi să solicite date de pe discuri.
Am înțeles că problema incapacității de a introduce un CD dintr-o dată. )


> Vrei acest program să facă, și anume, rula pe cineva
> .exe fișier. Sau despre dvs. exe-Schnick spun.

Ta. El este, în conformitate cu ideea mea (dar eu cred), ar trebui să fie plasat pe primul CD, dar afișa datele din diferite CD-ul și cererea și lipiți după cum este necesar.

Apoi, copiați-l la curent, așa cum este descris mai sus, într-un folder temporar,
de exemplu Windows și a alerga de acolo


> Programe similare (de exemplu, programul de instalare) copiază dispozitivul de încărcare
> (Extractor) într-un folder temporar, și apoi cere
> Date de pe discuri.

Dacă repornit, acesta va rămâne acolo și nu vor fi eliminate, dar acest lucru contrazice cerințele TOR. Clientul vrea orice fișiere de pe computer nu rămâne în mod explicit. Chiar dacă opriți de energie electrică.

> Am înțeles că problema incapacității de a insera toate CD-
> Simultan. )

Aproximativ asa. Pentru a fi precis, problema incapacitatea de a insera simultan CD-ul și un CD cu datele care urmează să fie afișate. Cererea TK ar trebui să lucreze pe computere cu o unitate CD.

..Dacă repornit, acesta va rămâne acolo și nu vor fi eliminate, dar acest lucru contrazice cerințele TOR

Deci, TK este facut incorect sau nu trebuie să scrie sistemul de operare.
Ca o opțiune, oferta după începerea decomprimare (numit asa) din directorul temporar rula imediat funcție cu calea MoveFileEx Dezarhivator și pavilion MOVEFILE_DELAY_UNTIL_REBOOT - în acest caz, eliminarea amânată până când programul este repornit.


> Deci, TK este facut incorect sau nu trebuie să scrie
> Sistemul de operare.

Nu am inventat. TK scris pentru client și nu eu. Dacă totul depinde de mine, am acest lucru, cred, nu a venit.

> Ca o opțiune, am oferit după începerea decomprimare (numite
> Este atât) din directorul temporar începe imediat funcția
> MoveFileEx cu Dezarhivator cale și pavilion MOVEFILE_DELAY_UNTIL_REBOOT
> - în acest caz, îndepărtarea programului va fi amânată până când reporniți.

Multumesc pentru sfat. Din păcate, în cazul în care exe tăiat în jos din Task Manager, fișierele vor rămâne până când reporniți. Acest lucru nu ar trebui să fie.







Nu știu cum există despre manageri de proiect SARCINĂ, dar poate merge un mod pervers:
să se înregistreze în registrul RunOnce calea sucursală către fișierul batch în folderul temporar Windows. Acest fișier batch la următoarea repornire va șterge toate fișierele și se împreună cu ei.


> Nu știu cum există despre manageri de proiect SARCINĂ, dar este posibil să perverse
> De:
> Pentru a înregistra în registrul RunOnce calea sucursală către fișierul batch în temporară
> Windows dosar. Acest fișier batch la următoarea repornire șterge
> Toate fișierele și el împreună cu ei.

E doar o perversiune.
Puteți șterge fișiere fără fișierul batch, și doar o singură echipă. Un exemplu în acest sens este în Întrebări frecvente. Commando arata ca: "command.com / c del filename.ext". Se pare că sub EXT a însemnat EXE. Acest lucru este puțin mai mică decât un mod pervers. Și, în general, pentru aceasta este funcția MoveFileEx. Una dintre funcțiile sale - pentru a șterge fișierele de pe repornire (din păcate, numai în sistemul de operare al NT-nucleu).
Dar mai presus de repornire a fost deja discutată. Aceasta nu este o problemă. Problema - tăiat EXE fără a restarta.
Odată ce unitatea a fost eliminat - nimic nu ar trebui să rămână.

Apoi hacking doar tehnici, cum ar fi forța de tracțiune de scoarță lor în Explorer, cu ajutorul CreateRemoteThread. Si ai grija pentru eliminarea fișierele necesare. Sau chiar și metode extreme, cum ar fi inelul de 0 Pick up conducătorului auto de a lucra cu sistemul faylovay pentru a urmări finalizarea proceselor sau pentru a efectua curățarea. Un alt mod: este posibil să se răspundă la primul forum WM_CLOSE, etc și pentru a produce ieșire cu distanța .. Acest cod este, eu pot partaja, EDES a trecut on-line acum.

Apoi hacking doar tehnici, cum ar fi forța de tracțiune de scoarță lor în Explorer, cu ajutorul CreateRemoteThread. Si ai grija pentru eliminarea fișierele necesare. Sau chiar și metode extreme, cum ar fi inelul de 0 Pick up conducătorului auto de a lucra cu sistemul faylovay pentru a urmări finalizarea proceselor sau pentru a efectua curățarea. Un alt mod: este posibil să se răspundă la primul forum WM_CLOSE, etc și pentru a produce ieșire cu distanța .. Acest cod este, eu pot partaja, EDES a trecut on-line acum.

Ca speculație: un IMAGE_NT_HEADERS - IMAGE_FILE_HEADER - Caracteristici Run din swap (removeable net) nu va ajuta?


> Cum ipoteza: un IMAGE_NT_HEADERS - IMAGE_FILE_HEADER
> - Caracteristici Run de swap (removeable net) caz
> Nu funcționează?

Vă mulțumesc foarte mult! Ideea de svehtsennaya. La urma urmei, în Windows furnizat într-adevăr cazul meu! Nu am avut nici o idee că există o astfel de steag ca IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP! O altă întrebare. Deoarece Delphi nu permite să se schimbe steagurile în IMAGE_FILE_HEADER. Există o modalitate de a adăuga acest pavilion atunci când scrieți un program pentru Delphi? Poate după compilare? Și totuși, în cazul în care sistemul primește un CD ca atunci când AMOVIBIL descărcarea unui fișier executabil?


> Există vreo modalitate de a adăuga acest pavilion atunci când scrieți un program pentru Delphi?

Cu greu.


> Este sistemul CD-ul percepe ca AMOVIBIL de boot
> Fișier executabil?

Acest răspuns nu este nimic. Cunoașterea nu este de ajuns. Wizards poate explica?

Chiar și ca o opțiune - se agită ekzeshnik packer. Se spune că atunci toate încărcate în memorie;)

Dacă nu utilizați dll „ki cu togozhe disc ca un program, acesta funcționează. Testat pe o dischetă. Cu dll“ Kami pur si simplu nu au încercat.
Dar, probabil, dacă le instalați la steagurile de mai sus, acesta va funcționa.

FS: TFileStream;
INH: TImageNtHeaders;

ZeroMemory (@ INH, sizeof (INH));
în cazul în care OpenExeDialog.Execute atunci
# XA0; începe
# XA0; FS: = TFileStream.Create
# XA0; (OpenExeDialog.FileName, fmOpenReadWrite);
# XA0; FS.Read (INH.Signature, sizeof (INH.Signature));
# XA0; FS.Read (INH.FileHeader, sizeof (INH.FileHeader));
# XA0; FS.Free;
# XA0; end;

Debugger apoi Caracteristici = 0. Doar am colectat fișier EXE în VS și opțiuni de legare swap expuse în mod clar a alerga de la opțiunea CD-ul, care este responsabil pentru introducerea melkomyagkih acest pavilion. Ce fac greșit? EXE nu poate începe așa cum am imaginat?

El a realizat greșeala lui. fișier Vindovyh EXE începe după DOS. Dar cum de a găsi începutul ferestrelor EXE? Se poate întâlni înainte de a începe "PE" # 0 # 0?

Poate satisface orice.
Pentru a găsi necesitatea PE-antet pentru a merge la valoarea de offset specificată în e_lfanew.

PS Și, în general, ar face bine să citească pe structura fișierului PE.