Getting started with reversing P01/P59

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
L5hunter
Posts: 13
Joined: Mon Apr 06, 2020 2:47 pm
cars: too many...
Location: Waco, TX

Getting started with reversing P01/P59

Post by L5hunter »

Hello everyone.

I've been lurking around this forum for quite some time now, and have been very happy to see the developments made from very early LS1 Flash Tool to the modern PCMHammer/Universal Patcher state of things. I am to the point where instead of spectating, I would like to make myself actively useful, or at least to the amount that a full-time CS student can be (which is mainly at Christmas and during the summer).

I've been playing around with Ghidra and a few different BINs from various different OSes, and while I continue to understand more and more, this is without a doubt difficult to understand and twice that difficulty to do something with. The main issues I see are two things:
1. There is a complete lack of information out there as to how to get started or make heads/tails of any information. This is understandable, as it is no doubt a very difficult task, but I assure you that the demand for learning, while small, is out there. I found dimented24x7's tutorials and continue to pour over them to understand. Imagine if someone posted a modern, up-to-date disassembly of 125 or some other popular OS? On this topic...
2. There seems to be a divide between disassemblers - most people seem to use IDA Pro, which is unfortunate as the steep entry price means that many people. Ghidra, while free, only has support for our specific processor thanks to NSFW writing stuff for SLEIGH to understand it (many thanks!). This divide means that we have many tools across the two platforms, but in some cases I need to switch to IDA to do something, then switch back to Ghidra to do something else. Worse still, some of the tools out there are written for earlier versions of IDA.

To help remedy these problems, I have created a small (for now) GitHub repository (https://github.com/hkaase/LSPcmReversingTools), and I would love to hear people's thoughts and opinions on what should be included (or maybe even create some resources yourself?). I would love to be more helpful, or at the very least satisfy my curiosity as to what exactly is going on in the ancient Motorola processor underneath my (and many other peoples') hoods. If anything, I would just like to have a centralized location for people with preexisting knowledge to get up and running with not a lot of work.

In any case, please share any resources, tips, tricks, etc. you might have! They don't have to be limited to 0411 stuff - I am thinking it may be prudent to work on some older, less intelligent PCMs first before moving to the "modern" ones?

Thank you to everyone who has put in effort on open-sourcing our PCMs. :D
Cincinnatus
Posts: 305
Joined: Fri Jul 30, 2021 5:49 pm
cars: 97 Corvette
92 Camaro
2005 Silverado
2001 Savana 2500
1998 c3500hd
1998 tahoe

Re: Getting started with reversing P01/P59

Post by Cincinnatus »

I assume you read this.

viewtopic.php?f=42&t=7920
L5hunter
Posts: 13
Joined: Mon Apr 06, 2020 2:47 pm
cars: too many...
Location: Waco, TX

Re: Getting started with reversing P01/P59

Post by L5hunter »

Cincinnatus wrote:I assume you read this.

viewtopic.php?f=42&t=7920
I actually watched the guide, but didn't see the post for it, some more helpful info there, thanks. It's nice to see I wasn't the only one doing something with Ghidra's ImportSymbols script, it certainly makes things a lot easier.

Would there be any interest or point to attempting to create and maintain an up-to-date XDF repo? The Snoman002 and BoredTruckOwner repos, as mentioned in the linked thread, are woefully out of date - just want to make sure I am not stepping on anyone's toes here.
User avatar
antus
Site Admin
Posts: 8238
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Getting started with reversing P01/P59

Post by antus »

yes I think that would be really useful. there are a number of pinned threads here, and hosting them here is good (no account needed to download) but we could really use an index thread that is maintained to link out to the various threads, and any off site sources too. If you created such a high quality thread and could maintain it I would sticky it and put it in the faq, and the pcmhammer readme too.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
darkman5001
Posts: 212
Joined: Sat Dec 18, 2021 8:15 am
cars: 2004 Suburban, 2001 Tahoe, 2002 Envoy, 2006 Envoy, 2003 Lincoln LS
Location: New Jersey, USA

Re: Getting started with reversing P01/P59

Post by darkman5001 »

I too would be very interested to see where this goes and am willing to contribute in any way that I can.
bubba2533
Posts: 498
Joined: Wed Apr 11, 2018 8:50 am
cars: 03 Chevy S10 Turbo V6

Re: Getting started with reversing P01/P59

Post by bubba2533 »

Added a link to the thread in the description of the video. Not sure how I missed that.
LS1 Boost OS V3 Here. For feature suggestions post in here Development Thread. Support future development ->Patreon.
L5hunter
Posts: 13
Joined: Mon Apr 06, 2020 2:47 pm
cars: too many...
Location: Waco, TX

Re: Getting started with reversing P01/P59

Post by L5hunter »

Glad to see this is getting some traction - I'll get to work on combining the various XDFs across the net into a central place. Should this be a separate repo or the same as the one I already have? I'm leaning towards separate. I'll do my best to combine all the data, but moving forwards we need to encourage new XDFs are added there by means of pull requests. That way the repo can stay cutting edge as time goes on.

***Upon think about this further, I'm probably going to write an XDF comparator tool to help figure out what the differences are between XDFs, to vet breadth, depth, and quality. That way I can easily catch errors and discrepancies.
Last edited by L5hunter on Tue Dec 27, 2022 5:26 am, edited 1 time in total.
L5hunter
Posts: 13
Joined: Mon Apr 06, 2020 2:47 pm
cars: too many...
Location: Waco, TX

Re: Getting started with reversing P01/P59

Post by L5hunter »

antus wrote:yes I think that would be really useful. there are a number of pinned threads here, and hosting them here is good (no account needed to download) but we could really use an index thread that is maintained to link out to the various threads, and any off site sources too. If you created such a high quality thread and could maintain it I would sticky it and put it in the faq, and the pcmhammer readme too.
I can work on this, this is a good idea. I'm going to try to pad out the GitHub first, and then maybe itemize the contents in this thread later on. Stay tuned!
L5hunter
Posts: 13
Joined: Mon Apr 06, 2020 2:47 pm
cars: too many...
Location: Waco, TX

Re: Getting started with reversing P01/P59

Post by L5hunter »

bubba2533 wrote:Added a link to the thread in the description of the video. Not sure how I missed that.
Thanks for your video and work on the Boost OS! It was easy to follow and a great help.
User avatar
antus
Site Admin
Posts: 8238
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: Getting started with reversing P01/P59

Post by antus »

I think you will need to track sources somehow, and keeping consensus on what is the newest/best/most accurate will be key. Properly maintained xdfs are much more valuable than a 3 year out of date xdf someone with good intentions picked up, made one change then posted as newer. I think community will be a big part knowing who is/has done what. That is where the forums are useful. A comparison tool will be great, but encrypted XDFs can cause a problem there, and it'll require testing to know which is correct when there are differences. The XDFs in stickied threads here are the best currently available. Git is a good idea for trackability but tunerpros slightly changing format over versions will create noise. I also dont want to break the 1 thread / 1 maintainer community side of it here. If we need a GM definitions area only for xdf threads with OSID in the title we can do that. Keep xdfs posted here for feedback/comments and link out to github for trackability. I imagine we'd share access to the repo among a couple of active members to keep it up to date.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Post Reply