04 December 2009, 19:05 | #21 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 39
Posts: 2,731
|
Believe me, I've tried those programs. For games like Future Wars, they either provide an external loader program or they patch the original executable, none of which are useful through ScummVM. This is why I was looking for as much info on hardpatching data files as possible. Neverlock et al similarly provide only a loader for Cruise, but it's been confirmed you can patch one of the game's data files to get past the protection and it'll work under ScummVM.
See what I'm getting at? |
04 December 2009, 19:07 | #22 |
Citizen of Elthesh
Join Date: Sep 2003
Location: UK
Posts: 949
|
Sure. Just thought I'd mention them.
|
05 December 2009, 02:47 | #23 |
Powered by Motorola
Join Date: Feb 2002
Location: Redondo Beach, CA
Age: 52
Posts: 1,065
|
Looks like there is a flag to bypass the protection in SCUMMVM but it is disabled by default. I don't have Future Wars or time to compile and test though.
engines\cine\main_loop.cpp: Code:
globalVars[VAR_BYPASS_PROTECTION] = 0; // set to 1 to bypass the copy protection |
05 December 2009, 13:53 | #24 | |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
|
Quote:
Hacked Operation Stealth in a very smart way 15 years ago, so smart I don't remember why I did that and how I came to that solution (replacing a 0x60 by a 0x93 somewhere in the exe). Took me 10+ hours. For Future Wars, the "replay" technique worked to an extent but there were problems, so I adapted a crack, and I don't know how it works but it works flawlessly even for the Interplay version using a different protection screen. But for MI2 and Another World, I used datafile patch (not by me!), and I did that also for MI1. To adapt the patch for PC, don't look for the offset, but for the hex string to be replaced, in the big file. It works (same for MI1). It's ASM code for the VM and it's the same (but I don't have a clue about how it works ) bye |
|
09 December 2009, 20:04 | #25 | |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 39
Posts: 2,731
|
Quote:
|
|
14 December 2009, 20:14 | #26 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 39
Posts: 2,731
|
Say, is there an easy way of finding all the copy protection references for each engine in the source code? I wish to see if I can kill it for the Gobliiins games also.
|
02 January 2010, 17:35 | #27 |
Powered by Motorola
Join Date: Feb 2002
Location: Redondo Beach, CA
Age: 52
Posts: 1,065
|
SCUMMVM has code to bypass the protection in Gobliiins 1 and 2. It only checks the copy_protection value in the config file so make sure you have copy_protection=false set in scummvm.ini.
engines\gob\gob.cpp Code:
_copyProtection = ConfMan.getBool("copy_protection"); Code:
// Skipping the copy protection screen in Gobliiins if (!_vm->_copyProtection && (_vm->getGameType() == kGameTypeGob1) && (offset == 3905) && !scumm_stricmp(_vm->_game->_curTotFile, _vm->_startTot.c_str())) { debugC(2, kDebugGameFlow, "Skipping copy protection screen"); return false; } // Skipping the copy protection screen in Gobliins 2 if (!_vm->_copyProtection && (_vm->getGameType() == kGameTypeGob2) && (offset == 1746) && !scumm_stricmp(_vm->_game->_curTotFile, "intro0.tot")) { debugC(2, kDebugGameFlow, "Skipping copy protection screen"); return false; } |
18 January 2010, 20:18 | #28 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 39
Posts: 2,731
|
Ah, thanks for that information, adolescent!
Now if only I could get ScummVM to actually compile at all under Windows. >.< Been following the instructions on their wiki and their forum as closely as possible, but when all your efforts result in something like this... (Log taken from attempt to build NDS version through devkitARM) Code:
MarzSyndrome@ ~/scummvm/backends/platform/ds $ make SCUMM_BUILD=d make[1]: Entering directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm 7' main.o cartreset.o cartreset.c main.cpp arm-eabi-g++ -MM -g -Wall -O2 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb-interwork -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/include -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/build -Iquote -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/../commoninclude -I/c/devkitPro/libnds/include -I/c/devkitPro/libnds/include/nds -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/build -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/libcartreset -DARM7 -fno-exceptions -fno-rtti -o main.d / home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp In file included from c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:42:c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/../commoninclude/NDS/scummvm_ipc.h:41: error: 'TransferSoundData' does not name a type c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp: In function 'void InterruptVBlank()': c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:505: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:507: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:510: error: 'struct sTransferSound' has no member named 'data' c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp: In function 'int main(int, char**)': c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm7/source/main.cpp:588: error: 'SOUND_CR' was not declared in this scope make[2]: *** [main.o] Error 1 make[1]: *** [build] Error 2 make[1]: Leaving directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm7' /bin/sh: svn: command not found make[1]: Entering directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm9' makefile:349: warning: overriding commands for target `clean' /home/MarzSyndrome/scummvm/backends/platform/ds/../../../Makefile.common:73: warning: ignoring old commands for target `clean' make -C ./scummvm-D -f ../makefile scummvm.nds /bin/sh: svn: command not found make[2]: Entering directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/scummvm-D' ../makefile:349: warning: overriding commands for target `clean' /home/MarzSyndrome/scummvm/backends/platform/ds/../../../Makefile.common:73: warning: ignoring old commands for target `clean' icons.raw keyboard.raw keyboard_pal.raw default_font.bin 8x8font_tga.raw arm-eabi-as -mcpu=arm9tdmi -mthumb-interwork /home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/blitters_arm.s -o /home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/blitters_arm.o mkdir -p /home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/.depsarm-eabi-g++ -Wp,-MMD,"/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/.deps/cdaudio.d",-MQ,"/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/cdaudio.o",-MP -Os -mthumb -Wno-multichar -Wall -Wno-multichar -mcpu=arm9tdmi -mtune=arm9tdmi -mcpu=arm9tdmi -mtune=arm9tdmi -fomit-frame-pointer -mthumb-interwork -DUSE_ARM_COSTUME_ASM=1 -Wno-non-virtual-dtor -Wno-unknown-pragmas -Wno-reorder -fno-exceptions -fno-rtti -mthumb-interwork -ffunction-sections -fdata-sections -fno-strict-aliasing -DSCUMMVM_SVN_REVISION=\"\" -DDS_NON_SCUMM_BUILD-DDS_BUILD_D -D__DS__ -DNDS -DARM9 -DNONSTANDARD_PORT -DDISABLE_FANCY_THEMES -DVECTOR_RENDERER_FORMAT=1555 -DDISABLE_DOSBOX_OPL -DDISABLE_DEFAULT_SAVEFILEMANAGER -DARM -DREDUCE_MEMORY_USAGE -DENABLE_AGI=STATIC_PLUGIN -DENABLE_CINE=STATIC_PLUGIN -DENABLE_GOB=STATIC_PLUGIN -DDISABLE_SCALERS -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/scummvm-D -I/home/MarzSyndrome/scummvm/backends/platform/ds/../../.. -I/home/MarzSyndrome/scummvm/backends/platform/ds/../../../engines -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/data -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/../commoninclude -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/mad -I/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/libcartreset -I/c/devkitPro/libnds/include -include /home/MarzSyndrome/scummvm/backends/platform/ds/../../../common/scummsys.h -c /home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/cdaudio.cpp -o /home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/cdaudio.o In file included from c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/dsmain.h:28, from c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/cdaudio.cpp:26: c:/devkitPro/msys/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/../commoninclude/NDS/scummvm_ipc.h:41: error: 'TransferSoundData' does not name a type make[2]: *** [/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/source/cdaudio.o] Error 1 make[2]: Leaving directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm9/scummvm-D' make[1]: *** [ndsall] Error 2 make[1]: Leaving directory `/home/MarzSyndrome/scummvm/backends/platform/ds/arm9' make: *** [all] Error 2 MarzSyndrome@ ~/scummvm/backends/platform/ds $ |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
rage protection code | albino | request.Other | 3 | 11 May 2013 22:27 |
Does Exile AGA retain the code protection from the original? | MethodGit | support.Games | 5 | 25 July 2012 00:32 |
Can making a backup kill a game? Some kind of protection code? | fitzsteve | support.Games | 12 | 19 March 2010 02:59 |
Backing up games with copy protection | VermillioN | support.Games | 2 | 06 November 2006 12:34 |
how to hack games | boing_1000 | request.Old Rare Games | 6 | 26 June 2006 12:46 |
|
|