Skip to content

Commit

Permalink
Merge pull request #91 from MechaResearch/LangPwn
Browse files Browse the repository at this point in the history
MechaPwn 3.0
  • Loading branch information
AKuHAK authored Sep 15, 2024
2 parents a0fb1a9 + 5c3cbaf commit 45fabe6
Show file tree
Hide file tree
Showing 118 changed files with 4,793 additions and 3,229 deletions.
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

0 comments on commit 45fabe6

Please sign in to comment.