VOGONS

Common searches


First post, by F2bnp

User metadata
Rank l33t
Rank
l33t

Atlantis: The Lost Tales is an old favorite of mine and I've been wanting to return to it recently. While not a 3D Accelerated game, the game's initial release will not work with graphics cards from 1998 and onwards, like the Voodoo Banshee, producing a garbled image, not unlike Little Big Adventure 2.
There was a (fan-made?) patch released around that time that fixed this issue, however it introduced some graphic glitches like characters without pupils, beard or with fused apparel. I've built a system with an old enough graphics card to play the original version properly and a fast enough CPU to not run into any timing issues (the game lacks a frame limiter).

The issue here is that the game comes on 4CDs and there's a lot of disc reading and some disc swapping which I'd like to avoid. Daemon Tools is less than ideal, since the game cannot ALT-TAB to the Desktop, so swapping discs is rather hard. I found a NO-CD patch that works with the patched exe, but it uses an MD5 algorithm to match hashes and determine whether or not it is patching the correct executable. Unfortunately, this isn't ideal, I'd love to remove the CD-Check from the original, un-patched version. The developer of this patch was kind enough to include the source code in C and I managed to remove the MD5 check, but the produced executable will not run, so I'm missing something.
I only know some basic programming and I can read and understand small and basic code, however this is just a little out of my league and I'd love it if someone could help me out and figure out what the No-CD patch does exactly. I've attached a zip file which includes the original, unaltered executable, the VoodooBanshee/V3 patch and the No-CD patch. Any help is appreciated.

I should note that I own a boxed copy of the game and do not endorse warez in any way. This is not a warez discussion, it's about providing the finest possible experience.

Attachments

  • Filename
    atlantis related.rar
    File size
    471.95 KiB
    Downloads
    126 downloads
    File license
    Fair use/fair dealing exception

Reply 2 of 11, by collector

User metadata
Rank l33t
Rank
l33t

Are you trying to run the Windows version or DOS? This should probably go in the DOS or Windows forum accordingly. There are ways to do this via DOSBox, but there can be some problems with it running smoothly, though it has been years since I last looked at it.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 3 of 11, by F2bnp

User metadata
Rank l33t
Rank
l33t

The GOG version does indeed do that, however isn't it running of the patched Windows executables and therefore has all the aforementioned graphical glitches?

Trying to run the Windows version, collector. The DOS version is nothing but trouble AFAIR.

Reply 4 of 11, by dr_st

User metadata
Rank l33t
Rank
l33t
F2bnp wrote:

I found a NO-CD patch that works with the patched exe, but it uses an MD5 algorithm to match hashes and determine whether or not it is patching the correct executable. Unfortunately, this isn't ideal, I'd love to remove the CD-Check from the original, un-patched version. The developer of this patch was kind enough to include the source code in C and I managed to remove the MD5 check, but the produced executable will not run, so I'm missing something.

The MD5 check is there for a reason. The crack goes and replaces certain bytes in the executable with other bytes that cause it to skip the CD check. In different versions of the executable, the relevant bytes will be in different positions. So if you just remove the check, forcing the crack to change whatever it thinks should be changed, the result will be instead that you modified some random unrelated place in the executable, thus corrupting it, which is exactly what you experienced.

F2bnp wrote:

I only know some basic programming and I can read and understand small and basic code, however this is just a little out of my league and I'd love it if someone could help me out and figure out what the No-CD patch does exactly.

It looks fairly simple. From the attached source and from no_cd.txt inside the archive, it does two things:

  • Writing 0xB8 to offset 0x9337, replacing whatever was there (0xE8, actually)
  • Replacing three characters at offset 0x773A4 with .\ (The original three characters at that offset are a:\)

