2012-01-09 42 views
12

Đối với ứng dụng hiện tại của tôi, tôi sử dụng một lược đồ rất đơn giản để đăng ký người dùng mới. Khi người dùng mới đăng ký một email được gửi bằng một khóa. Để kiểm tra thời tiết, khóa này đúng là một loại kiểm tra được tính toán (kiểm tra chữ số 3-7-11) được thêm làm 2 chữ số cuối của khóa. Không có kiểm tra về bất kỳ giá trị nào khác của khóa. Ứng dụng không kiểm tra xem khóa đã bị vô hiệu hay chưa.Cách tạo khóa đăng ký người dùng trong Delphi?

Đó là một sơ đồ đơn giản và ai đó đã dành thời gian để giải mã bằng cách deassembling mã. Tôi muốn sử dụng một chương trình khác cho ứng dụng mới của tôi nhưng tôi không chắc chắn cách tốt nhất để làm điều này là gì.

  • Có thư viện Delphi nào tôi có thể sử dụng không?
  • Bạn có nên sử dụng một số thông tin do người dùng cung cấp trong khóa, chẳng hạn như tên của mình không?
  • Có cách nào tốt nhất để đăng ký người dùng không?
  • Bất kỳ điều gì khác mà tôi đã quên?

Một số sơ đồ đăng ký yêu cầu ứng dụng kiểm tra mỗi lần tại máy chủ web cho dù khóa vẫn hợp lệ. Tôi không muốn đi xa như vậy bởi vì điều này đòi hỏi rất nhiều nỗ lực ở phía máy chủ.

Bất kỳ đề xuất hoặc liên kết nào cho một cách mạnh mẽ để đăng ký người dùng mới đều được hoan nghênh.

+0

Bạn muốn làm gì? Đăng ký người dùng thật dễ dàng; chỉ cần lưu chúng vào cơ sở dữ liệu của bạn. Bạn có muốn có khóa cấp phép để sử dụng với phần mềm của mình không? ("kích hoạt" nó?) –

+4

Bất cứ điều gì bạn làm nó sẽ bị nứt. Câu hỏi đặt ra là, bạn lo lắng đến mức nào? –

+0

@David Bạn hoàn toàn đúng và điều đó khiến tôi bỏ lỡ tiền cho mỗi sản phẩm không được đăng ký. Đó là lý do tại sao tôi muốn có một số cách để bảo vệ. – Arnold

Trả lời

11

Một lược đồ đăng ký tốt hơn dựa trên mật mã không đối xứng (thường là thuật toán RSA). Ý tưởng là chỉ có bạn mới có thể tạo ra một khóa hợp lệ, trong khi mọi người có thể kiểm tra xem một khóa có hợp lệ hay không (mật mã không đối xứng cho phép thủ thuật này). Vì vậy, khi bạn nhìn thấy chương trình của bạn với một khóa hợp lệ trên torrents bạn chỉ cần hủy bỏ hỗ trợ cho một khách hàng đã được đưa ra chìa khóa này.

+0

Điều này nghe có vẻ thú vị. Bạn có liên kết đến thuật toán hay không? – Arnold

+2

+1 Bất kỳ ví dụ hoặc liên kết nào để sử dụng RSA cụ thể này? –

+0

Khách hàng có thể kiện và có cơ hội chiến thắng tốt! –

4

Delphi và thư viện không phải Delphi (tức là Protexis) có sẵn để bảo vệ phần mềm của bạn - hãy nhớ rằng hầu như mọi thứ hoạt động với C cũng có thể làm việc với Delphi. Nhưng một chương trình bảo vệ bản sao âm thanh có thể khó đạt được. Một khóa đơn giản có thể không hoạt động, thường nó được sử dụng cùng với một dấu vân tay máy để cho phép nó chỉ được sử dụng trên hệ thống đã cho.

Thuật toán tạo khóa tốt sẽ tạo ra các khóa không dễ dự đoán, nhưng có thể được kiểm tra nếu hợp lệ. Có những cái khác nhau xung quanh, không có một "chung chung", phụ thuộc vào nhu cầu của bạn, một số cũng có thể bao gồm những tính năng để kích hoạt hoặc hết hạn thông tin. Một số khóa có thể là chuỗi, các khóa khác có thể là toàn bộ các tệp giấy phép (như các khóa được sử dụng bởi chính Delphi). Dù sao mã có thể được tháo rời để cố gắng đoán thuật toán, một số kỹ thuật để làm xáo trộn nó và làm cho nó khó hiểu hơn có thể được sử dụng.

Ngoài ra, một kiểm tra khóa đơn giản là không đủ vì nó có thể dễ dàng bỏ qua vá bản thực thi. Nếu bạn thực sự cần bảo vệ bản sao, bạn nên phân tán tất cả các mã xung quanh mã, có thể mã hóa và sau đó giải mã dữ liệu hoặc phần mã bằng cách sử dụng khóa - nó sẽ không bảo vệ bạn chống lại keygen, dù sao và sẽ yêu cầu thay đổi mã nhiều hơn, nó không đơn giản khi gọi một hàm lúc khởi động.

