Virtuális cd-rom

Helló, és hogyan lehet a "concoct" mappából egy virtuális CD-ROM-ot?

Egyszer használtam a Virtual CD Extension programot. Nincs kapcsolat. Nézz online.

Kedves s.





Angle!
van egy karakter, aki minden kérdést elárasztott egy csavargással, amelynek jelentése az volt, hogy néhány Arthur a tengerpartra indult, előkeményített egy csésze forró csokoládéval. Felismerhető? Ha nem, ismételje meg a Strugatsky-t.

Egy konkrét kérdést kértek fel. A férfi konkrét választ akart kapni. Ha nem ismeri, akkor hallgathat.






Ha tudod, mondd, és Isten áldjon meg.

és nem próbálta meg a SUBST parancsot, vagy nem illik?
Ha szükséges, küldhetek az FAKECD szappanba (csak win9x)
Kb. 10 kb súlyú.

Ez a parancs a parancssori szubszter. A lemez neve az a path, amely a megadott elérési útvonallal rendelkező könyvtárból létrehozza a megadott nevet

Tulajdonképpen a SUBST parancs CD-ROM-on levett lemez nem szagolódik - örököli a lemezpartíció tulajdonságait, amelyeken létrejött. Valahol az API-ban van valami parancs

2Dmitry W. Polschanoff
Te magad d.r.

Csak erre a célra kell álcázni a rendszert (a Kernel32.dll javításához).
Itt van egy töredék a hlp fájlból (ha szükséged lesz egy golyóra mindent levélben)

Fake-CD-t írunk a Windows 95 operációs rendszerhez

A DOS esetében volt egy nagyszerű segédprogram - a FakeCD, amely az MSDex-et váltotta fel, és emulált egy CD-lemezt, amely valójában egy könyvtár volt a merevlemezen. A Win95 esetében nem könnyű megtalálni egy ilyen programot, így önnek kell csinálnia. Ezt fogjuk tenni, különösen azért, mert kiváló gyakorlat lesz a 95. mélységben történő ásáshoz.
Nézzük meg a korábban tárgyalt problémát. Nem egy függvény használatát helyettesítjük, hanem a funkciót. Ha a DOS-ban a funkciók kicserélése érdekében csak a megszakításkezelőt kellett megváltoztatnia, akkor a Windowsban ez nem segít. Lássuk, hol él a GetDriveType (). És - a horrorról - ez a Win95 KERNEL32.DLL fő könyvtára. Mit tegyek? Mint mindig, tölts fel kávét, és helyezzen egy KERNEL32.DLL szétszerelőt. Rendben, várja meg a folyamat végét, és nézze meg az exportált funkciók listáját. Itt van, amire szükségünk van:

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

* Az (U) feltétel nélküli vagy (C) onditional Ugrás a címre:
|: BFF777DA (C)
| |
: BFF777E3 648F02 pop dword ptr fs: [edx]
: BFF777E6 83C408 add esp, 00000008
: BFF777E9 5F pop edi
: BFF777EA E9E5D4FFFF jmp BFF74CD4

Végezze el a végső átmenetet (a W32Dasm panel Ugrás gombjára), és nézze meg a folytatást. A funkció kiderül, hogy hosszú! Nem foglalkozunk vele, hanem emlékezzünk arra, hogy az érték visszatér a függvényből. így keresett egy sor típus

Talált? Továbbá, mint minden hack, emlékszik a sorrendben HEX-kódokat a kívánt parancsot (és lehetőleg több, a következő, a terhelés száma 3 akkumulátor nem a legritkább művelet), és megtalálja a blokk másolatát a könyvtár (a másolatot -, mert a fájl a rendszer által használt, és nem megváltoztatható). Csak maradt a KERNEL32.DLL helyettesítése DOS módban. Reboot és az öröm felfedezője
Ennek eredményeképpen az összes merevlemezüket korábban CD-ként megjelölt körlemezek formájában mutatják be.

És most - lusta - egy kódrészlet, amely 3:

* Lehetséges hivatkozás a String Resource ID = 00003: "."

| | : BFF74E0F B803000000 mov eax, 00000003 // Visszatérési érték
: BFF74E14 EB05 jmp BFF74E1B // Menj vissza

* Hivatkozott egy (U) feltételes vagy (C) onditional Ugrás a címek:
|: BFF74DEB (C). BFF74DFC (C). BFF74E0D (C)
| |

* Lehetséges hivatkozás a String Resource ID = 00006: "."

