ps3mca-tool

PS2 ps3mca-tool 1.5.1.0

El_isra

Developer
you might already know ps3mca-tool.

This is a continuation of the project, based on the work from almighty Leo Oliveira (ps3mca 1.4)

Before you panic, don't worry! the program no longer has the Magicgate Keys inside. so it should no longer be a potential target of the (currently unlikely) wrath from sony

The following changes were made so far (maybe expect more stuff on the future?)

  • Implement external MG keys (no more need of several builds of ps3mca for card variants)
  • Compatitibility with KELFTool key naming (no more need to rename keys)
  • Detection of SoulCalibur II Conquest cards (and lock harmful features for it)
  • higher verbosity levels allow for obtaining memory card sensitive data (liike CardIV or CardNonce) (for normal users, we recommend verbose level 1)
  • card dump commands now have a visual progress gauge so you don't think ps3mca stopped responding
  • disabled non-ecc card dump for simplicity and to avoid user's confusion
  • Use libusb as DLL
  • Config file

    Now ps3mca-tool needs a config file to work, the file (named ps3mca.ini) must be placed on the same folder than the program or inside %USERPROFILE%
    here is an example of how it should look

    Code:
    [ps3mca]
    #name of another section inside this file with all the keys...
    mgkey=retail
    # (integer): verbosity level
    verbose=1
    [retail]
    #keys here
    [developer]
    #keys here
    [arcade]
    #keys here
    [prototype]
    #keys here
  • The keys you need

    Key Name Alternative key name (kelftool) size in bytes
    MC_CARDKEY_MATERIAL_1 MG_CARDIV_0 8
    MC_CARDKEY_HASHKEY_1 MG_CARDKEY_0 16
    MC_CARDKEY_MATERIAL_2 MG_CARDIV2_0 8
    MC_CARDKEY_HASHKEY_2 MG_CARDKEY2_0 16
    MC_CHALLENGE_MATERIAL MG_CHALLENGE_IV 8
    MG_KBIT_MATERIAL MG_KBIT_IV 8
    MG_KC_MATERIAL MG_KC_IV 8
    MG_KBIT_MASTER_KEY 16
    MG_KC_MASTER_KEY 16
  • Verbose levels

    The following values will change the logging (one value also carries the effects of the smaller ones)
    • 1: minimal logging
    • 2: during card auth, log the values of the Memory card CardIV, CardMaterial and CardNonce. also logs kbit and kc encryption values during KELF Binding and un-binding
    • 3: during card auth, log the values of mechacon challenges, card challenge responses and session key
    • 11: print the keys chosen on the INI
  • LibUSB

    the libusb driver has been a problematic point while dealing with compiling ps3mca-tool.

    the DLL is already bundled. if the program does not work anyways, you might need to install this:
    https://sourceforge.net/projects/libusbk/
  • Original author

    As per instructions from the original author of this program. he does not want to be mentioned or linked to this software anymore. so, there is no disrespect or hiding identities of the original author with some malicious intent. just keeping in line with the will of the author
  • How to setup USB driver

    Although ps3mca-tool comes with libusb0.dll already bundled, that's not enough to make this program works, we need something to tell windows our little CECHZM1 device has to be handled by libusb.

    For that, download this

    Then, run the installer.

    hit next

    then set untick the source code install
    upload_2025-3-21_23-31-18-png.45734


    on next page tick these options:

    upload_2025-3-21_23-31-51-png.45735


    then hit install. after that, this USB inf generator will pop in. choose the libusb0 option highlited on the picture
    upload_2025-3-21_23-32-56-png.45736


    On next page we choose the device, CECHZM1 will have Vendor ID 0x054C and Product ID 0x02EA
    Sorry for non useful screenshot here, I realized a tutorial was worth it after installing to my backup PC.
    upload_2025-3-21_23-35-51-png.45737


    On this page, it should say under vendor something like sony corp or SCE
    upload_2025-3-21_23-37-26-png.45738



    Then hit next and it will ask you where to write the installer. it usually offers by default documents/DriverPackages

    Give a name for the subfolder with the drivers, I chose CECHZM1

    When it's ready, just go to that folder and run the installdriver.exe
    upload_2025-3-21_23-38-58-png.45739


    after this, it should be enough, you can now try to use the ps3mca-tool. I recommend trying it with the -i command, wich is rather simple and will show info of the card.

    Happy gaming
 
