My reverse engineering tool

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

Re: My reverse engineering tool

Post by djnzx48 » 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?
0 x

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

Re: My reverse engineering tool

Post by Bedazzle » Sun Jan 12, 2020 9:22 am

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 » Sun Jan 12, 2020 9:47 pm

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: 476
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan » Thu Jan 16, 2020 9:29 pm

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
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

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

Re: My reverse engineering tool

Post by Bedazzle » Thu Jan 16, 2020 9:42 pm

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: 476
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan » Fri Jan 17, 2020 1:23 am

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

Image
0 x
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

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

Re: My reverse engineering tool

Post by TheGoodDoktor » Sun Jan 19, 2020 4:52 pm

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: 20
Joined: Sun Mar 24, 2019 9:03 am

Re: My reverse engineering tool

Post by Bedazzle » Sun Jan 19, 2020 6:04 pm

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: 476
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: My reverse engineering tool

Post by druellan » Tue Jan 21, 2020 2:05 pm

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
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

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

Re: My reverse engineering tool

Post by SkoolKid » Tue Jan 28, 2020 5:00 pm

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/
2 x
SkoolKit - disassemble a game today
Pyskool - a remake of Skool Daze and Back to Skool

Post Reply