Igen - jobb, ha megtartja a régi KERNEL32-et, mivel egyes programok nem értékelik a humorát, és úgy döntenek, hogy több CD és nem egyetlen merevlemez túl sok. Általában ideális lenne a funkció radikális megváltoztatására. Tegyük fel, hogy a CD-ket T-ből csináljuk. Ezután lehetővé válik a "CD-kkel ellátott" katalógusok csatlakoztatása, és a merevlemezek merevlemezek maradnak. "De ez egy feladat a házhoz.

2Proton
. Ne szüntesse meg, hanem modernizálja

Hogyan működik ugyanaz a virtuális CD? A vezető meg van írva.

Már írt.


ha DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Zene \ modulok"), majd
ShowMessage ("A Drive sikeresen létrehozva")
más
ShowMessage ("Hiba a meghajtó létrehozása");


mint ez - a virtuális lemez mappából

Általában járművezető nélkül lehet
A legtöbb játék (és program) nem
A csekket az alábbiak ellenőrzésével végezzük el
a) a szükséges fájlok elérhetősége
b) GetDriveType - amelyet a CDROM visszaad
1) visszatérünk a mappába a lemezhez (egy alaphelyzet vagy az ed_209 példáját követve).
de itt probléma van a GetDriveType egy ilyen lemezen, hogy ez nem egy CD, és a fogaskerek és a játék (program) nem indul el - erre megyünk a 2. pontra
2) fogadja el a Kernel32 rendszerben a GetDriveType funkció összes hívását, és ellenőrizze, hogy az eszközünkre kért-e, majd küldje vissza ezt a CD-t

de még ezen a ponton a legnehezebb - és végrehajtja a nehéz, hogy elkapjam, mert annyit kell tennie, nem egy, hanem az összes protsesaa - a vorume többször tárgyalt téma rerehvata hívja API funkciók - Azt javasoljuk, hogy használja a keresést.

Igen a 2. cikkhez lehet megoldani és a kernel32 (stb.) Módosításával,

PS> Mindazonáltal úgy vélem, ez a megközelítés egyszerűbb, mint a vezető írása
PPs> ha valaki ezt a prog-t írja, merészen dobja el a kamrát - a jól tájékozott emberek között sikeres a siker.

a snikniknek igaza van. A Nero-nek olyan része van, mint a Drive Image. Ha a
egy képfájlt (például Nero által létrehozott), majd rajta
minden Win32-ben CD-ROM lesz. Egyes programok szeretnék
hogy a CD-nek nagyon egyedi címkéje van - ez
hozzon létre lemezképet.

ED_209: Távolítsa el a formát - ÖN HŰTŐ.

A többi a Fake és Virtual CD-n, valamint a címkén, kérjük, ne vegye figyelembe.

ED_209 - ez a Delfer furnér, a többi pedig a zadnitsa.com-on direkt átirányítás.

ED_209 - ez Delfer. A többiek pedig a zadnitsa.com-ra történő közvetlen átirányítást kérik.


> ha DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Zene \ modulok")
> majd

nagy. csak a 2k-ban nem működik elég: (
a lemez létrehoz, de nem tehet vele semmit :)

Pomoymu meredek Paragon cd emulátor Még akkor sem, ha nem tölti be, a létrehozott CD-k (Cd-rom) még mindig valamilyen oknál fogva maradnak a képeken. Tehát hűvös. )

Romualdy (aug. 21, 02:54)

> ha DefineDosDevice (DDD_RAW_TARGET_PATH, "P:", "F: \ Backup \ Zene \ modulok")
> majd

nagy. csak a 2k-ban nem működik elég: (
a lemez létrehoz, de nem tehet vele semmit :)


Uh-huh;) ad P: nincs leírás és senki sem fog tenni =)
Bár emlékeztetőként írnának)


A könyvtár mappájának megrajzolása egy meghajtó betűjéhez (ugyanúgy, ahogy a subst.exe teszi)
// Például köszönetet mondunk Vornichesku Vladimirnak

eljárás addSubst (Drv: string; Path: string);
kezdődik
ha (Length (Path) = 0), majd Exit;
ha (DefineDosDevice (0, PChar (Drv), PChar (Path)) = False), majd RaiseLastWin32Error;
végén;

KillSubst eljárás (Drv: string);
kezdődik
ha (DefineDosDevice (DDD_REMOVE_DEFINITION, PChar (Drv), nil) = hamis)
akkor RaiseLastWin32Error;
végén;

Talán érdemes kipróbálni az algoritmust. Talán ez nem az, amire szüksége van legalább a stabil működéshez. Ez szerepel a Windows szabványos szállításában. A parancssorból futtathat:

subst :




Kapcsolódó cikkek