Skip to main content

orendos

deep algorithmic code protection for Python

v1.0.0  |  C/C++ kernel  |  Python runtime  |  cross-platform


what is orendos?

orendos is a code protection library that transforms Python source into a custom machine language that cannot be decompiled, reversed, or read. the final output is a binary format processed by a deep algorithmic engine written in C — no bytecode, no opcodes, no readable structures.

the interpreter executes the protected code directly through layered internal algorithms without ever decoding it back to Python.

protection layers

layer engine description
feistel cipher C 16-round feistel network with dynamic S-boxes
xor stream C xorshift128+ stream cipher with entropy-derived keys
byte permutation C 256-entry permutation tables (fisher-yates)
data scattering C block interleaving with noise injection
anti-debug shield C debugger detection, timing checks, memory wiping
dynamic entropy C xoshiro256** PRNG — different output every compilation

key features

  • every compilation produces unique output — same source, different binary
  • no standard bytecode or opcodes — custom internal representation
  • the interpreter does not decode — it executes through deep algorithmic pipelines
  • anti-debugging and anti-tampering built into the C kernel
  • memory wiping after execution — no traces left in RAM
  • supports all Python features, libraries, and frameworks
  • works on Linux, Windows, macOS, Android

installation

pip install orendos

from source

git clone https://github.com/6x-u/orendos.git
cd orendos
pip install .

requires: Python >= 3.7, C compiler (gcc/clang/msvc)


usage

compile a Python file

from orendos.compiler import compile_file

oro_path, wrapper_path = compile_file("my_script.py")
print(f"protected: {oro_path}")
print(f"runner: {wrapper_path}")

run protected code

from orendos.runtime import execute_oro

execute_oro("my_script.oro")

protected file format

after compilation, a wrapper .py file is generated:

import orendos as mero
"my_script.oro"
o0o-run

as mero is required — without it the runtime will not activate.

CLI

# compile
orendos compile my_script.py

# run
orendos run my_script_protected.py
orendos run my_script.oro

# info
orendos info

interactive converter script

python scripts/convert.py

the script will:

  1. ask for the Python file path
  2. compile with deep algorithmic transformation
  3. display done save and show the output paths
  4. the generated file runs without any errors

how it works

Python Source
     |
     v
 [AST Parse]
     |
     v
 [Code Object → Marshal]
     |
     v
 [C Engine: Feistel Encrypt (16 rounds)]
     |
     v
 [C Engine: Data Scatter (8 blocks + noise)]
     |
     v
 [C Engine: Byte Permutation (256-table)]
     |
     v
 [C Engine: XOR Stream Cipher]
     |
     v
 [Container: Header + Sections + Checksum]
     |
     v
 .oro Binary File

at runtime:

.oro Binary File
     |
     v
 [Shield: Anti-Debug + Integrity Check]
     |
     v
 [VM: Load Container → Verify Checksum]
     |
     v
 [C Engine: Reverse Pipeline (deep internal)]
     |
     v
 [Direct Execution → Memory Wipe]
     |
     v
 Output

the reverse pipeline operates through the C kernel — it never exposes the original code, bytecode, or any readable representation. even if someone captures the binary, the dynamic entropy ensures every compilation is unique and the internal structures are non-deterministic.


architecture

orendos/
├── src/core/           # C kernel
│   ├── engine.c/h      # container format, serialization
│   ├── algorithms.c/h  # feistel, permutation, scatter, xor
│   ├── vm.c/h          # virtual machine, execution pipeline
│   ├── shield.c/h      # anti-debug, integrity, memory wipe
│   ├── entropy.c/h     # xoshiro256** PRNG, key derivation
│   └── orendos_core.c  # Python C extension bridge
├── orendos/            # Python package
│   ├── compiler.py     # source → .oro compilation
│   ├── runtime.py      # .oro → execution
│   ├── cli.py          # command-line interface
│   └── _compat.py      # platform compatibility
├── scripts/
│   ├── convert.py      # interactive converter
│   └── run.py          # runner script
├── examples/           # example Python files
└── tests/              # test suite

security model

attack defense
decompilation no standard bytecode — custom binary format
disassembly no opcodes — layered algorithmic transformation
memory dump secure memory wiping after execution
debugger attach ptrace/IsDebuggerPresent detection
binary analysis dynamic entropy — each build is unique
timing analysis timing-based anomaly detection
file tampering SHA-256 checksum + section signatures
copyright removal embedded guard markers with integrity check

examples

basic

# source: hello.py
print("hello world")

# compile
from orendos.compiler import compile_file
compile_file("hello.py")

# result: hello_protected.py
import orendos as mero
"hello.oro"
o0o-run

advanced

# any Python code works — classes, imports, frameworks
import json