Mức độ bảo vệ tùy thuộc vào bạn. Nếu bạn chỉ cần một cơ chế đăng ký đơn giản và bạn không bận tâm nhiều về phần mềm của bạn bị nứt, bạn có thể sử dụng một phần mềm đơn giản. Nếu bạn cần một cái an toàn hơn thì sẽ phức tạp hơn.

+0

Cảm ơn bạn đã liên kết. Tôi khá là kinh ngạc khi thấy ai đó đã gặp rắc rối khi tháo rời chương trình. Điều đó đã dạy tôi rằng nứt luôn luôn có thể, nhưng tôi có thể làm cho cuộc sống của họ trở nên khó khăn hơn một chút. Lời khuyên của bạn sẽ giúp ích. – Arnold

+0

Lưu ý rằng phần cứng vân tay sẽ làm phiền người dùng, và tạo ra nhiều cuộc gọi hỗ trợ/email/vé. Vì vậy, nó hấp dẫn hơn đối với các ứng dụng có giá trị cao, so với các ứng dụng chi phí thấp, trong đó lợi nhuận của bạn (mỗi lần bán) bị cắt giảm một nửa cho mỗi cuộc gọi hỗ trợ. –

+0

@Arnold, tôi đã từng tìm thấy một TUTORIAL bẻ khóa đã sử dụng ứng dụng của tôi làm mục tiêu. Các cracker là rất miễn phí của ứng dụng của tôi mặc dù, và mô tả cách nó rất hữu ích cho các hoạt động nứt của mình. –

4

Nếu mục tiêu của bạn là buộc mọi người tải xuống EXE bị nứt từ Internet thay vì trình tạo khóa từ Internet, thì mật mã không đối xứng là câu trả lời của bạn.

Nếu mục tiêu của bạn là có thể vô hiệu số sê-ri đã được phát hành tự nhiên, hạn chế số lần cài đặt hoặc buộc người dùng có số sê-ri "trả tiền" thực, thì kích hoạt là câu trả lời của bạn. Tuy nhiên, nếu họ phá vỡ EXE của bạn, họ có thể giải quyết vấn đề này.

Bạn chỉ có quyền kiểm soát đến mức ai đó làm hỏng EXE của bạn. Chúng ta phải chấp nhận điều này và tiếp tục. Chúng ta phải tìm ra các cách khác để tiếp cận khách hàng, chẳng hạn như các phiên bản giá cả phải chăng hơn, các tùy chọn hỗ trợ giá trị gia tăng, dịch vụ web và các cách khác thuyết phục người dùng rằng giá phần mềm của chúng tôi là hợp lý và có lợi ích trong việc thanh toán .

Trên bản phát hành mới nhất của tôi, tôi sử dụng kích hoạt, vì vậy các số sê-ri được tạo ngẫu nhiên, mặc dù được kiểm tra tính duy nhất và được liên kết với địa chỉ email.

Sau khi tất cả điều này, ứng dụng chỉ là $ 4,99, nhưng không có hỗ trợ cá nhân. Mục đích là để làm cho nó giá cả phải chăng đến mức nếu họ muốn sử dụng nó, thậm chí chỉ một lần, đó là một giá trị tốt.

+0

Đây là một cách tiếp cận hợp lý, tôi đã nghĩ đến một mức giá thấp hơn, mặc dù $ 20 không nhiều cho một ứng dụng phức tạp. Tôi đã sử dụng kích hoạt cho đến bây giờ, nhưng quyết định điều tra cho các lựa chọn thay thế, do đó câu hỏi này. Cảm ơn bạn đã cân nhắc. – Arnold

2

Chúng tôi đã sử dụng Oreans 'WinLicense trong hai năm và khá hài lòng với nó. Họ xử lý việc tạo khóa (với tên người dùng được nhúng), các phiên bản dùng thử mà time-out, các khóa phần cứng (trong đó khóa bạn gửi cho họ là duy nhất cho máy tính của họ) và phát hiện VM. Họ cũng sử dụng nhiều kỹ thuật khác để làm cho mã của bạn khó bị tháo rời hơn, bao gồm cả mã gói của sự lựa chọn của bạn trong một máy ảo được mã hóa mà họ cung cấp.

Bạn cũng có thể tắt các khóa cụ thể nếu bạn xác định rằng chúng bị "đánh cắp". Sau khi thực hiện việc này, các bản cập nhật trong tương lai bạn cung cấp sẽ không còn chạy với các khóa đó nữa.

Chúng tôi cũng có phần mềm "điện thoại nhà riêng" vào những thời điểm nhất định để xem liệu khóa của họ có bị đánh cắp hay không.

Bất kỳ chương trình bảo vệ nào cũng có thể bị phá vỡ bởi người được xác định và có tay nghề cao. Nhưng, chúng tôi đã hài lòng với mức độ bảo mật mà chúng tôi tin rằng WinLicense mang lại cho chúng tôi. Hỗ trợ của họ cũng là xuất sắc. Thư viện có thể gọi từ Delphi.

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