My reverse engineering tool

Show us what you're working on, (preferably with screenshots).
User avatar
djnzx48
Manic Miner
Posts: 722
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: My reverse engineering tool

Post by djnzx48 »

Is it possible to change the type of a text/code/data segment if it's been set incorrectly? After setting memory to the code type, it doesn't seem possible to change it back, and there's no undo feature.

Also, are breakpoints able to be saved along with the project?
0 x

Bedazzle
Berk
Posts: 33
Joined: Sun Mar 24, 2019 9:03 am

Re: My reverse engineering tool

Post by Bedazzle »

TheGoodDoktor wrote:
Sat Jan 04, 2020 8:45 pm
Here's an updated version with some improvements to the graphics viewer, games directory & z80 loader fix:
https://www.dropbox.com/sh/74olu8a70l14 ... nZQfa?dl=0
Seems, there are some dependecies.
Win 7:

Image

On another machine with Win 10 program is running normally.

P.S.
tried to get a bunch of DLLs, put these into program folder
XINPUT1_4.dll
api-ms-win-eventing-classicprovider-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-1.dll
api-ms-win-core-quirks-l1-1-0.dll
api-ms-win-core-libraryloader-l1-2-0.dll
api-ms-win-core-errorhandling-l1-1-1.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-processthreads-l1-1-2.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-com-l1-1-1.dll
api-ms-win-core-file-l1-2-1.dll
api-ms-win-core-heap-l1-2-0.dll
api-ms-win-core-rtlsupport-l1-2-0.dll

but stuck with

Image
0 x

TheGoodDoktor
Berk
Posts: 9
Joined: Fri Dec 27, 2019 8:53 pm

Re: My reverse engineering tool

Post by TheGoodDoktor »

djnzx48 wrote:
Fri Jan 10, 2020 6:15 am
Is it possible to change the type of a text/code/data segment if it's been set incorrectly? After setting memory to the code type, it doesn't seem possible to change it back, and there's no undo feature.

Also, are breakpoints able to be saved along with the project?
Not sure it's in the last published version but you can use the 'C', 'D' & 'T' keys after selecting the line.
I'll be publishing a new version soon.
0 x

User avatar
druellan
Manic Miner
Posts: 691
Joined: Tue Apr 03, 2018 7:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan »

I'm not well versed on the Spectrum internals, but I find this kind of tools very valuable, specially visual inspectors that allows everyone to spot curious things.
Suggestion: a memory heatmap mode similar to the ones found on the Spud emulator:

Format 1:
Image

Fromat 2:
Image

Format 3:
Image

Format 4:
Image

It looks pretty nice in motion, you can easily spot the buffers and see them work realtime, but the emulator has a bug that misplaces the red and green overprints
0 x

Bedazzle
Berk
Posts: 33
Joined: Sun Mar 24, 2019 9:03 am

Re: My reverse engineering tool

Post by Bedazzle »

druellan wrote:
Thu Jan 16, 2020 9:29 pm
Suggestion: a memory heatmap mode similar to the ones found on the Spud emulator:
How you achieved to run Spud?
It is always crying about missing ROM file, no matter what combination of ZX model/ROM I choose in options...

Image


P.S.
Ahhh, finally got it running.
Switched to default configuration.
Dont know why, but just extracting from archive and run doesnt't work. :lol:
1 x

User avatar
druellan
Manic Miner
Posts: 691
Joined: Tue Apr 03, 2018 7:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan »

This is how it looks working and with the read/write colors fixed. Sorry the size:

Image
0 x

TheGoodDoktor
Berk
Posts: 9
Joined: Fri Dec 27, 2019 8:53 pm

Re: My reverse engineering tool

Post by TheGoodDoktor »

Thanks for all the recent feedback!
I've made several improvements to the graphics viewer:

Column based display
Heat map colourisation
Ability to select location & display info below

I've also improved the memory analysis, it was misses accesses before, it should get everything now.
There's some basic assembler output but it's experimental atm.
I was hoping to add .SNA support but ran out of time.
Any more feedback/suggestions will be gratefully received!

Here's the Dropbox link:
https://www.dropbox.com/sh/74olu8a70l14 ... nZQfa?dl=0
2 x

Bedazzle
Berk
Posts: 33
Joined: Sun Mar 24, 2019 9:03 am

Re: My reverse engineering tool

Post by Bedazzle »

TheGoodDoktor wrote:
Sun Jan 19, 2020 4:52 pm
Any more feedback/suggestions will be gratefully received!
Maybe switching to older xinput can solve Win 7 compatibility problem?
https://www.gamedev.net/forums/topic/69 ... l-missing/
0 x

User avatar
druellan
Manic Miner
Posts: 691
Joined: Tue Apr 03, 2018 7:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan »

Valley of Rains use attributes to hide unused sprites to speed up the code:

Image

Seems that the "screen" viewmode has no read/write indicators or perhaps I´m missing something?
0 x

User avatar
SkoolKid
Berk
Posts: 25
Joined: Wed Nov 15, 2017 3:07 pm

Re: My reverse engineering tool

Post by SkoolKid »

TheGoodDoktor wrote:
Sat Dec 28, 2019 8:30 pm
I discovered Skoolkit a few months ago and ultimately I want this tool to generate output for it in some form
Just wanted to chime in and say I fully support this idea. :)

A few years ago someone else (apologies, don't remember who, and perhaps it would be impolite to name him, anyway) had the idea of making his Spectrum reverse engineering tool spit out SkoolKit control files, but in the end he gave up because control files are too complex (or something like that).

Now, yes, SkoolKit control files can be very complex, but they can also be very, very simple. So my advice, if you care to take it, would be to start off by generating the simplest possible control files, and then gradually work towards generating more complex ones.

Also, by the way, today is SkoolKit's 10th birthday!

https://skoolkit.ca/posts/2020/01/skoolkit-is-10/
3 x
SkoolKit - disassemble a game today
Pyskool - a remake of Skool Daze and Back to Skool

Post Reply