Cd-rom virtual

Bună ziua, și cum din directorul "creați" un CD-ROM virtual?

Odată am folosit programul Virtual CD Extension. Nu există nicio legătură. Uită-te online.

Dragă s.o.





Unghi!
există un personaj care a devastat orice întrebare cu o tiradă, înțelesul căci unii Arthur obișnuiau să meargă la malul mării, pre-fortificați cu o ceașcă de ciocolată fierbinte. Recognoscibil? Dacă nu, recitiți Strugatsky.

A fost adresată o întrebare specifică. Omul dorea să primească un răspuns concret. Dacă nu știți, puteți rămâne tăcut.






Dacă știți, spuneți și Dumnezeu să vă binecuvânteze.

și nu ați încercat comandă SUBST sau nu se potrivește?
Dacă aveți nevoie, pot trimite la săpunul FAKECD (numai pentru win9x)
Acesta cântărește aproximativ 10 kb.

Această comandă este substul liniei de comandă. Numele discului este calea care creează discul cu numele specificat din directorul cu calea specificată

De fapt, discul primit de CD-ROM-ul de comandă SUBST nu miros deloc - moștenește proprietățile partiției pe care a fost creată. Undeva în API trebuie să existe o comandă

2Dmitry W. Polschanoff
Tu insuti d.r.

Numai în acest scop este necesar să se ascundă sistemul (pentru a corecta Kernel32.dll).
Aici este un fragment din fișierul hlp (dacă aveți nevoie de un glonț tot prin e-mail)

Noi scriem Fake-CD pentru OS Windows 95

Pentru DOS, a existat o mare utilitate - FakeCD, care a înlocuit MSDex și astfel a emulat un CD-ROM care, de fapt, era un director pe hard disk. Pentru Win95, un astfel de program nu este ușor de găsit, deci trebuie să-l faci singur. Aceasta este ceea ce vom face, mai ales că va fi o practică excelentă de a săpături în adâncurile celui de-al 95-lea.
Să privim la problema discutată mai devreme, pe de altă parte. Vom înlocui nu utilizarea unei funcții, ci funcția însăși. Dacă în DOS să înlocuiți funcțiile, era necesar doar să schimbați procedura de tratare a întreruperii, apoi în Windows, o astfel de operațiune nu ajută. Să vedem unde locuiește GetDriveType (). Și - despre groază - aceasta este principala bibliotecă a Win95 KERNEL32.DLL. Ce ar trebui să fac? Ca întotdeauna, depozitați-vă pe cafea și puneți-o pe un dezasamblator KERNEL32.DLL. OK, așteptați sfârșitul procesului și uitați-vă la lista de funcții exportate. Iată ce avem nevoie:

Exportat fn (): GetDriveTypeA - Ord: 013Fh
: BFF777C4 57 push edi
: BFF777C5 6A21 împinge 00000021
.
.
.
: BFF777E1 F2 repnz
: BFF777E2 AE scasb

* Referindu-se la un (U) nconditional sau (C) Salt onditional la adresa:
|: BFF777DA (C)
| |
: BFF777E3 648F02 pop dword ptr fs: [edx]
: BFF777E6 83C408 adăugați esp, 00000008
: BFF777E9 5F pop edi
: BFF777EA E9E5D4FFFF jmp BFF74CD4

Faceți tranziția la sfârșit (butonul Salt la butonul din panoul W32Dasm) și vedeți continuarea. Funcția, se pare, este lungă! Nu ne vom ocupa de aceasta, ci mai degrabă ne amintim cum se întoarce valoarea din funcție. astfel caută un șir de tip

S-au găsit? Mai mult, la fel ca orice hack, amintiți codurile secvență HEX ale comenzii dorite (și de preferință mai multe dintre următoarele acțiuni, operații de încărcare în numărul bateriei 3 nu este cea mai rară operație) și găsiți blocul în copia bibliotecii (în copie - deoarece fișierul este utilizat de către sistem și nu pot fi schimbate). Tot ce a mai rămas este să înlocuiți KERNEL32.DLL în modul DOS. Reporniți și în Explorer de plăcere
Rezultatul este că toate discurile dvs. hard sunt prezentate sub formă de plăci circulare desemnate anterior de CD-uri.

Și acum - pentru leneș - o bucată de cod care întoarce 3:

* Posibilă referință la ID-ul resursei de coarde = 00003: "."

| | : BFF74E0F B803000000 mov eax, 00000003 // Valoarea returnată
: BFF74E14 EB05 jmp BFF74E1B // Mergeți la întoarcere

* Referindu-se la un (U) nconditional sau (C) Salt onicial la adrese:
|: BFF74DEB (C). BFF74DFC (C). BFF74E0D (C)
| |

