RYOTA PYTHON OBFUSCATOR
100% LOCAL
main.py
LINES 0 · CHARS 0 · 0 B kosong
output.obf.py
  RYOTA ENGINE v1.0 — siap
  ─────────────────────────────
  · tempel / unggah source .py di panel editor
  · pilih tingkat obfuscation di sidebar
  · tekan OBFUSCATE  

Documentation

Cara kerja engine Ryota, apa yang diubah dan apa yang sengaja dipertahankan, serta batasan yang perlu kamu ketahui sebelum memakai hasilnya di production.

01 Ringkasan Engine

Ryota memakai tokenizer Python custom yang berjalan sepenuhnya di tab browser — bukan regex mentah pada teks. Karena bekerja pada level token, string literal, komentar, dan identifier terpisah dengan benar, sehingga transformasi tidak menyentuh isi string yang tidak seharusnya dan indentasi Python tetap utuh.

02 Memulai

1 · Input
Tempel kode di editor, atau unggah / drag-and-drop file .py. File non-Python akan ditolak.
2 · Level & opsi
Pilih Light / Medium / Heavy — tiap level mengisi preset opsi yang tetap bisa kamu ubah manual di bawahnya.
3 · Obfuscate
Tombol OBFUSCATE (atau Ctrl+Enter). Panel log menampilkan tiap tahap: tokenisasi → analisis simbol → rename → encode → emit.
4 · Verifikasi
Klik TEST SYNTAX untuk memvalidasi hasil, lalu COPY atau DOWNLOAD .PY.

03 Tingkat Obfuscation

Light
Komentar dihapus, string non-ASCII/kontrol di-escape. Nama simbol tidak diubah. Cocok untuk merapikan kode.
Medium
+ whitespace dipadatkan, string dienkode sebagian, rename identifier dengan gaya _0x1a2b3.
Heavy
+ seluruh karakter string dienkode ke \xNN (sepenuhnya opak), rename memakai glyph confusable (l0OI, O1lI…). Ukuran file bisa membengkak — itu konsekuensi yang jujur.

04 Yang Diubah vs Dipertahankan

Diubah
Komentar, blank line & trailing whitespace, string literal biasa / raw / bytes (dienkode ulang sehingga nilainya identik), dan nama yang didefinisikan di file: variabel, fungsi, kelas, parameter, loop var, alias import x as y, binding from m import y (otomatis ditulis ulang jadi y as newName).
Dipertahankan
Import tanpa alias (import os.path tidak pernah disentuh), dunder (__init__, __name__, …), akses atribut (obj.attr), keyword argumen pemanggilan fungsi, builtins & keywords, f-string, dan indentasi program.
Guard keamanan
Nama yang muncul di dalam string literal (indikasi getattr/eval dinamis) atau di dalam ekspresi f-string otomatis dikecualikan dari rename. Lebih konservatif — tapi hasil dijamin tetap jalan.

05 Test Syntax

Menjalankan ulang tokenizer pada hasil, lalu memeriksa keseimbangan kurung dan struktur indentasi blok. Ini validasi token-level yang menangkap kerusakan umum akibat obfuscation — bukan kompilasi CPython penuh (itu memerlukan interpreter). Untuk jaminan mutlak, jalankan hasilnya dengan python -m py_compile file.py di mesinmu.

06 Batasan

  • Nama method & atribut tidak di-rename — konsekuensi dari mempertahankan obj.method() agar tidak rusak.
  • Nama yang dipakai sebagai keyword argumen di satu titik mana pun tidak di-rename (mencegah TypeError).
  • Kode yang sangat mengandalkan globals(), exec, atau introspeksi dinamis sebaiknya tidak di-rename — guard string membantu, tapi uji dulu.
  • API publik lintas-modul (fungsi yang diimpor file lain) akan berubah nama — pertimbangkan level Light untuk library.
Disclaimer: obfuscation hanya membuat source lebih sulit dianalisis. Tidak ada obfuscator — termasuk Ryota — yang membuat kode 100% tidak bisa di-reverse-engineer. Jangan pernah menyimpan rahasia (API key, kredensial) di kode Python apa pun, ter-obfuscate atau tidak.

About

Ryota adalah developer tool kecil dengan satu misi: membuat source Python lebih sulit dibaca manusia — tanpa pernah meninggalkan mesinmu.

01 Kenapa lokal?

Sebagian besar obfuscator online mengunggah kodemu ke server orang lain. Ryota menolak model itu. Engine-nya adalah tokenizer Python yang ditulis dalam JavaScript murni (~300 baris) — menganalisis simbol secara konservatif, lalu menulis ulang token tanpa mengubah semantika. Karena berjalan di tab browser, ia bekerja bahkan setelah koneksi kamu putus.

02 Filosofi

  • Benar lebih penting daripada tampak rusak. Rename yang salah merusak program; Ryota memilih melewatkan simbol yang meragukan.
  • Jujur tentang batasan. Obfuscation mempersulit analisis, tidak menghentikannya. Klaim "100% aman" adalah tanda bahaya.
  • Tool, bukan layanan. Tanpa akun, tanpa telemetri, tanpa penyimpanan.
Ingat: hasil obfuscation tetap dapat di-reverse-engineering oleh pihak yang bersunggu-sungguh. Gunakan sebagai lapisan penghalang, bukan satu-satunya perlindungan.

RYOTA PYTHON OBFUSCATOR · ENGINE v1.0 · TOKENIZER LOCAL · ZERO UPLOAD

Privacy

Kebijakan ini pendek karena datanya tidak ada: apa yang kamu tempel di Ryota tidak pernah keluar dari tab browser.

01 Pemrosesan 100% Lokal

Seluruh pipeline obfuscation — tokenisasi, analisis simbol, rename, encode string — dieksekusi oleh JavaScript di browser kamu. Tidak ada request jaringan yang membawa kode sumber, tidak ada server, tidak ada API.

02 Tidak Ada Penyimpanan

  • Tidak ada database, tidak ada log server, tidak ada antrean proses.
  • Source code tidak disimpan ke localStorage, cookie, maupun IndexedDB.
  • Menutup atau me-refresh tab menghapus semuanya secara permanen.

03 Tidak Ada Telemetri

Tidak ada analytics, fingerprinting, atau pelacakan apa pun. Satu-satunya permintaan jaringan pihak ketiga adalah font (Google Fonts) saat halaman dimuat — isi kodemu tidak pernah terlibat.

04 Tanggung Jawabmu

Karena tidak ada jaring yang menahan kesalahan: verifikasi hasil dengan Test Syntax dan uji di lingkungan terisolasi sebelum dipakai. Dan sekali lagi — jangan pernah menaruh rahasia di dalam kode yang dibagikan, ter-obfuscate atau bukan.