Now, usually, the code responsible for the CD check does not change between versions, so what you should do is find out where these offsets are located in the original executable, and apply identical changes. The easiest method, which works most of the time is as follows:

  • Open the original (uncracked) executable of the supported version
  • Locate the offset(s) to be changed
  • Keep track of the context around the offset. As a rule of thumb - 4 bytes before and 4 bytes after is probably good enough in most cases, but it may vary.
  • Search for this "context" sequence around the offset in the file. If it doesn't appear again, then it's unique enough and you are probably good to go.
  • Now open the unsupported version of the executable and search for the context. If you find it, and find it only once - then this is probably the location you need to patch. If it appears more than once - try taking a longer context. If it doesn't appear at all - try a shorter one.
  • Replace whatever byte(s) need to be replaced with whatever they need to be replaced with.
  • Repeat for however many places in the file must be changed. For most typical No-CD cracks it will usually be 1-3 places (in this case - 2 places).

For instance, in the files you attached, assuming that the Atlantis.exe which is 688,128 bytes long is the one you want to patch I can tell you this:

  • The second offset (with the pathname) starts at 0x72594. So you would need to replace 3 bytes at 0x72594: from 61 3A 5C to 2E 5C 00.
  • The first offset I couldn't find, though. This is strange, but maybe they changed the code in more strange ways between the revisions. However, the file also appears to be corrupt. Is this after you tried to patch it? If so, could you send the original, uncracked one?

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 5 of 11, by F2bnp

User metadata
Rank l33t
Rank
l33t

Thanks for the very thorough analysis and procedure. Can I do all this using a hex editor?

I'm pretty sure the attached executable was the original one. Nonetheless, I grabbed it again and repacked everything.

Attachments

  • Filename
    atlantis related.rar
    File size
    468.47 KiB
    Downloads
    72 downloads
    File license
    Fair use/fair dealing exception

Reply 6 of 11, by dr_st

User metadata
Rank l33t
Rank
l33t

Yes, a hex editor is how I would do it.

After some more investigation, I am forced to guess: replace the 0xE8 at offset 0x933E with 0xB8. In addition to the second change I mentioned in the previous post. Let me know if it works for you.

Edit: I patched it according to my guess. Just try the file in the attached ZIP.

Attachments

  • Filename
    atlantis_orig_patched.zip
    File size
    210.02 KiB
    Downloads
    150 downloads
    File license
    Fair use/fair dealing exception

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 8 of 11, by collector

User metadata
Rank l33t
Rank
l33t

F2bnp, I once thought about doing an installer for this, but you are right about the issues with the DOS version, so I never bothered. I see that your Atlantis.exe has a different hash than mine. If I bother with an installer for the Windows version I would like to take into account different versions. I don't see anything to indicate the version on mine. Is there a DOS folder on the first CD of your version?

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 9 of 11, by dr_st

User metadata
Rank l33t
Rank
l33t
F2bnp wrote:

Success! Many thanks dr_st, you're awesome! I'll keep this executable in handy.

Glad that it worked! Do let me know if there are any issues. In the meanwhile, I documented the offsets, so that the patch can easily be repeated. 😀

https://cloakedthargoid.wordpress.com/atlanti … the-lost-tales/

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 11 of 11, by syazaz

User metadata
Rank Newbie
Rank
Newbie

Hi, I have the GoG version but the patch that comes with the gog version have problems like mentioned here: Atlantis: The Lost Tales
- Mouse in puzzle too slow
- Face mask, facial features are ruined/planted inside face
- Hanging in certain points that requires process termination and restart

With google search I found the original .exe and patched no-cd posted in this thread, all are fine when using with GOG release, those problems are gone but it introduced some crashes. After investigating, the crashes seems to be related to some files missing (open unsuccessful, close unchecked - leading to crash) and passing some invalid pointer to strncmp.

This patch was based on exe posted here fixing those crashes.
To play, you will need DXWnd along with it with Timing Limit turned on. 33 msec delay is nice and gives fluid movement and animation.
I was playing this on windows 10 x64 from start to finish with no problem.

Attachments

  • Filename
    Atlantis-patchB.zip
    File size
    209.71 KiB
    Downloads
    76 downloads
    File license
    Fair use/fair dealing exception