08 March 2011, 15:04 | #1 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
Game appears to use weird JSR instructions
In the executable anyway. In memory they resemble more 'normal' instructions.
Basically, I've found a way to skip the protection screen in Valhalla: Before The War and know which JSR to edit in the "BeforeTheWar" exe. Only problem is that it looks something like this: Code:
4E B9 80 00 45 7A |
08 March 2011, 18:11 | #2 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Yes, AMOS was used to make the game, or the level data. I can't tell you what the 80 is for without looking at the file itself.
I know that all the extensions used within an AMOS program have to pass the extension number to AMOS (to say everything in this extension is working ok), but valid extension numbers are 1-25(-1). Regards, Lonewolf10 |
08 March 2011, 18:27 | #3 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
|
08 March 2011, 21:48 | #4 |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
As a total stab in the dark, it isn't a jsr to a minus offset is it...?
The $8000 would make the most significant bit a 1 meaning this could be interpreted as a minus number... and you often see jsr's to minus offsets, for library calls for example. Only thing sticking in my mind telling me this guess is wrong is that -$ba86.l should be $ffff457a and not $8000457a But, errr... well, it's just a punt. |
08 March 2011, 23:44 | #5 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
You do know that the amospro compiler can compress the executable when it compiles it, and who knows what the developers did when they wrote it. Is the came encrypted and then decoded into memory??
|
09 March 2011, 01:42 | #6 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
Encrypted? Looking at the executable, I highly doubt it. Otherwise things as simple as an "accept any answer" patch wouldn't be so easy to implement.
|
09 March 2011, 08:54 | #7 |
move.w #$4489,$dff07e
Join Date: Sep 2005
Location: Norfolk, UK
Age: 43
Posts: 2,351
|
|
09 March 2011, 09:02 | #8 | |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Quote:
Like I said - it was a punt! |
|
09 March 2011, 11:44 | #9 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,547
|
When you intend to patch a 32-bit address later, you want to make sure it isn't optimized by the assembler to a 16-bit addressing mode. This could be a reason to set bit 31.
But I would try to find the code, which patches this address, for a better understanding. Or is there even a relocation entry for it? |
12 March 2011, 17:59 | #10 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Well I compiled one of my AMOS programs (MMR) using various options - AMOS compiled, Cli version, no AMOS.Lib squashed & unsquashed, no error messages squashed and unsquashed, long Option on & off.
I searched for the above string and got no hits. I then searched (using Directory Opus) for "4E B9 80 00" and only got hits in the unsquashed versions with no AMOS.library built in to the compiled file. X - MMR_AMOScompiled X - MMR_cli X - MMR_Cli_squashed / - MMR_nolib_ERRmsgs / - MMR_no_lib_longOpt / - MMR_no_lib_noERRmsgs X - MMR_no_lib_squashed Which makes sense with what phx said about patching addresses later on, for example after the AMOS.library file has been loaded into memory. Regards, Lonewolf10 |
15 March 2011, 11:12 | #11 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
Would this mean I'd have to load an external patch file, or find space within the game exe to take over an instruction and redirect it to some patch code (like is possible with some games)?
|
16 March 2011, 09:40 | #12 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
External patch would be clean. Oh wait whdload.
|
17 March 2011, 15:33 | #13 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
|
17 March 2011, 19:43 | #14 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
I totally understand that but I don't understand why you are re-inventing the wheel?
Hasn't this game already been cracked/hacked?? |
17 March 2011, 20:07 | #15 | |
gone
Join Date: Apr 2007
Location: completely gone
Posts: 1,596
|
Quote:
|
|
18 March 2011, 16:26 | #16 |
Junior Member
Join Date: Dec 2002
Location: The Streets
Age: 40
Posts: 2,731
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
68040 MMU jsr/bsr | Toni Wilen | Coders. General | 5 | 28 April 2010 20:57 |
Weird instructions | absence | Coders. General | 4 | 12 October 2009 16:54 |
Weird physics game thing | FromWithin | Looking for a game name ? | 30 | 25 November 2008 23:58 |
Amiga game instructions? | HonoredShadow | support.Games | 6 | 22 October 2005 04:48 |
Game Instructions | Ricky55 | Retrogaming General Discussion | 2 | 06 July 2002 20:10 |
|
|