This weekend PlayStation 4 developer @seb5594 (Twitter) made available on his Github repository a PS4KernelDlSym Symbol Resolver / List Creator which is a tool for PS4 scene developers that analyzes all direct calls to ps4KernelSym dynamically generating an offset table containing all kernel symbol names for reference.
Download: ps4sdk.ps4KernelDlSym.List.Creator.exe / Gee.External.Capstone.dll / Gee.External.Capstone.xml / GIT
Version 1.00
This release matches the requirements from README (https://github.com/seb5594/ps4KernelDlSym-reference-analyzer/blob/master/README.md).
I am unsure about the 32 bit (x86) disassembler library, because this application runs on my PC, even if all dependencies are deleted. That's the reason why i am giving out all dependencies. If some resource is not required, open an issue!
And from the README.md, to quote: ps4sdk ps4KernelDlSym Symbol Resolver
The PS4SDK ps4KernelDlSym Symbol Resolver is a windows forms application (requires .NET 4.0), which has been made to fit my needs for ps4 compiled payloads using as example my version of Hitodamas open source PS4 ***. This tool has been made to generate dynamically an offset table containing all kernel symbol names and the corresponding offsets, where are getting called in a executable.
In the current state, it is impossible to resolve stacked function calls. If I feel to, I will extend this application with the feature of stacked function calls. You are permitted to use/edit this source code, as long you are referencing to this project.
Requirements (for usage)
This application uses the open source disassembler library Capstone.NET, which is a core functionality to analyze function calls in x86_64 assemblies compiled binaries (payload/s), for further development reasons, by extracting the text sections of the payload elf file using ElfIO by therifboy it resolves all absolute calls to ps4KernelDlSym and it outputs a list of all symbol name(s), which are required to execute the payload! The resulting output will be displayed as a raw list (default) or in a c-styled array (my preferred way).
Options
The GUI offers the possibility to order the result in execution order or alphabetical. It is also possible, to output the result in a c-styled array!
ToDo (coming soon?)
Feel free to submit pull requests, to improve the development of this project!
Download: ps4sdk.ps4KernelDlSym.List.Creator.exe / Gee.External.Capstone.dll / Gee.External.Capstone.xml / GIT
Version 1.00
This release matches the requirements from README (https://github.com/seb5594/ps4KernelDlSym-reference-analyzer/blob/master/README.md).
I am unsure about the 32 bit (x86) disassembler library, because this application runs on my PC, even if all dependencies are deleted. That's the reason why i am giving out all dependencies. If some resource is not required, open an issue!
And from the README.md, to quote: ps4sdk ps4KernelDlSym Symbol Resolver
The PS4SDK ps4KernelDlSym Symbol Resolver is a windows forms application (requires .NET 4.0), which has been made to fit my needs for ps4 compiled payloads using as example my version of Hitodamas open source PS4 ***. This tool has been made to generate dynamically an offset table containing all kernel symbol names and the corresponding offsets, where are getting called in a executable.
In the current state, it is impossible to resolve stacked function calls. If I feel to, I will extend this application with the feature of stacked function calls. You are permitted to use/edit this source code, as long you are referencing to this project.
Requirements (for usage)
- .NET 4.0
- ps4sdk compiled payload(s)
- brain
This application uses the open source disassembler library Capstone.NET, which is a core functionality to analyze function calls in x86_64 assemblies compiled binaries (payload/s), for further development reasons, by extracting the text sections of the payload elf file using ElfIO by therifboy it resolves all absolute calls to ps4KernelDlSym and it outputs a list of all symbol name(s), which are required to execute the payload! The resulting output will be displayed as a raw list (default) or in a c-styled array (my preferred way).
Options
The GUI offers the possibility to order the result in execution order or alphabetical. It is also possible, to output the result in a c-styled array!
ToDo (coming soon?)
- Resolve stacked symbol names (might be added, when i feel to!)
Feel free to submit pull requests, to improve the development of this project!