in general, for games which uses this cart type, easiest way to find where protection used - catch encrypted data upload to on-cart RAM (in debugger set watch point at 0x5F7008 address writes)What would one be looking for?
I want to point out that this is factually inaccurate. It is most certainly one approach to understanding, as a reverse engineer you can certainly appreciate learning new pieces to a puzzle may in fact help you complete it. You don't always have to assemble a puzzle in chronological order in which the pieces were produced.If you have to ask the questions you're asking, you're missing many pieces of the puzzle needed to do the job.
Thank you kindly...@brizzo thanks
in general, for games which uses this cart type, easiest way to find where protection used - catch encrypted data upload to on-cart RAM (in debugger set watch point at 0x5F7008 address writes)then step out of routine and analyze the following code. in many cases next will be call to decrypted data read routine, sometimes followed by data check/compare code.What would one be looking for?
also, at this point, you may want to save whole 32MB RAM dump, and then load it in IDA, which makes analysis more comfortable.
in the case of mentioned game, it will be like:
run MAME with debugger enabled - "mame64.exe dybbnao -d -nodrc"
set watchpoint, in debugger console - "wps 5f7008,1,w"
run the code and wait until game boots and will try to access protection.
it will be slow as hell, because we need to run it in interpreter (-nodrc) to get debugger features fully working.
and you'll be needed wait quite long, coin it, and start the game, because it seems dybbnao does prot.checks only during actual gameplay.
also, this is very old game, iirc it is 2nd game released for NAOMI (1st was HOTD2), so I'd imagine it may have bunch of bugs, which may make it not compatible with DIMM, in one or another way.
so, it may worth to check is it at least trying to run via netboot at all.
There is a *private* Demul version with a debugger I believe they use as well.so even for naomi you use mame debugger?
thank you. This is very helpful and should get me started.@brizzo thanks
in general, for games which uses this cart type, easiest way to find where protection used - catch encrypted data upload to on-cart RAM (in debugger set watch point at 0x5F7008 address writes)then step out of routine and analyze the following code. in many cases next will be call to decrypted data read routine, sometimes followed by data check/compare code.What would one be looking for?
also, at this point, you may want to save whole 32MB RAM dump, and then load it in IDA, which makes analysis more comfortable.
in the case of mentioned game, it will be like:
run MAME with debugger enabled - "mame64.exe dybbnao -d -nodrc"
set watchpoint, in debugger console - "wps 5f7008,1,w"
run the code and wait until game boots and will try to access protection.
it will be slow as hell, because we need to run it in interpreter (-nodrc) to get debugger features fully working.
and you'll be needed wait quite long, coin it, and start the game, because it seems dybbnao does prot.checks only during actual gameplay.
also, this is very old game, iirc it is 2nd game released for NAOMI (1st was HOTD2), so I'd imagine it may have bunch of bugs, which may make it not compatible with DIMM, in one or another way.
so, it may worth to check is it at least trying to run via netboot at all.
So can Naomi Games like MvC2 be hacked?so even for naomi you use mame debugger?
both, Demul and MAME, depends on type of task.so even for naomi you use mame debugger?
marstv ? it is known to work via netbootYou mention db being an early release that may be buggy. Could suggest another game (even one that has already been sorted) that would be a better starting point. Perhaps one you recall being less complex than the ohers?
lol, what...marstv ? it is known to work via netbootYou mention db being an early release that may be buggy. Could suggest another game (even one that has already been sorted) that would be a better starting point. Perhaps one you recall being less complex than the ohers?
you may also check Dynamite Baseball NAOMI by yourself - join 4x IC22 (so it will be 8Mbyte file), append IC1-21 data, netboot it.
if everything OK - game should boot to title screen (as was said - it does protection checks only during gameplay).
otherwise, if game will just hang - better drop it, and try to play with another game.
can't agree. mainly because here is no any puzzle.I want to point out that this is factually inaccurate. It is most certainly one approach to understanding, as a reverse engineer you can certainly appreciate learning new pieces to a puzzle may in fact help you complete it. You don't always have to assemble a puzzle in chronological order in which the pieces were produced.
Cool. Can you send me a netbootable marstv bin so I can bindiff it with concat'ing the roms out of mame?marstv ? it is known to work via netboot
I've never seen it, and I only use MAME+IDAThere is a *private* Demul version with a debugger I believe they use as well.
This sums up the point I was trying to make -- A few years ago MetalliC asked me to do hardware work on Atomiswave and that is when I started working with SH4. He answered a few questions about PIO/DMA modes, G1/G2 bus differences, some topics specific to AW file system, but otherwise I learned everything else related to SH4 disasm/debugging on my own. There isn't some secret ingredient needed to do these tasks to remove soft protection; people just need to be willing to do the work and learn the skills.I'd say, in general, for whatever RE task, more than 90% of required skills/intel is generic, and only small part is platform-specific.
Cool. I was just introduced to the Naomi platform in like August 2018. And I didn't even start thinking about SH4 until a couple of months ago. We clearly have different starting points in regards to disambling/debugging knowledge/skill. People learn in different ways and start from various skill levels. I am often reminded some of the content I post here has "already been known/discovered." Yeah, that shit is gonna happen for a while with me.I've never seen it, and I only use MAME+IDAThere is a *private* Demul version with a debugger I believe they use as well.
This sums up the point I was trying to make -- A few years ago MetalliC asked me to do hardware work on Atomiswave and that is when I started working with SH4. He answered a few questions about PIO/DMA modes, G1/G2 bus differences, some topics specific to AW file system, but otherwise I learned everything else related to SH4 disasm/debugging on my own. There isn't some secret ingredient needed to do these tasks to remove soft protection; people just need to be willing to do the work and learn the skills.I'd say, in general, for whatever RE task, more than 90% of required skills/intel is generic, and only small part is platform-specific.
@fsckewe I want to be clear that my comment in the last post was generalized for anyone reading and not an attack on you.
looooooool... Let me guess, pissing on my parade isn't worth you time?Trust me, if I was trying to piss on your parade it would be obvious.
If it's not blatantly apparent in my replies I'll say it now: I genuinely appreciate honest advice and replies from you and anyone else who takes the time. My personality does not provide the opportunity to ignore some of the snark and condescending tone. So you are gonna get it right back. Perhaps I'm reading to much into it.Was just trying to give honest advice since you were straight up asking where to start. I implore you to try what I suggested at the end of the post.
I don't see any reason why I would want to?looooooool... Let me guess, pissing on my parade isn't worth you time?
110% -- I spent a solid 15 minutes thinking of the best way to try and explain it. I look at my post as trying to be helpful, but some see it as condescending. Problem is I'm trying to summarize a topic that could span several books of my own words into a paragraph or twoPerhaps I'm reading to much into it.
You've actually exactly described a puzzle... lol something that requires knowledge, and skillscan't agree. mainly because here is no any puzzle.it is all about knowledge and skills, required to do some task / job.
and many of required knowledge and skills is generic (not NAOMI specific), like:
- understanding of how microprocessor-based devices usually designed and works
- know how CPUs works, and ~1-2 assembly languages
- know how to use debuggers
- able to read docs or emulator's source code, to figure out whatever device's address map
- know how to use IDA
etc etc
I'd say, in general, for whatever RE task, more than 90% of required skills/intel is generic, and only small part is platform-specific.
One day brizzo... I hope you realize you are pompous. I'm gonna guess I get more PM's about YOU and your general attitude and tone vs how many you get about me. Again we digress.A few years ago MetalliC asked me to do hardware... He answered a few questions about PIO/DMA modes, G1/G2 bus differences, some topics specific to AW file system, but otherwise I learned everything else related to SH4 disasm/debugging on my own. There isn't some secret ingredient needed to do these tasks to remove soft protection; people just need to be willing to do the work and learn the skills.
@Finisterre One day I hope you can take a look in the mirror and understand how the type of comments in post #144 make you appear
Real talk Briz... THAT isn't your problemProblem is I'm trying to summarize a topic that could span several books of my own words into a paragraph or two