Hỏi cách kiểm tra key bản quyền online của app C#

Em có một app sử dụng DB chỉ ở local , phân phối cho khách hàng, em có nghe mọi người bảo là check bản quyền online, nhưng em còn non nên không biết chính xác là làm như nào, em đang làm bằng cách dùng HttpRequest một trang web của em, web này có các kí hiệu mà em đặt ra, em đang sợ là các c,r,a,k,er có thể sửa được đường dẫn mà em request không, hay nên dùng cách này, hay thuê một hosting chứa databse để làm ạ

Vấn đề không phải là online hay offline. Mà vấn đề làm sao bạn che giấu công tắc đóng/mở giữa bản trial và bản premium như thế nào cho phức tạp để cr@cker có thể nản lòng trước khi cr@ck được phần mềm của bạn.

Dễ nghĩ như thế này, nếu bạn kiểm tra license online, xong gửi về tín hiệu ~OK~ -> active bản premium. Thì khi đó cr@cker đơn giản chỉ cần làm một cái server ảo nhỏ, redirect mọi request của bạn về server đó và gửi về tín hiệu ~OK~ là coi như cr@ck được.

5 Likes

nếu c.racker tìm được đoạn check license rồi thì chỉ cần để response là OK luôn chứ đâu cần phải tạo server ảo nữa làm gì cho tốn kém :v

ko hiểu sao comment chứa nội dung drg.n ( ko có dấu . ) lại báo lỗi nhỉ ?

5 Likes

Mod test filter của daynhauhoc đó mà.

3 Likes

Bạn cần làm rối mã.
C# không làm rối mã thì dịch ngược lại chắc 1 phút 30s đọc được hết.

7 Likes

kiểu làm trái ngược với clean code hả bác, hay là đặt if else bên đông 1 chỗ bên tây 1 chỗ bác

Tiện cho mình hỏi, mình có tìm hiểu rất nhiều tool và thử, nhưng tool nào làm rối xong cũng bị dịch lại được. Mình không biết làm sai ở đâu không.
B1: Mình code app xong lấy ra file build trong debug
B2: Mang nó đi làm rối bằng 1 số công cụ tìm được trên google.
B3: Mang app đã làm rối đi decomplie bằng 1 số công cụ cũng trên google luôn, kết quả code mình hiện hình y nguyên.
Mình xin bổ sung tên các công cụ sau vì nó ở máy ở nhà mà mình lại không nhớ tên,

3 Likes

Đó không phải là làm rối mã, làm kiểu trên chỉ phản tác dụng thôi. Làm thế vừa tốn thời gian, vừa khó sửa code, bảo trì,…nhưng khi decompile lại vẫn đọc được bình thường, chỉ hơi khó hiểu thôi. Rối mã (obfuscation) thực chất là làm cho code trở nên khó đọc, khó hiểu (hơn nhiều so với cách trên) đối với con người nhưng máy vẫn có thể hiểu và code vẫn có thể chạy được, ngoài ra cách này còn làm giảm dung lượng code, làm cho code chạy nhanh hơn và cả tránh phần mềm diệt virus nữa. Tuy nhiên, dù có dùng cách nào thì nếu gặp mấy thánh reverse engineering thì chịu thua thôi.

3 Likes

Trong Visual Studio có sẵn cái này Dotfuscator, dùng để “làm rối” source code trước khi biên dịch,

Bình thường: source của bạn --> msbuild --> file exe

Áp vào: source của bạn --> dotfuscator -> source build được nhưng không đọc được bởi người --> msbuild -> file exe

cái này để chống h.ker & c.ker đọc được mã nguồn và c.rk phần mềm của bạn.

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