Chống dịch ngược python

chào mọi người em muốn hỏi chút ạ
em có 1 chương trình viết bằng python bây giờ em muốn mã hoá nó để cho người khác không dịch ngược được thì em phải làm như thế nào ạ/
em xin cảm ơn

1 Like

Python có tính năng “biên dịch” ra dạng bytecode, nhưng cũng không thể chống dịch ngược 100%.
Bạn có thể thử lệnh sau:

python -m compileall -b source_folder

Sau đó bạn xóa hết file *.py đi, và dùng python tên_file_chính.pyc để chạy

6 Likes

cảm ơn bạn mình sẽ thử

Gọi là mã hóa thì không đúng lắm. Nhưng việc chống dịch ngược code Python thì có thể, ở mức cơ bản thì có 2 cách:

  1. Obfuscation: Cái này đơn giản là làm code trở nên khó đọc hơn. Về ý nghĩa bên trong code thì vẫn giống với code ban đầu nhưng biểu thị dưới dạng phức tạp, khó hiểu hơn.

  2. “Biên dịch” ra bytecode: Dù đúng là Obfuscation giúp cho code trở nên khó đọc hơn, nhưng nó vẫn ở dạng code Python. Cách này biến code ban đầu thành dạng bytecode.

Nâng cao hơn thì có hai cách:

  1. Biến code Python thành code C: Yep, đúng vậy, không nghe nhầm đâu. Bản thân Python được xây dựng dựa trên C, C++ nên bạn hoàn toàn có thể chuyển code từ Python thành code C, C++ thông qua Cython.

  2. Biến code Python thành file exe: Đây là cách rất hữu hiệu nếu bạn muốn chạy chương trình của bạn ở khắp các máy tính mà không cần phải cài Python vào máy rồi thông dịch (biên dịch thành bytecode) nó, chỉ cần chạy cái file exe là xong, chẳng cần cái gì. Ngoài ra, đây cũng là cách để chống dịch ngược code Python.

Ngoài ra, còn có những cách khác để chống dịch ngược như Anti-debugging, Anti VM nhưng mấy cái này cần phải tìm hiểu chuyên sâu về mã máy, ASM language và reverse engineering.

Cho dù dùng cách gì đi chăng nữa thì Python vẫn là một ngôn ngữ dễ bị dịch ngược hơn C, C++. Những cách trên cũng chỉ có hiệu quả với mấy gã tay mơ thôi, đối với mấy thanh niên chuyên crack phần mềm, game thì những cách này không hiệu quả lắm và đặc biệt càng không hiệu quả đối với mấy thanh niên có trình và kinh nghiệm như LiveOverFlow.

12 Likes

cảm ơn bác nhé
em đã đọc qua cmt của bác em rất cảm ơn sự đóng góp của bác
chắc chẳng có cách nào là quá hoàn hảo cả vì em vừa xem video dịch ngược file exe xong bác ạ
@@

3 Likes

Để dự án là open source và chẳng còn lo lắng bị dịch ngược nữa :relieved:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?