Skip to content

Commit 2707aaf

Browse files
committed
first commit, enjoy
1 parent 48ae826 commit 2707aaf

26 files changed

+861
-1
lines changed

Makefile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright 2016 FIX94
2+
# This code is licensed to you under the terms of the GNU GPL, version 2;
3+
# see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
4+
5+
all:
6+
@$(MAKE) --no-print-directory -C loader
7+
@mv -f loader/loader.h exploit/loader.h
8+
@$(MAKE) --no-print-directory -C exploit
9+
@mkdir -p gci
10+
@mv -f exploit/*.gci gci
11+
12+
clean:
13+
@$(MAKE) --no-print-directory -C loader clean
14+
@$(MAKE) --no-print-directory -C exploit clean
15+
rm -rf gci

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# pandoratomorrow-exploit-gc
2-
a exploit for splinter cell pandora tomorrow on gamecube
2+
A exploit for splinter cell pandora tomorrow on gamecube, you only need a method of injecting the .gci onto your memory card.
3+
This exploit will load a boot.dol converted with dol2gci (included in Home Bros.) from your memory card.

exploit/Makefile

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Copyright 2008-2009 Segher Boessenkool <[email protected]>
2+
# GameCube Port Copyright 2016 FIX94
3+
# This code is licensed to you under the terms of the GNU GPL, version 2;
4+
# see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
5+
6+
7+
# Configuration:
8+
9+
# What toolchain prefix should we use
10+
CROSS ?= powerpc-eabi-
11+
12+
ifeq ($(OS),Windows_NT)
13+
FIXCRC = $(CURDIR)/pandoratomorrow_crc.exe
14+
else
15+
FIXCRC = $(CURDIR)/pandoratomorrow_crc
16+
endif
17+
18+
# End of configuration.
19+
20+
21+
22+
# Set CC, LD, OBJCOPY based on CROSS, unless they are set already
23+
24+
ifeq ($(origin CC), default)
25+
CC := $(CROSS)gcc -m32
26+
endif
27+
ifeq ($(origin LD), default)
28+
LD := $(CROSS)ld
29+
endif
30+
OBJCOPY ?= $(CROSS)objcopy
31+
32+
33+
# The compiler flags we need.
34+
35+
CFLAGS := -Wall -W -O1 -ffreestanding -mno-eabi -mno-sdata -mcpu=750
36+
37+
38+
# Build with "V=1" to see the commands executed; be quiet otherwise.
39+
40+
ifeq ($(V),1)
41+
Q :=
42+
else
43+
Q := @
44+
MAKEFLAGS += --no-print-directory
45+
endif
46+
47+
48+
targets := gt7e.gci gt7p.gci gt7x.gci
49+
targets-short := gt7e gt7p gt7x
50+
51+
objs := pandoratomorrow.o
52+
53+
all: $(targets)
54+
55+
$(targets): %.gci : %.dat %.hdr
56+
@echo " OUTPUT $@"
57+
$(Q)dd if=$(filter %.hdr,$^) of=$@ bs=1 count=16540 2>/dev/null
58+
$(Q)dd if=$(filter %.dat,$^) of=$@ bs=1 seek=16540 count=20480 2>/dev/null
59+
$(Q)dd if=$(filter %.hdr,$^) of=$@ bs=1 skip=37020 seek=37020 count=4004 2>/dev/null
60+
$(Q)$(FIXCRC) $@
61+
62+
dats := gt7e.dat gt7p.dat gt7x.dat
63+
64+
$(dats): %.dat: %.elf
65+
@echo " OBJCOPY $@"
66+
$(Q)$(OBJCOPY) -Obinary $< $@
67+
68+
elfs := $(dats:.dat=.elf)
69+
70+
gt7e.elf: baddr := 0x80488E40+0x405C
71+
gt7p.elf: baddr := 0x80489400+0x405C
72+
gt7x.elf: baddr := 0x80489400+0x405C
73+
$(elfs): %.elf: %.ld %.o $(objs)
74+
@echo " LINK $@"
75+
$(Q)$(LD) --defsym baddr=$(baddr) -T $^ -o $@
76+
77+
exploit-objs := $(elfs:.elf=.o)
78+
79+
$(exploit-objs): %.o: start.S mapAfterName.bin
80+
@echo " ASSEMBLE $@"
81+
$(Q)$(CC) $(CFLAGS) -c $< -o $@
82+
83+
%.o: %.c
84+
@echo " COMPILE $@"
85+
$(Q)$(CC) $(CFLAGS) -c $< -o $@
86+
87+
clean:
88+
-rm -f $(targets) $(saves) $(elfs) $(exploit-objs) $(objs) $(slots) $(dats) loader.h

exploit/gt7e.hdr

40.1 KB
Binary file not shown.

exploit/gt7e.ld

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* Copyright 2008-2009 Segher Boessenkool <[email protected].org>
2+
GameCube Port Copyright 2016 FIX94
3+
This code is licensed to you under the terms of the GNU GPL, version 2;
4+
see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt */
5+
6+
OUTPUT_FORMAT("elf32-powerpc")
7+
OUTPUT_ARCH(powerpc:common)
8+
9+
SECTIONS {
10+
card_getres = 0x80315E80;
11+
card_mountasync = 0x80319380;
12+
card_unmount = 0x803195BC;
13+
card_open = 0x8031A314;
14+
card_close = 0x8031A430;
15+
card_readasync = 0x8031AAC4;
16+
gx_setdrawdone = 0x8032430C;
17+
os_stopaudiosystem = 0x8032DFEC;
18+
os_disable_scheduler = 0x80332AE0;
19+
20+
.pandoratomorrow baddr :
21+
{
22+
gt7*.o(.start)
23+
*(.text)
24+
*(.rodata .rodata.*)
25+
*(.data)
26+
. = 0xFFC;
27+
*(.bss)
28+
. = 0x5000;
29+
}
30+
}

