Skip to content

Commit

Permalink
added compatibility for the ntsc v1.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
FIX94 committed Jan 19, 2018
1 parent c80dd0f commit 33090f9
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 12 deletions.
6 changes: 3 additions & 3 deletions exploit/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ else
endif


targets := gcee.gci gcep.gci
targets-short := gcee gcep
targets := gcee_v10.gci gcee_v11.gci gcep.gci
targets-short := gcee_v10 gcee_v11 gcep

objs := splintercell.o start.o

Expand All @@ -58,7 +58,7 @@ $(targets): %.gci : %.dat %.hdr
$(Q)dd if=$(filter %.dat,$^) of=$@ bs=1 seek=22656 count=116672 2>/dev/null
$(Q)$(FIXCRC) $@

dats := gcee.dat gcep.dat
dats := gcee_v10.dat gcee_v11.dat gcep.dat

$(dats): %.dat: %.elf
@echo " OBJCOPY $@"
Expand Down
File renamed without changes.
File renamed without changes.
29 changes: 29 additions & 0 deletions exploit/gcee_v11.S
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright 2016 FIX94
// This code is licensed to you under the terms of the GNU GPL, version 2;
// see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

.section .fstart,"ax"
.globl fbegin
fbegin:
// Uninteresting stuff.
.incbin "head.b"

0: // start config def
.long 0x4D61704E
.long 0x616D6520
.long 0x4D61704E
.long 0x616D653D

// fill it all up
.fill 0xFD,1,0x33

// This func will execute whatever
// comes after this address
.long 0x8021F4C4

// Our stack code searcher which will
// get executed on the jump
.incbin "searcher.bin"

// cut string
.long 0x0A0A0000
Binary file added exploit/gcee_v11.hdr
Binary file not shown.
33 changes: 24 additions & 9 deletions exploit/splintercell.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,15 +128,30 @@ void __attribute__ ((noreturn)) _main(u32 abs_start)

switch (gameid[3]) {
case 'E':
game_mount_card = (void*)0x80210548;
card_getres = (void*)0x8022D8B0;
card_unmount = (void*)0x80230FEC;
card_open = (void*)0x80231B50;
card_close = (void*)0x80231CC8;
card_readasync = (void*)0x8023235C;
gx_setdrawdone = (void*)0x8023AFC8;
os_stopaudiosystem = (void*)0x80244A18;
os_disable_scheduler = (void*)0x8024941C;
if(*(u32*)0x802B86E4 == 0x546F6D20) //v1.0
{
game_mount_card = (void*)0x80210548;
card_getres = (void*)0x8022D8B0;
card_unmount = (void*)0x80230FEC;
card_open = (void*)0x80231B50;
card_close = (void*)0x80231CC8;
card_readasync = (void*)0x8023235C;
gx_setdrawdone = (void*)0x8023AFC8;
os_stopaudiosystem = (void*)0x80244A18;
os_disable_scheduler = (void*)0x8024941C;
}
else //v1.1
{
game_mount_card = (void*)0x8021072C;
card_getres = (void*)0x8022D9C0;
card_unmount = (void*)0x802310FC;
card_open = (void*)0x80231C60;
card_close = (void*)0x80231DD8;
card_readasync = (void*)0x8023246C;
gx_setdrawdone = (void*)0x8023B0D8;
os_stopaudiosystem = (void*)0x80244B28;
os_disable_scheduler = (void*)0x8024952C;
}
break;
case 'P':
game_mount_card = (void*)0x80211A30;
Expand Down

0 comments on commit 33090f9

Please sign in to comment.