Git Product home page Git Product logo

fengjixuchui / simple-polymorphic-engine-spe32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pelock/simple-polymorphic-engine-spe32

0.0 0.0 0.0 9 KB

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.

Home Page: https://www.pelock.com/products/poly-polymorphic-engine

Batchfile 0.66% Assembly 99.34%

simple-polymorphic-engine-spe32's Introduction

Simple Polymorphic Engine — SPE32

Simple Polymorphic Engine (SPE32) is a simple polymorphic engine for encrypting code and data.

SPE32 allows you to encrypt any data and generate a unique decryption code for this data. The encryption algorithm uses randomly selected instructions and encryption keys.

The generated decryption code will be different each time.

Polymorphic decryption code as viewed in x86dbg debugger

Polymorphic code in x86dbg debugger

Another polymorphic code mutation, this time with junk instructions

Polymorphic code in x86dbg debugger with junk instructions

SPE32 features and status

The SPE32 engine is an amateur project that can be used to demonstrate what polymorphic engines are. I wrote it some time ago, but I thought it would be a good idea to make it public.

The entire code was written in a 32-bit assembler for the MASM compiler.

Features:

  • entire code is position independent (delta offset is used to access data)
  • XOR, ADD, SUB used for encryption
  • junk opcodes generation - ADD,ADC,SUB,SBB,ROL,ROR,RCR,RCL,SHL,SHR,NOT,NEG,DEC,INC

I don't provide technical support for SPE32, use it at your own risk.

Fully fledged commercial polymorphic engine

If you are looking for professional solution take a look at our Poly Polymorphic Engine.

Poly Polymorphic Engine is the only commercial polymorphic engine available on the market. It's a highly specialized cryptographic solution which is used in anti-cracking software protection systems and anti-reverse engineering systems. Due to the complicated nature of their code, polymorphic engines aren't publicly available, and creating one requires highly specialized knowledge in low level assembly programming and reverse engineering as well as an extensive testing process.

Poly Polymorphic Engine

Bartosz Wójcik

simple-polymorphic-engine-spe32's People

Contributors

pelock avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.