Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MechaPwn 3.0 #91

Merged
merged 107 commits into from
Sep 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
fc89df3
Update Makefile
AKuHAK Apr 4, 2021
48904af
PNG images optimized a bit (1Mb saved)
AKuHAK Apr 4, 2021
34e5353
Added Github Action
AKuHAK Mar 12, 2022
c526d7c
Merge remote-tracking branch 'upstream/master' into LangPwn
AKuHAK Mar 12, 2022
77a3936
Formatting changed
AKuHAK Mar 12, 2022
e44e39f
Fixed Oceania region
AKuHAK Mar 15, 2022
c43891f
test
AKuHAK Mar 26, 2022
1071fe1
Build rules changed
AKuHAK Mar 26, 2022
90a6569
Slim now detetected via mechacon version
AKuHAK Apr 4, 2022
28a9af6
Power Textures detected differently
AKuHAK Apr 4, 2022
552b9a7
Font size changed
AKuHAK Apr 4, 2022
95b24ac
Fonts a bit adjusted
AKuHAK Apr 6, 2022
f078f74
addded info page
AKuHAK Apr 6, 2022
358fada
Add serial and ModelID
AKuHAK Apr 6, 2022
f2bbdc5
add serial into filename
AKuHAK Apr 6, 2022
d1417d6
NVRAM backuped more safely
AKuHAK Apr 6, 2022
dacf1d1
removed MC drivers
AKuHAK Apr 6, 2022
297a842
Added menu for removing force unlock
AKuHAK Apr 7, 2022
81d1d4f
Added ModelID whitelist
AKuHAK Apr 7, 2022
4fb2de1
Fixed mechacon versioning
AKuHAK Apr 16, 2022
4870a8c
BlackListed real DTL units
AKuHAK Apr 17, 2022
a9fc702
Update README.md
AKuHAK Apr 17, 2022
b9cdf99
Provide 0xd457
AKuHAK Apr 17, 2022
1b08f60
Merge pull request #75 from AKuHAK/LangPwn
AKuHAK Apr 19, 2022
91f5f10
patch check now produces warning instead of error
AKuHAK Apr 20, 2022
ad892df
Check unsupported restructurized
AKuHAK Apr 21, 2022
a211a20
Fixed nvram restore bug
AKuHAK Apr 22, 2022
9d15310
Added possible ps1 video fix (NTSC4.43)
AKuHAK Apr 23, 2022
6430a6f
fix typo
AKuHAK Apr 24, 2022
ddfd085
More proper usb shutdown
AKuHAK Apr 26, 2022
79b7240
CEX option removed for FAT (as dangerous)
AKuHAK Apr 28, 2022
4399d32
Added Model ID 0xd475 SCPH-90000 black
AKuHAK Apr 28, 2022
df29316
Fix for Network adapter not working
AKuHAK Apr 30, 2022
c84e333
Revert "removed MC drivers"
AKuHAK Apr 30, 2022
f47bbeb
FMCB minimal check on slims only
AKuHAK Apr 30, 2022
1cbd8c4
Fix for PSX DESR
AKuHAK May 1, 2022
1f46bcb
Added SCPH-77000 SS
AKuHAK May 3, 2022
d00a06b
Since there were no credits available, it was time to create CONTRIBU…
olokos May 7, 2022
1820126
Images for PSX1, PSX2 and Bravia PX300 (PS2 TV)
HowlingWolfHWC May 7, 2022
7d921fa
Merge pull request #88 from olokos/LangPwn
AKuHAK May 7, 2022
43a4b7b
Merge pull request #89 from HowlingWolfHWC/LangPwn
AKuHAK May 7, 2022
5df1d08
Cleaning the picture's draft leftovers
HowlingWolfHWC May 8, 2022
c25b58f
Merge pull request #90 from HowlingWolfHWC/LangPwn
AKuHAK May 8, 2022
78bcb20
Removed XMC
AKuHAK May 11, 2022
19a99e0
Added SCPH-75000 black, SCPH-75000 SSS, SCPH-77003, SCPH-70003 SS
AKuHAK May 23, 2022
9efe263
Python version bump
AKuHAK Jun 3, 2022
64baaa6
SCPH-70007 CB, SCPH-90007 CW from Cubelia
AKuHAK Jun 3, 2022
434d1f6
Fix for 70k consoles: dont change video mode
AKuHAK Jun 3, 2022
8f387e7
Added SCPH-77000
AKuHAK Jun 8, 2022
6b5ecad
Added SCPH-90006 SS, serial does not match, needs confirmation
AKuHAK Jun 9, 2022
0a7bc8f
Added SCPH-90007 CR
AKuHAK Jun 26, 2022
8f1b4fc
Added SCPH-75000 FF from ModzvilleUSA
AKuHAK Jun 27, 2022
3acd131
Added SCPH-55000 GU. Fixed colors.
AKuHAK Jul 1, 2022
99f5ead
Added SCPH-79002 CB from KitGit93
AKuHAK Jul 7, 2022
ec84f11
Added SCPH-50000 TSS
AKuHAK Jul 11, 2022
5ddf462
Added SCPH-50005 AQ/N, SCPH-77002, SCPH-77002 SS, SCPH-77002 PK
AKuHAK Jul 25, 2022
5d9b51c
Fixed info about DSP/Mechacon crash - Matrix Pic fix
AKuHAK Jul 25, 2022
318ddde
added SCPH-75008 from denben0487
AKuHAK Jul 26, 2022
bef37b1
Added SCPH-50003 AQ, SCPH-70002 SS
AKuHAK Jul 28, 2022
e5547b9
Readme adjusted. SCPH-90007 confirmed
AKuHAK Aug 1, 2022
cb497ee
PIC fix added
AKuHAK Aug 2, 2022
c581289
Fixed information about PIC fix.
AKuHAK Aug 14, 2022
5cc17d6
Added SCPH-79000 CW
AKuHAK Aug 25, 2022
0d0f43b
Confirmed SCPH-70000 and SCPH-77007
AKuHAK Sep 13, 2022
a2aae6d
Fixed Dex PAL videomode
AKuHAK Sep 13, 2022
33033f3
Added romver detection
AKuHAK Oct 6, 2022
8081818
Added nvram restore option for non-deckard
AKuHAK Oct 6, 2022
064109b
Fix exit function
AKuHAK Oct 7, 2022
d002193
Added patch varioation for 6.02
AKuHAK Oct 7, 2022
8fe2cea
Added some reversing notes.
AKuHAK Oct 22, 2022
0c6f019
Fixed Japan and Taiwan region mix.
AKuHAK Nov 2, 2022
1af9ead
Added SCPH-70008 SS, SCPH-75010
AKuHAK Nov 13, 2022
1acdb76
Add nvram restore options for any ps2
AKuHAK Nov 19, 2022
59e0a15
Fix 30005 R Model ID
AKuHAK Dec 9, 2022
22d540b
Added SCPH-90010 CR
AKuHAK Feb 3, 2023
804676c
Added SCPH-70003 SS 2nd version
AKuHAK Feb 11, 2023
fc32f04
Added support for PX300-2 - Sony Bravia TV for region Russia
AKuHAK Mar 14, 2023
1d2d6d1
Added SCPH-90008 SS, SCPH-39000 AQ
AKuHAK Mar 31, 2023
6a9b5da
Added SCPH-75007 CB
AKuHAK Apr 24, 2023
c927a37
Added 0xd471 SCPH-79003 SS
AKuHAK May 18, 2023
71ef532
Added 0xd447 SCPH-75005
AKuHAK May 20, 2023
8a9769b
Added SCPH-70008 SS (second revision), SCPH-75008 SS from armorant
AKuHAK Jun 8, 2023
46086ee
Added SCPH-77003 SS
AKuHAK Jun 13, 2023
2ddbc9d
added SCPH-79004
AKuHAK Jun 21, 2023
baaf7c4
Added SCPH-75002 SS
AKuHAK Jun 22, 2023
0d6a2ea
Fix for the latest ps2sdk changes
AKuHAK Jun 25, 2023
2b55973
Update obsolete action
AKuHAK Jun 25, 2023
a3a31cb
Added SCPH-90006 CR
AKuHAK Jul 18, 2023
8fb5117
Added SCPH-70010
AKuHAK Oct 5, 2023
6d2661e
Added SCPH-90003
AKuHAK Oct 15, 2023
ddf3fe8
typo
AKuHAK Oct 15, 2023
ca6025e
Added SCPH-77003 PK support
AKuHAK Dec 14, 2023
0462363
Fix python error
AKuHAK Dec 15, 2023
47522b7
Add pre-release generation
AKuHAK Dec 15, 2023
da5ff29
Revert ps2toolchain
AKuHAK Dec 26, 2023
90b3b67
Added SCPH-70000 GT
AKuHAK Feb 23, 2024
02e7cd1
Added SCPH-39000 RC
AKuHAK Mar 5, 2024
f0fc568
Added support for SCPH-70008 PK
AKuHAK Jul 1, 2024
17ee25b
Implemented emergency nvram restore option
AKuHAK Jul 10, 2024
5d97967
Fix unlock
AKuHAK Jul 11, 2024
7f1e14e
Merge pull request #222 from MechaResearch/emergency
AKuHAK Jul 14, 2024
303a7e7
fixed ESS FAT models naming
AKuHAK Jul 14, 2024
c874830
Update for modern toolchain
AKuHAK Jul 28, 2024
0ff391a
Merge pull request #227 from AKuHAK/LangPwn_my
AKuHAK Jul 28, 2024
bef1b12
Update main.c
AKuHAK Aug 12, 2024
653bf94
Added final 70k dump (SCPH-70004 SS)
AKuHAK Aug 16, 2024
5c3cbaf
some documentation
AKuHAK Aug 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: AcrossEmptyLinesAndComments
AlignConsecutiveBitFields: AcrossEmptyLinesAndComments
AlignConsecutiveDeclarations: None
AlignConsecutiveMacros: AcrossEmptyLinesAndComments
AlignEscapedNewlinesLeft: Left
AlignOperands: Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing : Both
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: false
BeforeCatch: false
BeforeElse: true
BeforeLambdaBody: true
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: BeforeComma
ColumnLimit: 0
CommentPragmas: '^ (IWYU pragma:|NOLINT)'
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ForEachMacros: []
IndentExternBlock: NoIndent
IndentCaseLabels: true
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 3
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
ReflowComments: true
SortIncludes: false
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: Never
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# EditorConfig: http://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

