{"id":15060292,"url":"https://github.com/pelock/simple-polymorphic-engine-spe32","last_synced_at":"2025-08-09T06:09:41.018Z","repository":{"id":37617167,"uuid":"216670272","full_name":"PELock/Simple-Polymorphic-Engine-SPE32","owner":"PELock","description":"Simple Polymorphic Engine (SPE32) is a simple polymorphic engine for encrypting code and data. It is an amateur project that can be used to demonstrate what polymorphic engines are.","archived":false,"fork":false,"pushed_at":"2023-03-11T14:35:58.000Z","size":9,"stargazers_count":141,"open_issues_count":0,"forks_count":35,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-17T14:15:17.629Z","etag":null,"topics":["assembler","decryption","encryption","junk-instructions","malware","malware-analysis","masm","masm32","polymorphic-engine","polymorphic-engines","reverse-engineering","shellcode","virus","win32asm"],"latest_commit_sha":null,"homepage":"https://www.pelock.com/products/poly-polymorphic-engine","language":"Assembly","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/PELock.png","metadata":{"files":{"readme":"README.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":"2019-10-21T21:40:04.000Z","updated_at":"2025-03-03T02:19:46.000Z","dependencies_parsed_at":"2024-12-26T13:10:49.370Z","dependency_job_id":"42c814c0-34f4-4127-b657-e9203b19664d","html_url":"https://github.com/PELock/Simple-Polymorphic-Engine-SPE32","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/PELock%2FSimple-Polymorphic-Engine-SPE32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FSimple-Polymorphic-Engine-SPE32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FSimple-Polymorphic-Engine-SPE32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FSimple-Polymorphic-Engine-SPE32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PELock","download_url":"https://codeload.github.com/PELock/Simple-Polymorphic-Engine-SPE32/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047646,"owners_count":20389206,"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":["assembler","decryption","encryption","junk-instructions","malware","malware-analysis","masm","masm32","polymorphic-engine","polymorphic-engines","reverse-engineering","shellcode","virus","win32asm"],"created_at":"2024-09-24T22:56:19.006Z","updated_at":"2025-03-17T14:15:22.020Z","avatar_url":"https://github.com/PELock.png","language":"Assembly","readme":"# Simple Polymorphic Engine — SPE32\n\n**Simple Polymorphic Engine (SPE32)** is a simple polymorphic engine\nfor encrypting code and data.\n\nSPE32 allows you to encrypt any data and generate a **unique**\ndecryption code for this data. The encryption algorithm uses\nrandomly selected instructions and encryption keys.\n\nThe generated decryption code will be different each time.\n\n## Polymorphic decryption code as viewed in x86dbg debugger\n\n![Polymorphic code in x86dbg debugger](https://www.pelock.com/img/en/products/simple-polymorphic-engine/simple-polymorphic-engine-spe32-poly-engine-x86dbg-debugger-1.png)\n\n## Another polymorphic code mutation, this time with junk instructions\n\n![Polymorphic code in x86dbg debugger with junk instructions](https://www.pelock.com/img/en/products/simple-polymorphic-engine/simple-polymorphic-engine-spe32-poly-engine-x86dbg-debugger-junk-code-2.png)\n\n## SPE32 features and status\n\nThe SPE32 engine is an amateur project that can be used to demonstrate what\npolymorphic engines are. I wrote it some time ago, but I thought\nit would be a good idea to make it public.\n\nThe entire code was written in a **32-bit assembler** for the [MASM compiler](http://www.masm32.com/).\n\nFeatures:\n\n* entire code is position independent (delta offset is used to access data)\n* XOR, ADD, SUB used for encryption\n* junk opcodes generation - ADD,ADC,SUB,SBB,ROL,ROR,RCR,RCL,SHL,SHR,NOT,NEG,DEC,INC\n\nI don't provide technical support for SPE32, use it at your own risk.\n\n## Fully fledged commercial polymorphic engine\n\nIf you are looking for professional solution take a look at our **Poly Polymorphic Engine**.\n\n* https://www.pelock.com/products/poly-polymorphic-engine\n\nPoly Polymorphic Engine is the **only commercial polymorphic engine** available on the market.\nIt's a highly specialized cryptographic solution which is used in anti-cracking software\nprotection systems and anti-reverse engineering systems. Due to the complicated nature of\ntheir code, polymorphic engines aren't publicly available, and creating one requires\nhighly specialized knowledge in low level assembly programming and reverse engineering\nas well as an extensive testing process.\n\n![Poly Polymorphic Engine](https://www.pelock.com/img/en/products/poly-polymorphic-engine/poly-polymorphic-engine.svg)\n\nBartosz Wójcik\n\n* Visit my site at — https://www.pelock.com\n* Twitter — https://twitter.com/PELock\n* GitHub — https://github.com/PELock","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelock%2Fsimple-polymorphic-engine-spe32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpelock%2Fsimple-polymorphic-engine-spe32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelock%2Fsimple-polymorphic-engine-spe32/lists"}