class API:
    def __init__(self):
        self.data = {"status": "protected"}

    def respond(self):
        return json.dumps(self.data)

api = API()
print(api.respond())

compile it:

orendos compile api.py
orendos run api_protected.py
# output: {"status": "protected"}

platform support

platform status
Linux (x86_64, arm64) supported
Windows (x86_64) supported
macOS (x86_64, arm64) supported
Android (termux) supported

dev

# build from source
pip install -e .

# run tests
python -m pytest tests/

# test compilation
python scripts/convert.py

orendos v1.0.0
dev by mero  |  tg @QP4RM  |  github.com/6x-u

Metadata

Release files for orendos 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orendos 1.0.2
File Size Uploaded
orendos-1.0.2.tar.gz 24.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for orendos 1.0.2
File
orendos-1.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
orendos-1.0.2-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
orendos-1.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
orendos-1.0.2-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
orendos-1.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
orendos-1.0.2-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
orendos-1.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
orendos-1.0.2-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
orendos-1.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
orendos-1.0.2-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details

Total release size: 532.1 kB

Release files / orendos-1.0.2.tar.gz

Download URL orendos-1.0.2.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
22d5971d44de6425c47d724a67594b58b6f95cc803b068a4282f5092a9f52709
BLAKE2b-256 checksum
How to use checksums
9170a1568cdce37a3ba916ea72beee963bcab426f0eefd0eec1b01effe7599c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL orendos-1.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 51.9 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a74dfff593a8cdb2609d28c79e8e998c1c2365a649534f1c8f8f8aaa9d575774
BLAKE2b-256 checksum
How to use checksums
27f926bea5e04a36f0166a436e7a2f87ef64e8e490318ce2975c8ca3c41fcf17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL orendos-1.0.2-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 50.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
ea417bcc4ea0fc272b3c9b94ea67c7cdf281ef72fa65e521b4a0b64a3dede5d2
BLAKE2b-256 checksum
How to use checksums
ce725aa3fbe597c668d98c960cb76cf1aa0ceb6287dd2481b212b0afa990bbd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL orendos-1.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 52.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
59f4f7a22a0b372787e5b959e0a42ff9efc88e5c343d78aee0fa8cb2d6be6b72
BLAKE2b-256 checksum
How to use checksums
ed987d8985b9b9fbe94cfffa8278084f882c317dc76378846c53b3d476d98d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL orendos-1.0.2-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 50.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
5efa4b0c6ad65a139b971f08a80f2d4c93804773a49690def5a7966f0833c224
BLAKE2b-256 checksum
How to use checksums
9cd4a9ebe77890c9913d2a095908d976f8caebafa5e628115869aa22ff05dd0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL orendos-1.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 51.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6e09d941f8a6a7abd30d1d1ca3eb5f2e85b061d581f6dfa72d552aa0b468cf95
BLAKE2b-256 checksum
How to use checksums
9bacae421eb7cb72af15952b7875ed93a4fefc275e6dd24f0033ff1aab99c8fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL orendos-1.0.2-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 49.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
6610a0106615ee96425291f995ac8bce33bba412fdd38ae4a72bdee1b36e9a6f
BLAKE2b-256 checksum
How to use checksums
9392fcba825fbdce54aa1ee766756103a35af34dc2e7214e06e6a661ba4b512f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL orendos-1.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 51.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7f9a544099c942bf42462f7c4d08d4b4e704b03ffa2b47421931f78a2081a691
BLAKE2b-256 checksum
How to use checksums
b404063de5e6c0828d6cb27b03bb2f8cae3e538ddad1b223e8e8ee0e1cda7325
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL orendos-1.0.2-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 49.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
3ad7139b6ba2ca983a4c1c2276819f45a0b36db19aeec6694b4efd3655f49dfc
BLAKE2b-256 checksum
How to use checksums
238ccb139e798af95530e9a75ef1885ddfbc4c3bba4507fdaba7843fde20afd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL orendos-1.0.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 51.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5d02097094dfa9cbe1b00217dae726181d6560c1189a11fcf6af42dda1ba434e
BLAKE2b-256 checksum
How to use checksums
098c5ec48882a17f1f5115d69a58dfdd64c618a5ea0f7157686e75d9ea1d2825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / orendos-1.0.2-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl

Download URL orendos-1.0.2-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Size 49.7 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
f88e5b3259395a24a72303c37ef507eaf311550278c883fd8d9b86a51d887a83
BLAKE2b-256 checksum
How to use checksums
c7eacae78c04d198cbfcc94bf92aba781e98bb19a0e5b0e31cc5b8f74ab687e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

1.0.2 This release

11 release files

1.0.1

13 release files

1.0.0

13 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page