2009-02-10 2 views
8

Tôi đang phát triển một ứng dụng cửa sổ nhỏ bằng C++ và tôi muốn lấy một số dấu vân tay của phần mềm/phần cứng trên máy tính để tôi có thể cho phép ứng dụng chỉ chạy trên một số máy tính nhất định.Cách nhận chữ ký phần cứng/phần mềm độc đáo từ máy tính windows c/C++

Tôi biết rằng ứng dụng có thể bị bẻ khóa nhưng tôi thực sự quan tâm đến việc triển khai một cái gì đó như thế này.
Bất kỳ ý tưởng nào tôi có thể đạt được điều này?

+0

Lưu ý: thêm thẻ bảo vệ bản sao – newgre

Trả lời

10

Về cơ bản, điều này phụ thuộc vào mức độ bạn muốn ghép nối phần mềm của mình với phần cứng cơ bản. Ví dụ bạn có thể nhận được một số thông tin phần cứng từ sổ đăng ký, đọc địa chỉ MAC từ thẻ LAN, truy xuất nhà sản xuất gfx, id CPU, v.v. và băm tất cả các dữ liệu này.
Sau đó, bạn có thể sử dụng mã băm này làm mã số challenge được gửi đến công ty của bạn. Khách hàng sau đó nhận được phiên bản đã ký (với khóa riêng của bạn) của băm này.
Khi khởi động ứng dụng của bạn có thể kiểm tra xem chữ ký của băm có tốt hay xấu (tức là đã được công ty của bạn ký).
Điều này không chỉ liên kết phần mềm của bạn với cấu hình phần cứng nhất định mà còn buộc các trình gỡ rối vá ứng dụng của bạn (vì chúng sẽ cần vá khóa công khai từ tệp thực thi của bạn và thay thế nó để viết keygen). Nhiều người xem xét hai lần cài đặt một crack thu được từ các nguồn khác nhau trái ngược với chỉ cần nhập một nối tiếp hợp lệ sao chép từ một keygen.

Edit:
Để kiểm tra chữ ký của băm, bất cứ điều gì từ RSA qua DSA-ECC có thể được sử dụng. Tôi có thể đề xuất Crypto++ hoặc libTomCrypt cho điều đó.

0

Không có cách nào đáng tin cậy để làm điều này trong máy tính vani; mọi người đã cố gắng trong nhiều năm. Vấn đề là bạn có thể thay đổi bất kỳ thành phần nào vào bất kỳ lúc nào, bao gồm CPU và ROM BIOS. Những người gần nhất đã đến là sử dụng một bảo vệ mã hóa "dongle" nhưng điều đó đã chứng minh cả hai không đạt yêu cầu trong hoạt động, và không phải là rất an toàn.

Nếu bạn nghĩ ra điều gì đó, hãy sáng chế nó; nó sẽ rất có giá trị.

0

Như những người khác đã nói không có gì hoàn hảo cho những gì bạn muốn. Tôi đã thực hiện một nỗ lực nửa vời cho một vấn đề tương tự và kết thúc với một kết hợp của ổ đĩa ID (không tốt vì nó có thể được định dạng lại) và phím hệ điều hành (từ cửa sổ).

Cuối cùng tôi đã không dành nhiều thời gian vào nó như thể mọi người thực sự muốn crack phần mềm của bạn, họ có lẽ sẽ có thể làm điều đó. Tôi để lại giấy phép "bảo vệ" dinky, nhưng nó khá nghèo.

Dành thời gian/công sức để họ muốn mua nó bằng cách làm nổi bật.