DiscCheckEmu is a tool designed to emulate disc checks found in many disc-based games and software without the need for physical media. By intercepting API calls and modifying their behavior on the fly, DiscCheckEmu provides a seamless experience for users looking to enjoy their favorite legacy software without the hassle of keeping CDs or ISOs mounted.
As computers increasingly lack CD-ROM drives, accessing old disc-based games and software has become impractical. DiscCheckEmu addresses this issue by allowing users to emulate disc checks, enabling them to run their favorite titles directly from their hard drives, without physically patching the game executable.
Get the latest version of DiscCheckEmu here (download section): https://github.com/Luca1991/DiscCheckEmu
Make sure to read the ConfigurationDocumentation.md
If you are just looking for pre-made config files go to: https://github.com/Luca1991/DCEConfigs
As computers increasingly lack CD-ROM drives, accessing old disc-based games and software has become impractical. DiscCheckEmu addresses this issue by allowing users to emulate disc checks, enabling them to run their favorite titles directly from their hard drives, without physically patching the game executable.
Features
- Intercept API calls and modify their behavior without patching the executable.
- File redirection.
- Directory redirection.
- Virtual Drive definition.
- In-Memory Patcher.
- Cheats support.
- API Logger (only available in Debug builds).
- Utilize a generic API hooking engine configurable through YAML files.
- Easy to use injector for automatically creating the target process and injecting the DLL.
- Fully open-source and customizable to suit individual needs.
Get the latest version of DiscCheckEmu here (download section): https://github.com/Luca1991/DiscCheckEmu
Make sure to read the ConfigurationDocumentation.md
If you are just looking for pre-made config files go to: https://github.com/Luca1991/DCEConfigs
Hi all,
I'd like to let you know about a project I'm developing and that is almost ready for its first release.
IT IS NOW RELEASED AND AVAILABLE TO DOWNLOAD!
As computers increasingly lack CD-ROM drives, accessing old disc-based games and software has become impractical.
It is ofcourse possible to buy an external cdrom drive, dump games to ISO format and keep the image mounted while playing such old games, but this will result in a waste of hdd space.
It is also possible to manually patch such disc checks in every game (and trust me, it is a fun activity ) but it requires asm comprehension skills (and a bit of winapi knowledge).
So........ let me introduce DiscCheckEmu: a tool designed to emulate disc checks found in many disc-based games and software without the need for physical media. By intercepting API calls and modifying their behavior on the fly, DiscCheckEmu provides a seamless experience for users looking to enjoy their favorite legacy software without the hassle of keeping CDs or ISOs mounted. The original game executable is left physically untouched.
Current featueres:
DCEConfig serves as the blueprint for configuring both DCELoader and DCEAPIHook. This file must be customized by the user for each target software, detailing API hooking and process creation parameters.
An example of a configuration file:
What do you think about DCE? Would you use it? Is it an interesting project for you? Is there any additional feature you would add in such software?
IT IS NOW RELEASED AND AVAILABLE TO DOWNLOAD!
As computers increasingly lack CD-ROM drives, accessing old disc-based games and software has become impractical.
It is ofcourse possible to buy an external cdrom drive, dump games to ISO format and keep the image mounted while playing such old games, but this will result in a waste of hdd space.
It is also possible to manually patch such disc checks in every game (and trust me, it is a fun activity ) but it requires asm comprehension skills (and a bit of winapi knowledge).
So........ let me introduce DiscCheckEmu: a tool designed to emulate disc checks found in many disc-based games and software without the need for physical media. By intercepting API calls and modifying their behavior on the fly, DiscCheckEmu provides a seamless experience for users looking to enjoy their favorite legacy software without the hassle of keeping CDs or ISOs mounted. The original game executable is left physically untouched.
Current featueres:
- Intercept API calls and modify their behavior without patching the executable.
- File redirection.
- Virtual Drive definition.
- Utilize a generic API hooking engine configurable through YAML files.
- Easy to use injector for automatically creating the target process and injecting the DLL.
- Fully open-source and customizable to suit individual needs.
- DCELoader: Main executable responsible for creating target process and injecting the DCEAPIHook DLL.
- DCEAPIHook: DLL used to hook APIs and modify their behavior.
- DCEConfig: YAML configuration file tailored to specific software, used by both DCELoader and DCEAPIHook.
DCEConfig serves as the blueprint for configuring both DCELoader and DCEAPIHook. This file must be customized by the user for each target software, detailing API hooking and process creation parameters.
An example of a configuration file:
Code:
# DCE Configuratin file
# Title: MY_GAME
# Note: copy "DATA" directory from CD to the install dir
loader:
target: "main.exe"
virtual_drives: ['L']
hooks:
- api: "GetDriveTypeA"
arg1: "L:\\"
return: 5 # DRIVE_CDROM
- api: "GetVolumeInformationA"
arg1: "L:\\"
arg2: "MY GAME DISC LABEL"
return: true
file_redirections:
- source: "L:\\DATA\\FILE1.DAT"
destination: ".\\DATA\\FILE1.DAT"
- source: "L:\\DATA\\FILE2.DAT"
destination: ".\\DATA\\FILE2.DAT"
- source: "L:\\DATA\\FILE3.DAT"
destination: ".\\DATA\\FILE3.DAT"
- source: "L:\\DATA\\FILE4.DAT"
destination: ".\\DATA\\FILE4.DAT"
- source: "L:\\DATA\\FILE5.DAT"
destination: ".\\DATA\\FILE5.DAT"
- source: "L:\\DATA\\FILE6.DAT"
destination: ".\\DATA\\FILE6.DAT"
What do you think about DCE? Would you use it? Is it an interesting project for you? Is there any additional feature you would add in such software?
Last edited by Luca91,