├── .gitattributes
├── libdebug.dll
├── CEServerPS4
├── lib
│ └── libdebug.dll
├── CheatEnginePackets
│ ├── MissingCommandHandlerException.cs
│ ├── S2C
│ │ ├── ICheatEngineResponse.cs
│ │ ├── GetABIResponse.cs
│ │ ├── GetArchitectureResponse.cs
│ │ ├── HandleResponse.cs
│ │ ├── WriteProcessMemoryResponse.cs
│ │ ├── CloseHandleResponse.cs
│ │ ├── GetSymbolsFromFileResponse.cs
│ │ ├── ContinueForDebugEventResponse.cs
│ │ ├── ReadProcessMemoryResponse.cs
│ │ ├── GetVersionResponse.cs
│ │ ├── Process32Response.cs
│ │ ├── VirtualQueryExFullResponse.cs
│ │ ├── Module32Response.cs
│ │ ├── VirtualQueryExResponse.cs
│ │ ├── WaitForDebugEventResponse.cs
│ │ └── ThreadContextResponse.cs
│ ├── C2S
│ │ ├── Exceptions
│ │ │ └── CommandNotInitializedException.cs
│ │ ├── ICheatEngineCommand.cs
│ │ ├── Module32NextCommand.cs
│ │ ├── Process32NextCommand.cs
│ │ ├── GetABICommand.cs
│ │ ├── GetArchitectureCommand.cs
│ │ ├── GetVersionCommand.cs
│ │ ├── CheatEngineCommand.cs
│ │ ├── CloseHandleCommand.cs
│ │ ├── StopDebugCommand.cs
│ │ ├── StartDebugCommand.cs
│ │ ├── GetSymbolsFromFileCommand.cs
│ │ ├── ResumeThreadCommand.cs
│ │ ├── SuspendThreadCommand.cs
│ │ ├── Module32FirstCommand.cs
│ │ ├── WaitForDebugEventCommand.cs
│ │ ├── OpenProcessCommand.cs
│ │ ├── Process32FirstCommand.cs
│ │ ├── GetThreadContextCommand.cs
│ │ ├── ContinueForDebugEventCommand.cs
│ │ ├── VirtualQueryExCommand.cs
│ │ ├── CommandEnum.cs
│ │ ├── WriteProcessMemoryCommand.cs
│ │ ├── CreateToolHelp32SnapshotCommand.cs
│ │ ├── RemoveBreakPointCommand.cs
│ │ ├── SetBreakPointCommand.cs
│ │ ├── ReadProcessMemoryCommand.cs
│ │ └── VirtualQueryExFullCommand.cs
│ ├── Architecture.cs
│ └── PacketManager.cs
├── PS4API
│ ├── PS4Static.cs
│ ├── PS4APIWrapper.cs
│ ├── PS4DedugAPIWrapper.cs
│ ├── MemoryAPI.cs
│ ├── ToolHelp.cs
│ └── DebugAPI.cs
├── EventHandler
│ ├── Request
│ │ ├── ResumeThreadRequest.cs
│ │ ├── SuspendThreadRequest.cs
│ │ ├── RemoveBreakPointRequest.cs
│ │ ├── RemoveWatchPointRequest.cs
│ │ ├── ThreadContextRequest.cs
│ │ ├── ContinueDebugEventRequest.cs
│ │ ├── SetBreakPointRequest.cs
│ │ └── SetWatchPointRequest.cs
│ ├── Event
│ │ ├── ResumeThreadEvent.cs
│ │ ├── SetBreakPointEvent.cs
│ │ ├── SetWatchPointEvent.cs
│ │ ├── SuspendThreadEvent.cs
│ │ ├── ContinueDebugEvent.cs
│ │ ├── ProcessReumeEvent.cs
│ │ ├── RemoveBreakPointEvent.cs
│ │ ├── RemoveWatchPointEvent.cs
│ │ ├── ThreadContextEvent.cs
│ │ └── DebugThreadEvent.cs
│ ├── DebugEventHandler.cs
│ └── Handler.cs
├── packages.config
├── CheatEngineConstants.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── App.config
├── RJToggleButton.cs
├── PS4CEServerWindows.cs
├── PS4CEServerWindows.resx
├── Program.cs
├── PS4CEServerWindows.Designer.cs
├── CheatEngineServer.cs
└── CEServerPS4.csproj
├── CEServerPS4.sln
├── README.md
└── .gitignore
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/libdebug.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hemanthl7/cheat-engine-ps4-server/HEAD/libdebug.dll
--------------------------------------------------------------------------------
/CEServerPS4/lib/libdebug.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hemanthl7/cheat-engine-ps4-server/HEAD/CEServerPS4/lib/libdebug.dll
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/MissingCommandHandlerException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets
7 | {
8 | class MissingCommandHandlerException : Exception
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/S2C/ICheatEngineResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets.S2C
7 | {
8 | public interface ICheatEngineResponse
9 | {
10 | byte[] Serialize();
11 |
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/C2S/Exceptions/CommandNotInitializedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets.C2S.Exceptions
7 | {
8 | class CommandNotInitializedException : Exception
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CEServerPS4/PS4API/PS4Static.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading;
3 | using libdebug;
4 | using System.Runtime.InteropServices;
5 |
6 | namespace CEServerPS4.PS4API
7 | {
8 |
9 | public static class PS4Static
10 | {
11 |
12 | public static string IP
13 | {
14 | get; set;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/ResumeThreadRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class ResumeThreadRequest
10 | {
11 | public uint Tid { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/SuspendThreadRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class SuspendThreadRequest
10 | {
11 | public uint Tid { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/RemoveBreakPointRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class RemoveBreakPointRequest
10 | {
11 | public int Tid { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/RemoveWatchPointRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class RemoveWatchPointRequest
10 | {
11 | public int Tid { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/ThreadContextRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class ThreadContextRequest
10 | {
11 | public uint Tid { get; set; }
12 |
13 | public int Type { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/ContinueDebugEventRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class ContinueDebugEventRequest
10 | {
11 | public uint Tid { get; set; }
12 | public bool singleStep { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/CEServerPS4/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/SetBreakPointRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class SetBreakPointRequest
10 | {
11 | public int Tid { get; set; }
12 | public IntPtr Debugreg { get; set; }
13 | public ulong Address { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/Architecture.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets
7 | {
8 | //https://github.com/cheat-engine/cheat-engine/blob/master/Cheat%20Engine/ceserver/ceserver.c#L137-L153
9 | public enum Architecture
10 | {
11 | i386 = 0,
12 | x86_64 = 1,
13 | arm = 2,
14 | aarch = 3
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/ResumeThreadEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class ResumeThreadEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_RESUMETHREAD;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/SetBreakPointEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class SetBreakPointEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_SETBREAKPOINT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/SetWatchPointEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class SetWatchPointEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_SETWATCHPOINT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/SuspendThreadEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class SuspendThreadEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_SUSPENDTHREAD;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/S2C/GetABIResponse.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets.S2C
7 | {
8 | public class GetABIResponse : ICheatEngineResponse
9 | {
10 |
11 | public GetABIResponse( )
12 | {
13 |
14 | }
15 |
16 | public byte[] Serialize()
17 | {
18 | return new byte[] { (byte)1 };
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/ContinueDebugEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class ContinueDebugEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_CONTINUEFROMDEBUGEVENT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/ProcessReumeEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class ProcessReumeEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_CONTINUEFROMDEBUGEVENT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/RemoveBreakPointEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class RemoveBreakPointEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_REMOVEBREAKPOINT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/RemoveWatchPointEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 |
9 | namespace CEServerPS4.EventHandler.Event
10 | {
11 | public class RemoveWatchPointEvent : DebugThreadEvent
12 | {
13 | public override CommandType CommandType => CommandType.CMD_REMOVEWATCHPOINT;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CEServerPS4/CheatEnginePackets/C2S/ICheatEngineCommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace CEServerPS4.CheatEnginePackets.C2S
7 | {
8 | public interface ICheatEngineCommand
9 | {
10 | bool initialized { get; }
11 |
12 | void Initialize(System.IO.BinaryReader reader);
13 |
14 | void Unintialize();
15 | CommandType CommandType { get; }
16 | byte[] ProcessAndGetBytes();
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/ThreadContextEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 | using CEServerPS4.EventHandler.Request;
8 | using libdebug;
9 |
10 | namespace CEServerPS4.EventHandler.Event
11 | {
12 | public class ThreadContextEvent : DebugThreadEvent
13 | {
14 | public override CommandType CommandType => CommandType.CMD_GETTHREADCONTEXT;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Request/SetWatchPointRequest.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CEServerPS4.EventHandler.Request
8 | {
9 | public class SetWatchPointRequest
10 | {
11 | public int Tid { get; set; }
12 | public IntPtr Debugreg { get; set; }
13 | public ulong Address { get; set; }
14 | public int Bptype { get; set; }
15 | public int Bpsize { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CEServerPS4/EventHandler/Event/DebugThreadEvent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Threading.Tasks.Dataflow;
7 |
8 | namespace CEServerPS4.EventHandler.Event
9 | {
10 | public abstract class DebugThreadEvent
11 | {
12 | public Object Data { get; set; }
13 | public abstract CommandType CommandType { get; }
14 | public BufferBlock