How to setup USB driver

Although ps3mca-tool comes with libusb0.dll already bundled, that's not enough to make this program works, we need something to tell windows our little CECHZM1 device has to be handled by libusb.

For that, download this

Then, run the installer.

hit next

then set untick the source code install
upload_2025-3-21_23-31-18.png


on next page tick these options:

upload_2025-3-21_23-31-51.png


then hit install. after that, this USB inf generator will pop in. choose the libusb0 option highlited on the picture
upload_2025-3-21_23-32-56.png


On next page we choose the device, CECHZM1 will have Vendor ID 0x054C and Product ID 0x02EA
Sorry for non useful screenshot here, I realized a tutorial was worth it after installing to my backup PC.
upload_2025-3-21_23-35-51.png


On this page, it should say under vendor something like sony corp or SCE
upload_2025-3-21_23-37-26.png



Then hit next and it will ask you where to write the installer. it usually offers by default documents/DriverPackages

Give a name for the subfolder with the drivers, I chose CECHZM1

When it's ready, just go to that folder and run the installdriver.exe
upload_2025-3-21_23-38-58.png


after this, it should be enough, you can now try to use the ps3mca-tool. I recommend trying it with the -i command, wich is rather simple and will show info of the card.

Happy gaming
 
That's how I made the pre-signed drivers in the tunas beta testing discord I just did it with the older actual lib USB 0.1 and you can repost those public and one would not need to install the development SDK version

How to setup USB driver

Although ps3mca-tool comes with libusb0.dll already bundled, that's not enough to make this program works, we need something to tell windows our little CECHZM1 device has to be handled by libusb.

For that, download this

Then, run the installer.

hit next

then set untick the source code install
View attachment 45734

on next page tick these options:

View attachment 45735

then hit install. after that, this USB inf generator will pop in. choose the libusb0 option highlited on the picture
View attachment 45736

On next page we choose the device, CECHZM1 will have Vendor ID 0x054C and Product ID 0x02EA
Sorry for non useful screenshot here, I realized a tutorial was worth it after installing to my backup PC.
View attachment 45737

On this page, it should say under vendor something like sony corp or SCE
View attachment 45738


Then hit next and it will ask you where to write the installer. it usually offers by default documents/DriverPackages

Give a name for the subfolder with the drivers, I chose CECHZM1

When it's ready, just go to that folder and run the installdriver.exe
View attachment 45739

after this, it should be enough, you can now try to use the ps3mca-tool. I recommend trying it with the -i command, wich is rather simple and will show info of the card.

Happy gaming

Here I've done the honors instead of having someone else repost them here I put them on archive.org

https://archive.org/details/win-usb

This will allow people to switch between your software and a few of the open source projects that read PlayStation 1 cards that use winusb and allow everybody to use the Anthony program which is libusk
 
Last edited by a moderator:
I don't think they would have a case. I would need to look deeper, but "no keys" is quite good.
 
El_isra updated ps3mca-tool with a new update entry:

new secret keysets

we have discovered something interesting

unlike we used to believe, Official retail memory cards not only support developer and retail magicgate

There are two additional keys we were not aware of.

Wich of these keys is used is operated by the console, when sending the 0x7F command to the card (CardAuthKeyChange)

We now know more of this, and therefore, we decided to expose the parameter of this card key change command into the config file

View attachment 45957

A full example of...

Read the rest of this update entry...
 

Similar threads

Back
Top