2015-05-11 19 views
7

Tôi xây dựng ứng dụng điện tử đầu tiên của mình nhưng bây giờ tôi tự hỏi làm thế nào để bảo vệ mã nguồn được xem bởi các nhà phát triển khác.Cách bảo vệ mã nguồn trong dự án điện tử

Các doc chính thức nói:

Để bảo vệ tài nguyên của ứng dụng của bạn và mã nguồn từ những người sử dụng, bạn có thể chọn để gói ứng dụng của bạn thành một kho lưu trữ ASAR với ít thay đổi mã nguồn của bạn.

Cho đến nay là tốt nhất tôi có thể nghĩ đến là uglyfy các mã nguồn và gói nó vào một ASAR tập tin, nhưng ASAR tập tin chỉ là một kho lưu trữ và có thể dễ dàng được trích xuất. Tôi không thấy cách làm cho mã của bạn "được bảo vệ khỏi người dùng"

Bất kỳ ý tưởng nào?

+1

Bạn cũng sẽ cần một cách để bảo vệ chống lại cuộc gọi đến toString có thể hiển thị các nguồn đã giải mã. – gaspard

Trả lời

3

Không có cách nào chính thức để sao chép bảo vệ mã của bạn vào lúc này, xin lỗi - nếu bạn muốn làm điều này, bạn sẽ phải phát minh ra cách riêng của bạn (hoặc chỉ cần không phải lo lắng về nó)

+1

Vâng, đó là điều tôi sợ – 0x1gene

1

Đó là không thể bảo vệ hoàn toàn mã, bất kể bạn gói nó như thế nào, để cho nó chạy nó phải được truy cập và giải mã, điều đó có nghĩa là khóa phải được lưu trữ cục bộ.

Hãy xem xét kịch bản này;

Tác giả của hệ thống điện tử và định dạng tệp asar thực hiện mã hóa tương tự như mã zip được bảo vệ bằng mật khẩu và cung cấp cho bạn khả năng chỉ định mật khẩu lưu trữ tại thời gian biên dịch sao cho an toàn được lưu trữ bên trong .exe và không thể mở/đọc tệp asar mà không có nó. Một hacker vẫn có thể tìm ra khóa bằng cách tự biên dịch electron bằng một số phím thử, ví dụ AAAA và AAAB, sau đó so sánh tệp nhị phân kết quả để xác định vị trí của chuỗi khóa bên trong nó. Một khi họ biết làm thế nào để giải nén chìa khóa từ exe đó là trò chơi trên.

Tôi đoán bảo vệ mạnh nhất bạn có thể thực hiện là nếu bạn sửa đổi mã nguồn điện tử để lưu trữ và truy xuất khóa, nhưng ngay cả khi đó kẻ tấn công có thể dịch ngược mã, so sánh nó với phiên bản chuẩn bị dịch ngược nơi sửa đổi mã của bạn bắt đầu và đảo ngược kỹ sư nó cho đến khi họ tìm ra cách bạn đang lưu trữ khóa.

Một lần nữa, thời điểm chúng có khóa, trò chơi kết thúc và để cho phép chạy bất kỳ mã nào, nó có thể đọc được, điều đó có nghĩa là nó phải có khóa cục bộ. Bắt 22.

Các vấn đề liên quan