{"id":13841305,"url":"https://github.com/ReversingID/Shellcode-Loader","last_synced_at":"2025-07-11T12:31:09.707Z","repository":{"id":38681561,"uuid":"393908706","full_name":"ReversingID/Shellcode-Loader","owner":"ReversingID","description":"Open repository for learning dynamic shellcode loading (sample in many programming languages)","archived":false,"fork":false,"pushed_at":"2024-08-09T02:14:12.000Z","size":353,"stargazers_count":222,"open_issues_count":0,"forks_count":41,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-20T02:44:48.665Z","etag":null,"topics":["crypter","payload","shellcode","shellcode-loader"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReversingID.png","metadata":{"files":{"readme":"README.EN.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-08-08T08:53:03.000Z","updated_at":"2024-11-16T06:10:09.000Z","dependencies_parsed_at":"2024-10-30T05:04:34.919Z","dependency_job_id":null,"html_url":"https://github.com/ReversingID/Shellcode-Loader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReversingID%2FShellcode-Loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReversingID%2FShellcode-Loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReversingID%2FShellcode-Loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReversingID%2FShellcode-Loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReversingID","download_url":"https://codeload.github.com/ReversingID/Shellcode-Loader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225720398,"owners_count":17513596,"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":["crypter","payload","shellcode","shellcode-loader"],"created_at":"2024-08-04T17:01:08.084Z","updated_at":"2024-11-21T11:30:33.505Z","avatar_url":"https://github.com/ReversingID.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# Shellcode Loader\n\nOpen repository for learning dynamic shellcode loading.\n\n### Disclaimer\n\nThis repository is used to collect information related to loading shellcode into memory which usually used by implants. This repository is open for public, publicly accessible to anyone.\n\n### Content\n\nThe codes are classified into several categories based on platform (OS) and techniques. Each directory refer to specific technique and contain brief introduction as well as simple implementation in certain programming language (mostly in C/C++).\n\nNote: the techniques will focus on x86 architecture, unless told otherwise.\n\n### Shellcode Overview\n\n`Shellcode` is a piece of code/instructions which carefully crafted to execute specific action. In exploitation, shellcode is used as payload which will be injected to system (or application).\n\nTheoretically, shellcode can do anything. In early time, shellcode is just list of instructions which will spawn a shell. Then, shellcode evolve and has various actions such as create user, delete data, etc.\n\nFor collection of shellcodes, go to [shellcodes repository](https://github.com/ReversingID/shellcodes).\n\nFor collection of process injection techniques, go to [injection repository](https://github.com/ReversingID/injection).\n\nFor simplicity, shellcode used in the sample will be:\n\n```\n# 9090CCC3\n\n0000:  90      nop\n0001:  90      nop\n0002:  CC      in3\n0003:  c3      ret\n```\n\n### Techniques\n\nThis repository will cover basic process in shellcode loading:\n- `allocation`: how to allocate memory to store shellcode temporary (as code).\n- `storage`: how to store shellcode.\n- `execution`: how to execute shellcode.\n- `writing`: how to write code to memory (self), either directly copy or using any transformation.\n\nSome techniques use API provided by the OS, directly or indirectly.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReversingID%2FShellcode-Loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReversingID%2FShellcode-Loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReversingID%2FShellcode-Loader/lists"}