Hummer Test, VF5fs
This commit is contained in:
parent
45ef28fcd4
commit
17a9609541
@ -138,6 +138,22 @@ static int detectGame(uint32_t elf_crc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA:
|
||||||
|
{
|
||||||
|
config.gameTitle = "Virtua Fighter 5 Final Showdown REV A";
|
||||||
|
config.gameDVP = "DVP-5019A";
|
||||||
|
config.gameID = "SBUV";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB:
|
||||||
|
{
|
||||||
|
config.gameTitle = "Virtua Fighter 5 Final Showdown REV B";
|
||||||
|
config.gameDVP = "DVP-5019B";
|
||||||
|
config.gameID = "SBUV";
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
case LETS_GO_JUNGLE:
|
case LETS_GO_JUNGLE:
|
||||||
{
|
{
|
||||||
config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!";
|
config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!";
|
||||||
|
@ -44,8 +44,9 @@
|
|||||||
#define TOO_SPICY 0x4c768eb4
|
#define TOO_SPICY 0x4c768eb4
|
||||||
#define UNKNOWN 0xFFFFFFFF
|
#define UNKNOWN 0xFFFFFFFF
|
||||||
#define VIRTUA_FIGHTER_5 0x0042
|
#define VIRTUA_FIGHTER_5 0x0042
|
||||||
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN 0x2B475B88
|
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN 0x48
|
||||||
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA 0x0044
|
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA 0xFBD3DCB6
|
||||||
|
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB 0x2B475B88
|
||||||
#define VIRTUA_FIGHTER_5_R 0x12D9D038
|
#define VIRTUA_FIGHTER_5_R 0x12D9D038
|
||||||
#define VIRTUA_FIGHTER_5_REVA 0x0046
|
#define VIRTUA_FIGHTER_5_REVA 0x0046
|
||||||
#define VIRTUA_FIGHTER_5_REVB 0x0047
|
#define VIRTUA_FIGHTER_5_REVB 0x0047
|
||||||
|
@ -93,6 +93,11 @@ int stubRetZero()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void stubReturn()
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int stubRetOne()
|
int stubRetOne()
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
@ -153,6 +158,16 @@ int amDongleIsDevelop()
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int amDongleDecryptEx()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int amDongleSetIv()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void print_binary(unsigned int number)
|
void print_binary(unsigned int number)
|
||||||
{
|
{
|
||||||
if (number >> 1)
|
if (number >> 1)
|
||||||
@ -263,6 +278,8 @@ int initPatch()
|
|||||||
// Fixes
|
// Fixes
|
||||||
detourFunction(0x084d44fc, amDipswSetLed);
|
detourFunction(0x084d44fc, amDipswSetLed);
|
||||||
detourFunction(0x084d4485, amDipswGetData);
|
detourFunction(0x084d4485, amDipswGetData);
|
||||||
|
patchMemory(0x0804edb2, "9090909090");
|
||||||
|
detourFunction(0x083a61cc, stubReturn);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AFTER_BURNER_CLIMAX_REVA:
|
case AFTER_BURNER_CLIMAX_REVA:
|
||||||
@ -575,6 +592,54 @@ int initPatch()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA:
|
||||||
|
{
|
||||||
|
// Security
|
||||||
|
detourFunction(0x0888f4ba, amDongleInit);
|
||||||
|
detourFunction(0x0888df75, amDongleIsAvailable);
|
||||||
|
detourFunction(0x0888e96b, amDongleUpdate);
|
||||||
|
|
||||||
|
// Fixes and patches to bypss network check
|
||||||
|
detourFunction(0x0888de01, amDipswGetData);
|
||||||
|
detourFunction(0x0888de77, amDipswSetLed); // Stub amDipswSetLed
|
||||||
|
detourFunction(0x080e2b86, stubRetZero); // Stub returns 0
|
||||||
|
detourFunction(0x081082ac, stubRetZero); // Stub returns 0
|
||||||
|
detourFunction(0x0859a768, stubRetZero); // Stub returns 0
|
||||||
|
detourFunction(0x08598fbc, stubRetZero); // Stub returns 0
|
||||||
|
patchMemory(0x0812363c, "b800000000"); // Patch IDK what
|
||||||
|
//Tests
|
||||||
|
//patchMemory(0x081230ac,"9090");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB:
|
||||||
|
{
|
||||||
|
// Security
|
||||||
|
detourFunction(0x088b1866, amDongleInit);
|
||||||
|
detourFunction(0x088b0321, amDongleIsAvailable);
|
||||||
|
detourFunction(0x088b0d17, amDongleUpdate);
|
||||||
|
|
||||||
|
// Fixes and patches to bypss network check
|
||||||
|
detourFunction(0x088b01ad, amDipswGetData);
|
||||||
|
detourFunction(0x088b0223, amDipswSetLed); // Stub amDipswSetLed
|
||||||
|
//detourFunction(0x0806c71e, stubReturn); // Stub returns TP
|
||||||
|
//patchMemory(0x08095736, "90E9"); // Patch TP
|
||||||
|
//detourFunction(0x080e4fce, stubRetZero); // Stub returns 0 TP Net
|
||||||
|
//patchMemory(0x080e4fea,"00");
|
||||||
|
patchMemory(0x080e4ff5, "EB");
|
||||||
|
//detourFunction(0x081084b4, stubRetZero); // Stub returns 0 TP
|
||||||
|
patchMemory(0x081084d5, "EB");
|
||||||
|
//patchMemory(0x081238d2, "04"); // Patch TP
|
||||||
|
patchMemory(0x081229f4, "05");
|
||||||
|
|
||||||
|
//patchMemory(0x08123296, "909090909090909090909090909090");
|
||||||
|
//patchMemory(0x080eb4b7, "9090");
|
||||||
|
detourFunction(0x0812326e, stubReturn);
|
||||||
|
//detourFunction(0x0865eff0, stubRetZero); // Stub returns 0
|
||||||
|
//detourFunction(0x08860eda, stubReturn); // Stub Return TP
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case VIRTUA_FIGHTER_5_EXPORT:
|
case VIRTUA_FIGHTER_5_EXPORT:
|
||||||
{
|
{
|
||||||
// Security
|
// Security
|
||||||
@ -1000,8 +1065,6 @@ int initPatch()
|
|||||||
detourFunction(0x08183046, amDongleInit);
|
detourFunction(0x08183046, amDongleInit);
|
||||||
detourFunction(0x08181a91, amDongleIsAvailable);
|
detourFunction(0x08181a91, amDongleIsAvailable);
|
||||||
detourFunction(0x081824f5, amDongleUpdate);
|
detourFunction(0x081824f5, amDongleUpdate);
|
||||||
detourFunction(0x08181aae, amDongleIsDevelop);
|
|
||||||
detourFunction(0x08182f0d, amDongleUserInfoEx);
|
|
||||||
// Fixes
|
// Fixes
|
||||||
detourFunction(0x0818191d, amDipswGetData);
|
detourFunction(0x0818191d, amDipswGetData);
|
||||||
detourFunction(0x08181994, stubRetZero);
|
detourFunction(0x08181994, stubRetZero);
|
||||||
@ -1041,6 +1104,13 @@ int initPatch()
|
|||||||
detourFunction(0x0831bf97, amDongleUserInfoEx);
|
detourFunction(0x0831bf97, amDongleUserInfoEx);
|
||||||
detourFunction(0x0831668c, stubRetZero); // amsInit
|
detourFunction(0x0831668c, stubRetZero); // amsInit
|
||||||
detourFunction(0x08170654, stubRetMinusOne); // checkError
|
detourFunction(0x08170654, stubRetMinusOne); // checkError
|
||||||
|
detourFunction(0x0831b982, amDongleDecryptEx); // Return 0
|
||||||
|
detourFunction(0x0831b08b, amDongleSetIv); // Retrun 0
|
||||||
|
patchMemory(0x082b4d51, "00");
|
||||||
|
patchMemory(0x082b5163, "00");
|
||||||
|
patchMemory(0x082b5306, "00");
|
||||||
|
patchMemory(0x082b570f, "00");
|
||||||
|
patchMemory(0x082b57c8, "909090909090");
|
||||||
|
|
||||||
// Security Board
|
// Security Board
|
||||||
detourFunction(0x0831a7e9, amDipswGetData);
|
detourFunction(0x0831a7e9, amDipswGetData);
|
||||||
|
Loading…
Reference in New Issue
Block a user