exploit/gt7p.hdr

40.1 KB
Binary file not shown.

exploit/gt7p.ld

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* Copyright 2008-2009 Segher Boessenkool <[email protected].org>
2+
GameCube Port Copyright 2016 FIX94
3+
This code is licensed to you under the terms of the GNU GPL, version 2;
4+
see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt */
5+
6+
OUTPUT_FORMAT("elf32-powerpc")
7+
OUTPUT_ARCH(powerpc:common)
8+
9+
SECTIONS {
10+
card_getres = 0x80316664;
11+
card_mountasync = 0x80319B64;
12+
card_unmount = 0x80319DA0;
13+
card_open = 0x8031AAF8;
14+
card_close = 0x8031AC14;
15+
card_readasync = 0x8031B2A8;
16+
gx_setdrawdone = 0x80324868;
17+
os_stopaudiosystem = 0x8032E310;
18+
os_disable_scheduler = 0x80332D5C;
19+
20+
.pandoratomorrow baddr :
21+
{
22+
gt7*.o(.start)
23+
*(.text)
24+
*(.rodata .rodata.*)
25+
*(.data)
26+
. = 0xFFC;
27+
*(.bss)
28+
. = 0x5000;
29+
}
30+
}

exploit/gt7x.hdr

40.1 KB
Binary file not shown.

exploit/gt7x.ld

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* Copyright 2008-2009 Segher Boessenkool <[email protected].org>
2+
GameCube Port Copyright 2016 FIX94
3+
This code is licensed to you under the terms of the GNU GPL, version 2;
4+
see file LICENSE or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt */
5+
6+
OUTPUT_FORMAT("elf32-powerpc")
7+
OUTPUT_ARCH(powerpc:common)
8+
9+
SECTIONS {
10+
card_getres = 0x80316664;
11+
card_mountasync = 0x80319B64;
12+
card_unmount = 0x80319DA0;
13+
card_open = 0x8031AAF8;
14+
card_close = 0x8031AC14;
15+
card_readasync = 0x8031B2A8;
16+
gx_setdrawdone = 0x80324868;
17+
os_stopaudiosystem = 0x8032E310;
18+
os_disable_scheduler = 0x80332D5C;
19+
20+
.pandoratomorrow baddr :
21+
{
22+
gt7*.o(.start)
23+
*(.text)
24+
*(.rodata .rodata.*)
25+
*(.data)
26+
. = 0xFFC;
27+
*(.bss)
28+
. = 0x5000;
29+
}
30+
}

exploit/mapAfterName.bin

288 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)