{"id":13795800,"url":"https://github.com/ps4dev/ps4sdk-examples","last_synced_at":"2025-05-12T23:32:40.469Z","repository":{"id":219967596,"uuid":"57184913","full_name":"ps4dev/ps4sdk-examples","owner":"ps4dev","description":"ps4sdk examples and small showcases","archived":false,"fork":false,"pushed_at":"2017-10-04T23:31:57.000Z","size":96,"stargazers_count":14,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-18T10:34:45.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ps4dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-27T05:05:40.000Z","updated_at":"2023-10-13T14:17:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"a78ae0d8-2c41-4c16-9852-6fed432d848c","html_url":"https://github.com/ps4dev/ps4sdk-examples","commit_stats":null,"previous_names":["ps4dev/ps4sdk-examples"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps4dev%2Fps4sdk-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps4dev%2Fps4sdk-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps4dev%2Fps4sdk-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps4dev%2Fps4sdk-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ps4dev","download_url":"https://codeload.github.com/ps4dev/ps4sdk-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253841189,"owners_count":21972611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T23:01:02.453Z","updated_at":"2025-05-12T23:32:39.444Z","avatar_url":"https://github.com/ps4dev.png","language":"C","funding_links":[],"categories":["Examples and Tutorials"],"sub_categories":["Remote Package Installers"],"readme":"# ps4sdk-examples\nExamples, showcases and prove-of-concepts which show something realized with ps4sdk (not necessarily unique to the PS4)\n\n## Examples\n* `libless` - These do not use any library functions (not even the sdk) and are good for initial tests or when something breaks\n* `posix` - These solely use posix and standard C APIs and should run under any such system\n* `freebsd` - These are pure freebsd examples (and should work there too)\n* `sce` - These showcase SCE functions\n* `ps4sdk` - These are user space programs which use the sdks own (common) capabilities\n* `kernel` - These are showing something we can do in the kernel using the sdk\n* `failures` - These are corner-cases, which noteworthyly do not work (but could be expected to by somebody)\n\n## Noteworthy\n* `freebsd/dirent` displays the fs and can be run after you use another elf to escalate your privileges\n* `ps4sdk/kernel_execute` shows how to enter the kernel from user space on your own (it's likely less\nconvenient and useful then a kernel payload, but has its use-case).\n* `ps4sdk/system_call_hook` shows how to temporarily hook from user space. Be aware, that when your program\nexits, your resources (all functions and data) will be freed too. **Be sure to unlink** any of these user space resources\nfrom the kernel before you exit main. A kernel payload that never ends (sleep on a mutex) is more likely to be useful and stable\nfor any long term or persistent (module like) modifications. See `kernel/system_call` for comparison.\n* `kernel/system_call_hook`, `kernel/function_hook` print the same descriptor all the time. That's not a bug,\nit's what actually happens. Press the options button to see changes. To influence the return values, use a post\nhook and alter args-\u003ereturns-\u003erax (etc.). Try the function index (rindex) hook (on 5055), close the browser,\nconnect and restart the browser.\n\n## Important\nThe exploit may not always enter the kernel on the first try. If you browser crashes,\nsimply try again. It's likely to work. This will be tuned in the future as much as possible.\nEspecially after you crashed your kernel, this behaviour is very common (down right normal) because the\ninitial resource allocation differs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps4dev%2Fps4sdk-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fps4dev%2Fps4sdk-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps4dev%2Fps4sdk-examples/lists"}