Source code available on my GitHub.
NOTE: NetCheat requires a PS2 and a PC with an internet connection. Please read the readme.txt for details on how to setup the network configuration.
I began working on this thing July of 2012 and was incapable of completing it due to lack of programming knowledge. After 2 months I stopped working on it and began working on CL-LiveDebug. Now I've taken a break from CL-LiveDebug to finish NetCheat. The goal was to create something far superior to CodeMajic in code types, number of codes, and compatibility with ESR and OPL. Now that I have reached those goals, I have decided to release this as an open source cheat device for anyone to touch and use.
The code types, for the most part, follow that of CodeBreaker. I have made a few changes to a couple and added a few as well. The largest change to take note of is the mastercode implementation. Since NetCheat is hooked to the syscall handler and not to the game itself, mastercodes serve no purpose. However I have created a use for the conditional mastercode (9) which can be read in the list below. If you would like this to execute close to the game loop I would suggest adding this to the top of your codelist: B0000000 0000000E. That forces everything below to only be executed 1 out of 0xE times. That value may differ per game.
I'd like to thank Pyriel for such a thorough guide publish on the CMP.net guides. For all code types not listed below, please refer to that guide.
Miscellaneous:
Included with NetCheat is "Joker That" which is a complete knock-off of Joker It! by Rathlar. The difference is that Joker That supports 8 and 16 bit options and all the comparison types.
Image spoilers:
Spoiler Alert! Click to view...
Both the source of NetCheat and NetCheat PC Manager can be accessed at my GitHub. If you want to read through the Engine and possibly correct any errors made, here is a direct link: https://github.com/Dnawrkshp/NetChea...s/NCEngine.cds
Credits:
Berion: GUI related functions
misfire: cb2util
ORCXodus: CBUtil (a GUI for cb2util) and the GUI of the manager
Dnawrkshp: Engine, PS2 side code, network part of the manager
Gtlcpimp: Execute Data code type
If you have an suggestions for code types or additions to already implemented code types, please reply below with a description of how it works and its format.
Special thanks to bungholio for beta testing.
Other programs by ORCXodus and Dnawrkshp
NOTE: NetCheat requires a PS2 and a PC with an internet connection. Please read the readme.txt for details on how to setup the network configuration.
I began working on this thing July of 2012 and was incapable of completing it due to lack of programming knowledge. After 2 months I stopped working on it and began working on CL-LiveDebug. Now I've taken a break from CL-LiveDebug to finish NetCheat. The goal was to create something far superior to CodeMajic in code types, number of codes, and compatibility with ESR and OPL. Now that I have reached those goals, I have decided to release this as an open source cheat device for anyone to touch and use.
The code types, for the most part, follow that of CodeBreaker. I have made a few changes to a couple and added a few as well. The largest change to take note of is the mastercode implementation. Since NetCheat is hooked to the syscall handler and not to the game itself, mastercodes serve no purpose. However I have created a use for the conditional mastercode (9) which can be read in the list below. If you would like this to execute close to the game loop I would suggest adding this to the top of your codelist: B0000000 0000000E. That forces everything below to only be executed 1 out of 0xE times. That value may differ per game.
I'd like to thank Pyriel for such a thorough guide publish on the CMP.net guides. For all code types not listed below, please refer to that guide.
Code:
NOTE: NetCheat only takes RAW codes. Conditional Types:: 0 - Equal-to (value = xxxx). 1 - Not equal-to (value != xxxx). 2 - Less than or equal (value <= xxxx). 3 - Greater than or equal (value >= xxxx). 4 - Mask unset (value AND xxxx = 0). Test to see if particular bits are unset (all bits must be unset). Useful for joker codes. 5 - Mask set (value AND xxxx != 0). Test to see if particular bits are set (any of the bits). Useful for joker codes. 6 - Similar to 5, except all the bits in the mask must be set for the next codes to execute ([value AND xxxx] - xxxx = 0). ------------------------- Code Type 4 Multi-address Write (slide-fill code) 4aaaaaaa wcccssss xxxxxxxx iiiiiiii a: 25-bit address. w: Width (0 = 32 bit, 1 = 16 bit, 2 = 8 bit) c: Number of times to write. s: Step value (w = 0: s = (s * 4), w = 1: s = (s * 2), w = 2: s = s. x: 32-bit value. i: 32-bit value increment. By Pyriel: The 32-bit value xxxxxxxx will be stored at the address given by aaaaaaa. The count ccc will be decremented. The step value ssss will be multiplied by (w = 0:4; w = 1:2; w = 2:1) and added to the address. The value xxxxxxxx will have iiiiiiii added to it. This process will continue until cccc reaches zero. Basically, write to ccc addresses, while jumping ssss * (4 - (w * 2)) addresses in between. Example: 40EE7174 00060002 00000063 00000001 ------------------------- Code Type 9 Conditional mastercode 9aaaaaaa vvvvvvvv a: Address v: 32-bit value NetCheat will read the value at aaaaaaa and compare it with vvvvvvvv. If they are equal, NetCheat will execute it's engine. Otherwise it will not and no cheats will run. If you do not include a 9 type mastercode, NetCheat will run the moment it is hooked and a syscall is called Example: 9013BA48 00832021 ------------------------- Code Type A Kernel write Aaaaaaaa vvvvvvvv a: Address v: 32-bit value The value v will be stored at 0x8aaaaaaa (KSEG0) Example: A0070000 1337D00D ------------------------- Code Type B Delay B0000000 0vvvvvvv v: 28-bit value The engine will execute all the codes above vvvvvvv times before executing the one below Example: B0000000 00000100 ------------------------- Code Type F1 Execute Data / Hook - Idea by Gtlcpimp F10000dd 0aaaaaaa a: Address d: 8-bit value The engine will run dd times before executing a jalr to aaaaaaa Example: F100000E 000C0000 ------------------------- Code Type F2 Switch Conditional F200nnnn taaaaaaa xxxxxxxx yyyyyyyy n: number of lines to execute under it if on t: comparison type (0 = 8 bit, 1 = 16bit, 2 = 32bit) a: address x: off value y: on value Example: F2000001 101EE682 0000FFF9 0000FFF6 20347E8C 00000000 ------------------------- Code Type F3 Find Replace (should always be jokered) F30wcccc 00000000 xxxxxxxx yyyyyyyy aaaaaaaa bbbbbbbb c: number of times to replace w: width (0 = 8, 1 = 16, 2 = 32) x: find y: replace a: address 1 b: address 2 Example: F3020000 00000000 4D554C54 41414141 00100000 00600000 ------------------------- Code Type F4 Address Compare F400nnnn 00000t0w aaaaaaaa bbbbbbbb n: number of lines to execute under it if on t: comparison type (refer to conditional types above) w: width of comparison (0 = 8bit, 1 = 16bit, 2 = 32bit) a: address 1 b: address 2 Example: F4000001 00000002 000FFFF4 000FFFF0 20347E8C 00000000
Code:
Estimated code limits: OpenPS2Loader: 8192 lines of code ESR: Unknown (probably the same as a disc) Disc: 18944 lines of code DEBUG mode: 2832 lines of code 0x80050000 - 0x80075000 - Code range. When running with another app that will vary. 0x80079000 - ~0x800E0000 - Code range DEBUG mode. 0x80047000 - ~0x80048000 - Engine install location
Image spoilers:
Spoiler Alert! Click to view...
Both the source of NetCheat and NetCheat PC Manager can be accessed at my GitHub. If you want to read through the Engine and possibly correct any errors made, here is a direct link: https://github.com/Dnawrkshp/NetChea...s/NCEngine.cds
Credits:
Berion: GUI related functions
misfire: cb2util
ORCXodus: CBUtil (a GUI for cb2util) and the GUI of the manager
Dnawrkshp: Engine, PS2 side code, network part of the manager
Gtlcpimp: Execute Data code type
If you have an suggestions for code types or additions to already implemented code types, please reply below with a description of how it works and its format.
Special thanks to bungholio for beta testing.
Other programs by ORCXodus and Dnawrkshp




It works as a cheat device and FTP.
.
Comment