English Amiga Board    


Go Back   English Amiga Board > » Coders > Coders. General

Reply
 
Thread Tools
Old 29 April 2006, 18:47   #1
mr_a500
Amiga-based Cyborg
 
mr_a500's Avatar
 
Join Date: Dec 2004
Location: Canada
Posts: 766
Need a little disassembly/binary edit help

"The Matrix" screensaver looks for graphics.library 40+ when loading and fails when it is not found - even though the documentation says that it's possible to run it with version 39 if you've got a writechunkypixel patch (I do). So, I need a way to stop the executable from searching for version 40+. I contacted the author last year but got no response. So I want to edit the executable to look for v.39 instead.

I know how to binary edit obvious things in executables, but I don't know how to disassemble a running program to find the spot I need to edit. I was wondering if somebody could help and see if there's a simple way to edit the executable (to change 40 to 39 or even prevent the graphics.library check). If not, I was wondering if somebody could name a tool that allows you to see what part of the executable is being executed and at what point.

About the legality/ethics of doing this, there's a line in The Matrix documentation that says: "You might disassemble the program if you think you'll have fun doing this".
mr_a500 is offline   Reply With Quote
Old 29 April 2006, 23:30   #2
Codetapper
Moderator
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Age: 38
Posts: 2,462
Send a message via Skype™ to Codetapper
If you have Resource, this should be a trivial change. 40 in hex is 28, so you would need to hunt in the executable for the word $0028 and change to $0027.

Libraries are generally opened right at the beginning of the program so there should be a $0028 within the first couple of hundred bytes. If you can't work it out just upload the binary and someone here will surely hack it for you.
Codetapper is offline   Reply With Quote
Old 30 April 2006, 00:35   #3
mr_a500
Amiga-based Cyborg
 
mr_a500's Avatar
 
Join Date: Dec 2004
Location: Canada
Posts: 766
Quote:
If you have Resource, this should be a trivial change. 40 in hex is 28, so you would need to hunt in the executable for the word $0028 and change to $0027.
Resource? Searching for hex 28 is the first thing I tried. If you replace the first, the program won't load (no libraries checked or anything). If you replace the second, it checks for graphics 40 then crashes. If you replace the third, same thing.

So I guess I need somebody willing to hack. Anybody? Think of it as a hacking challenge. (..rather than free work )
mr_a500 is offline   Reply With Quote
Old 30 April 2006, 10:16   #4
Codetapper
Moderator
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Age: 38
Posts: 2,462
Send a message via Skype™ to Codetapper
It might help if you upload the file to the Zone...
Codetapper is offline   Reply With Quote
Old 30 April 2006, 16:35   #5
mr_a500
Amiga-based Cyborg
 
mr_a500's Avatar
 
Join Date: Dec 2004
Location: Canada
Posts: 766
Well, I didn't want to upload it to the Zone before someone actually offered to help. That would be silly. (..and look desperate)

But if you're going to help, I'll throw it in the Zone faster than you can say "mama mia!" (it's there now)

Thanks

Last edited by mr_a500; 30 April 2006 at 16:46.
mr_a500 is offline   Reply With Quote
Old 30 April 2006, 21:33   #6
Codetapper
Moderator
 
Codetapper's Avatar
 
Join Date: May 2001
Location: Auckland / New Zealand
Age: 38
Posts: 2,462
Send a message via Skype™ to Codetapper
Nobody is going to offer the help unless the file is there to look at
Codetapper is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 08:59.

-->

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Page generated in 0.15258 seconds with 9 queries