2013-02-13 10 views
8

Muszę zaciemnić kod ruby, aby ukryć wrażliwe źródło. muszę być kierowany w dobrym kierunku, aby osiągnąć to, co chcę, więc:Obfuskacja kodu Ruby

  1. Czy istnieje alternatywa dla Ruby PYC Pythona ?, widziałem version.rbc plików wewnątrz wielu klejnotów. Jak można go wygenerować? Czy ten proces działa dla innych (złożonych, nie tylko prostych deklaracji VERSION) rodzajów plików Ruby ?.

  2. RubyEncoder wykonuje zadanie (robi to? Pomóż mi tutaj), ale wymaga wykupienia licencji. Dlatego uważam to za ostateczność.

  3. Każda inna propozycja

+0

Czy możesz podać szczegóły wymagań. Może istnieć inne rozwiązanie niż zaciemnianie. –

+0

Kod wrażliwy w celu sprawdzenia licencji i limitu planów subskrypcji nie powinien być widoczny/czytelny dla nikogo. Moje wdrożenie nie opiera się na chmurze, ponieważ dostarczam instalowalną kopię mojej aplikacji i nie chcę dostarczać "know how" własnego (nie open source). –

Odpowiedz

10

Napisz natywną rozszerzenie w C, wprowadzanie poufnych kod tam, wraz z dość krytycznym logiką programu, aby rozszerzenie niezbędne do realizacji programu.

To nie uniemożliwia komuś obejścia lub przetworzenia kodu wrażliwego, ale utrudnia to. Ponadto, there are better techniques, aby skompilowany kod był trudniejszy do inżynierii wstecznej, niż do tego, by kod Ruby był trudny do inżynierii wstecznej.

+4

Dodatkowa korzyść: szybciej! – Ryanmt