# 4 spaces indentation
[*.{c,h,js,css,html}]
indent_style = space
indent_size = 4

# Tab indentation
[Makefile*,Rules*]
indent_style = tab
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/issue-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Issue report
description: Create a report to help us improve
title: "[ISSUE]: "
labels: [bug]
body:
- type: markdown
attributes:
value: |
### __Disclaimer:__
In order to provide you the help we need your console data: nvram backup file and sticker photo.

- type: checkboxes
id: terms
attributes:
label: Checks
description: "Check before posting"
options:
- label: I provided nvram backup file
- label: I provided sticker photo

- type: textarea
id: explanation
attributes:
label: Describe the issue
description: A clear and concise description of what the issue is.
placeholder: My issue is...
validations:
required: true

- type: input
id: console
attributes:
label: Console model
description: you can see it on the console sticker or inside OSDSYS (press triangle on main menú)
placeholder: SCPH-?????
validations:
required: true
80 changes: 80 additions & 0 deletions .github/workflows/compilation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI-compile

on:
push:
pull_request:

jobs:
build:
name: MechaPwn compilation
runs-on: ubuntu-latest
container: ghcr.io/ps2homebrew/ps2homebrew:main
# ghcr.io/ps2homebrew/ps2homebrew@sha256:9cf3f8497e5a49e3a08cdf96aa9a5b97f119d554e21e3925b3cc84485846b3ce
# instead of "ps2dev/ps2dev:latest" you can use different tags, for example for old projects you can use "ps2dev/ps2dev:v1.0"
steps:
- name: Install dependencies
run: |
apk add py3-pillow

- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Compile project
run: |
make

# commands for compiling your project
- name: Get short SHA
id: slug
run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT

- name: Upload artifacts
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: MechaPwn-${{ steps.slug.outputs.sha8 }}
path: MechaPwn_pck.elf
if-no-files-found: error

# 'path' will create artifact with all *.elf in working directory
# you can change this
release:
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/LangPwn'
steps:
- uses: actions/checkout@v4

- name: Get short SHA
id: slug
run: echo "sha8=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_OUTPUT

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: MechaPwn-${{ steps.slug.outputs.sha8 }}
path: MechaPwn

- name: Prepare MechaPwn archive
run: 7z a MechaPwn-${{ steps.slug.outputs.sha8 }}.7z MechaPwn/*

- name: Create pre-release
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/LangPwn'
uses: mathieucarbou/marvinpinto-action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
prerelease: true
automatic_release_tag: latest
title: Development build
files: MechaPwn-${{ steps.slug.outputs.sha8 }}.7z

- name: Create Tagged Release Draft
if: startsWith(github.ref, 'refs/tags/v')
uses: mathieucarbou/marvinpinto-action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
prerelease: false
draft: true
automatic_release_tag: RenameMe
files: MechaPwn-${{ steps.slug.outputs.sha8 }}.7z
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
*.o
*.irx
*.s
*.pyc
.*
*.elf

!.github
!.editorconfig
!.clang-format
24 changes: 24 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Contributors

## Special thanks to all the people who had helped this project so far

* [balika011 (Balázs Triszka)](https://github.com/balika011) - Entire Mechapwn exploit and application development
* [Myriachan](https://github.com/balika011) - mechadumper creator, mechacon firmware disassembler and Force unlock implementation
* [Mathieu HERVAIS (Mathieulh)](https://github.com/mathieulh) - Readme, FAQ, writeup of the exploit, testing on J-chassis
* [AKuHAK](https://github.com/akuhak) - Improvements to the Mechapwn exploit, implementing a fix for DVD Video Player and further application development - Post Force Mexico unlock
* the rest of the MechaPwn team - DSP bug on FAT/70k explanation, DVD Player hacks, register explanation
* [olokos](https://github.com/olokos) - Experimental testing of NVM modifications which helped fix DVD Video - Post Force Mexico unlock
* [Thexterax](https://github.com/Thexterax) and others from the Rayman speedrun community, for helping with fixing the bug on Deckard (not complete PAL/NTSC switch) - Post Force Mexico unlock
* MonkeyBoyJoey - Experimental testing on PSX1/PSX2
* HowlingWolfHWC - for graphics for PS2 Bravia, PSX1 and PSX2
* Senyuki for testing on PS2 Bravia KDL-22PX300
* blckbear, [AndytheGamer329](https://github.com/MechaResearch/MechaPwn/issues/created_by/AndytheGamer329), [hikkamorii](https://github.com/MechaResearch/MechaPwn/issues/83), [angelsix](https://github.com/MechaResearch/MechaPwn/issues/created_by/angelsix), [Cowfood](https://github.com/Cowfood), [CK121212](https://github.com/CK121212), Feng, [ayuayu2](https://github.com/ayuayu2), [elkiot](https://github.com/elkiot), Blondie2282, [SubmergedMaid](https://github.com/SubmergedMaid), Cubelia, [egarjanis](https://github.com/egarjanis), ModzvilleUSA, [KitGit93](https://github.com/KitGit93), [skipper5000](https://github.com/skipper5000), [romechh](https://github.com/romechh), [sixsixsixties](https://github.com/sixsixsixties), Stanley Chan, [nitrostemp](https://github.com/nitrostemp), [Big Boss](https://discord.com/users/Big%20Boss#3689), [spnkhardy](https://github.com/spnkhardy), [israpps](https://github.com/israpps), Simon Huerta Reyes, [RaikouSRL](https://github.com/RaikouSRL), [RosalinaSama](https://github.com/RosalinaSama), [mikepparks](https://github.com/mikepparks), [AnggelGrind](https://github.com/AnggelGrind), [Vladstvo](https://github.com/Vladstvo), [loser2023sgyt](https://github.com/loser2023sgyt), [viarurla](https://github.com/viarurla), Adamdead#0993, Awakening, [jamestoando](https://github.com/jamestoando), [daniel-virtu](https://github.com/daniel-virtu), [CocoaCappuccino](https://github.com/CocoaCappuccino), armorant, [Raiden-64](https://github.com/Raiden-64), [KNIGTBakura](https://github.com/KNIGTBakura), [RaikouSRL](https://github.com/RaikouSRL), [oxosoda](https://github.com/oxosoda), [carlos38841hd](https://github.com/carlos38841hd), [moriohbrew](https://github.com/moriohbrew), [daskrabs](https://github.com/daskrabs), [PenguinTC](https://github.com/PenguinTC), [yji-tan](https://github.com/yji-tan) and others for providing Model IDs and sticker photos.

## I would like to join this list. How can I help with the project?

We're currently looking for contributions for the following:

* [x] Testing on various PS2 models and versions
* [ ] providing missing Model IDs, NVRAM backups and sticker photos

For more information, please refer to our [CONTRIBUTING](CONTRIBUTING.md) guide - Which is not yet available.
Loading
Loading