* Posibilă referință la ID-ul resurselor de coarde = 00006: "."

Da - este mai bine să păstrați vechiul KERNEL32, deoarece unele programe nu vă pot aprecia umorul și puteți decide că mai multe CD-uri și nu un singur hard-disk sunt prea multe. În general, ar fi ideal pentru a schimba radical funcția. Să presupunem că facem CD-uri tot de la T. Apoi, ar fi posibil să se conecteze substații "om cataloage care ar fi CD-uri, hard-discuri va fi lăsat ca unități hard disk." Dar aceasta este o sarcină pentru casa.

2Proton
. Nu deformați și modernizați

Cum funcționează același CD Virtual? Șoferul este scris.

Am scris deja.


dacă DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Music \ Modules"), atunci
ShowMessage ("Drive a fost creat cu succes")
altfel
ShowMessage ("Eroare la crearea unității");


cum ar fi - din dosarul virtual de discuri

În general, se poate face fără un conducător auto
Cele mai multe jocuri (și programe) nu sunt
O verificare se face verificând
a) disponibilitatea fișierelor necesare
b) GetDriveType - care trebuie returnat de CDROM
1) vom reveni la unitatea de folder (o substate sau urmând exemplul ed_209).
dar aici Problema GetDriveType pentru un astfel de disc se va întoarce că nu este un CD, iar știftul și jocul (programul) nu vor începe - pentru asta mergem la punctul 2
2) interceptați toate apelurile în funcția de sistem GetDriveType de la Kernel32 și verificați dacă este solicitat pentru dispozitivul nostru, apoi returnați că acest CD

dar, din păcate, acest element este cel mai dificil - și este dificil să îl implementați, deoarece interceptarea ar trebui făcută nu pentru un singur proces numai pentru toată lumea - pentru Vorum au fost discutate de mai multe ori subiectul reangajării apelurilor API API - Vă recomandăm să folosiți căutarea.

Da la articolul 2 este posibil să se rezolve și prin schimbarea kernel32 (, etc)

PS> Cu toate acestea, cred că această abordare este mai simplă decât scrierea unui driver
PPs> dacă cineva va scrie această proiecție cu îndrăzneală în cămară - printre oamenii cunoscuți, succesul este asigurat.

sniknik are dreptate. Nero are un astfel de lucru ca Drive Image. În cazul în care
pentru a specifica un fișier imagine (de exemplu, creat de Nero), apoi din el
va primi un CD-ROM în orice Win32. Unele programe doresc
astfel încât CD-ul lor are o etichetă foarte specifică - este
creați o imagine pe disc.

Pentru a ED_209: REMOVE SHAPE - Esti un COOL.

Toate celelalte cu CD Fake and Virtual, precum și cu eticheta, vă rugăm să nu o luați în considerare.

ED_209 - acesta este furnirul Delfer, iar restul pe zadnitsa.com este redirectat direct.

ED_209 - acesta este Delfer. Iar restul voi cere o redirecționare directă pe backnitsa.com.


> dacă DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Music \ Modules")
> atunci

mare. numai în 2k nu funcționează destul de :(
discul creează, dar nu poți face nimic cu asta :)

Pomoymu Paragon cd Emulator abrupt Chiar dacă nu îl încărcați, CD-urile create (Cd-rom) rămân încă din anumite motive cu imaginile. Deci e grozav. )

Romualdy (Aug 21, 02 5:54 PM)

> dacă DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Music \ Modules")
> atunci

mare. numai în 2k nu funcționează destul de :(
discul creează, dar nu poți face nimic cu asta :)


Uh-huh;) dă P: fără descriere și nimeni nu va face =)
Deși ar scrie ca memento)


Cum să hartă un director într-o literă de unitate (în același mod ca și subst.exe)
// De exemplu, îi mulțumim lui Vornichesku Vladimir

procedura addSubst (Drv: șir; Cale: șir);
începe
if (Lungime (Cale) = 0) apoi Exit;
dacă (DefineDosDevice (0, PChar (Drv), PChar (Path)) = False) apoi RaiseLastWin32Error;
se încheie;

procedura KillSubst (Drv: șir);
începe
dacă (DefineDosDevice (DDD_REMOVE_DEFINITION, PChar (Drv), nil) = False)
apoi RaiseLastWin32Error;
se încheie;

Ei bine, poate merită încercarea utilității subst. Poate că nu este ceea ce ai nevoie cel puțin pentru a munci în mod stabil. Acesta este inclus în livrarea standard a Windows. Puteți rula din linia de comandă:

subst :







Articole similare

Trimiteți-le prietenilor: