Hỏi về cách tạo một chương trình dùng thử

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

Post Reply
noreturnat
Thành viên chính thức
Thành viên chính thức
Posts: 30
Joined: Fri 09/01/2009 7:20 am
Has thanked: 10 times

Hỏi về cách tạo một chương trình dùng thử

Post by noreturnat »

Thân chào cả nhà!
Cả nhà cho mình hỏi là mình dùng cách gì để giới hạn thời gian sử dụng cho một chương trình, ví dụ như mình muốn người ta chỉ được sử dụng chương trình của mình trong thời gian là 15 ngày, quá 15 ngày thì người ta không thể sử dụng được nữa.
Cảm ơn mọi người!
User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by nhochoclaptrinh »

Mình nghĩ:
Bạn viết một phần mềm nhỏ về quản lý người dùng.
Khi phần mềm chạy lần đầu tiên bạn dùng hàm để lấy ngày tháng năm sử dụng, IP-network gửi mail về cho bạn, rồi nhập vào cái soft trên, khi thấy hết hạn nó gửi cái log đến máy sử dụng không cho dùng nữa, Để phòng người dùng tháo gỡ rồi cài lại cần IP để soft xác định xem có phải máy đó đã cài chưa, và dùng đến đâu rồi ?
Lam Tieu Tuong
Thành viên tích cực
Thành viên tích cực
Posts: 195
Joined: Sun 30/03/2008 8:46 pm
Been thanked: 18 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by Lam Tieu Tuong »

Trong cái bộ setup của Visual Studio có phần tạo key trong registry. Bạn có thể thiết lập một bộ cài đặt cho chương trình. Khi cài đặt thì tạo ra một key đặt trong registry xác định thời gian cài đặt. Đồng thời trong chương trình có bạn có function check cái thời gian lưu trong cái key của registry, nếu thời gian đạt yêu cầu thì cho chương trình chạy.
noreturnat
Thành viên chính thức
Thành viên chính thức
Posts: 30
Joined: Fri 09/01/2009 7:20 am
Has thanked: 10 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by noreturnat »

nhochoclaptrinh wrote:Mình nghĩ:
Bạn viết một phần mềm nhỏ về quản lý người dùng.
Khi phần mềm chạy lần đầu tiên bạn dùng hàm để lấy ngày tháng năm sử dụng, IP-network gửi mail về cho bạn, rồi nhập vào cái soft trên, khi thấy hết hạn nó gửi cái log đến máy sử dụng không cho dùng nữa, Để phòng người dùng tháo gỡ rồi cài lại cần IP để soft xác định xem có phải máy đó đã cài chưa, và dùng đến đâu rồi ?
Dùng cái này lỡ người dùng không có sử dụng internet là thua :(. Mà nhochoclaptrinh đã làm kiểu này bao giờ chưa? có thể gửi cho mình tham khao được không? Thanks
noreturnat
Thành viên chính thức
Thành viên chính thức
Posts: 30
Joined: Fri 09/01/2009 7:20 am
Has thanked: 10 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by noreturnat »

Lam Tieu Tuong wrote:Trong cái bộ setup của Visual Studio có phần tạo key trong registry. Bạn có thể thiết lập một bộ cài đặt cho chương trình. Khi cài đặt thì tạo ra một key đặt trong registry xác định thời gian cài đặt. Đồng thời trong chương trình có bạn có function check cái thời gian lưu trong cái key của registry, nếu thời gian đạt yêu cầu thì cho chương trình chạy.
Mình cũng tính tạo key trong registry nhưng sợ người ta vào trong registry sửa lại. mình đang tính mã hóa rồi lưu lại vào đó không biết thế có ổn không? Bạn cho mình ý kiến với nha :). Thanks
User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by nhochoclaptrinh »

Ghi ngày trong registry không ổn, một là người dùng vào sửa lại, hai là họ thay đổi thời gian ở ngoài hệ thống, ba là sau khi cài lại HĐH thì họ hoàn toàn có thể dùng lại soft của mình. Vì vậy để đảm bảo, cần một bên thứ ba nắm giữ khóa sử dụng.
Còn về máy sử dụng offline thì không cần quản lý ngày, bạn dùng số lần thử xem, cho người ta dùng 150 lần, 10 lần một ngày.
Dự án quản lý qua online thì mình mới có ý tưởng thế thôi chứ source chưa có, để viết thử xem sao... :D :D :D :-?
User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by vo_minhdat2007 »

Còn 1 cách nữa là ghi thẳng vào file exe (ghi vào các byte cuối của chương trình sẽ không ảnh hưởng file). Như vậy thì người dùng bình thường chắc chắn không làm gì được, chỉ có cracker thôi.
Lam Tieu Tuong
Thành viên tích cực
Thành viên tích cực
Posts: 195
Joined: Sun 30/03/2008 8:46 pm
Been thanked: 18 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by Lam Tieu Tuong »

Bạn ghi chỗ nào hiểm hiểm người ta mò thế nào được. Lúc uninstall thì đừng có remove cái key đó đi là xong. Nói chung các công ty lớn người ta đã bỏ bao nhiêu công sức ra để nghiên cứu cái này mà không ăn thua rồi. Bạn chỉ nên xác định là ngăn người được người dùng không rành thôi. Còn nếu muốn crack thì kể cả gửi mail cũng không ăn thua. Nó nhảy thẳng vào cái lệnh if ... then trong chương trình của bạn mà sửa ấy chứ. Đấy là chưa kể cài một chương trình ko liên quan gì đến internet mà bắt nó mở cổng firewall ra cho send một message vào mạng thì chẳng phải người dùng nào cũng đồng ý.
User avatar
bangnhatquang68
Guru
Guru
Posts: 791
Joined: Tue 26/01/2010 12:44 pm
Location: Vĩ tuyến 17
Has thanked: 20 times
Been thanked: 38 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by bangnhatquang68 »

ghi vào file txt ( đem mã hóa nhiều vòng lại)
- lâý time sư dụng lần đâù ghi vô file
- môĩ lần khơ động thì lâý thơis gian hệ thông trừ đi time lúc đầu ( 15 hay 30 ngÀY gì đó)
nÊú nhỏ hơn thì run, lơn hơn thì ẽxit
Mời anh em lên facebook giao lưu nào!
http://www.facebook.com/groups/145823032176611/
User avatar
lipton150786
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 345
Joined: Thu 18/11/2010 10:00 pm
Has thanked: 5 times
Been thanked: 30 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by lipton150786 »

Đồng ý với bạn bangnhatquang68 là ghi time vào fiel text và lưu vào c:/window nếu muốn nử thì ghi vào tận system32 luôn với tên gí đó mà không liên quan tới chương trình .
Mỗi khi chạy CT thì kiểm tra trong c:/Wimdow có tồn tại file đó ko? nếu có thì ghi thời gian chạy vào nếu ko thì tạo mới.
trong file txt bạn lưu 3 thông số: Time chạy lần đầu(A), Time chạy lần gần nhất(B), Số ngày(C).
mỗi khi chạy thì lấy ngày giờ hệ thống so sánh với ngày chạy B.

Thông thường thì người ta chỉ chỉnh ngày thôi chứ hiếm khi chỉnh giờ lắm.
cách này tuy không triệt để lắm nhưng hiệu quả chắc cũng trên 60% à nhen.
(file nay la file txt nen hệ thống sẽ không chặn được với lại dung lượng quá nhỏ chưa tới 1Kb và khi nào active thì xoa ko thì để luôn..
Không ai biết trong window lại có file của mình tạo trừ khi người đó quá rảnh ghi lại tên của all flieco1 trong window)

chúc thành công
User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by vo_minhdat2007 »

Bạn có quyền ghi vào C:/Windows hay không mới quan trọng? Windows cho phép bạn ghi vào thư mục UserData, hãy ghi vào đó.
Lam Tieu Tuong
Thành viên tích cực
Thành viên tích cực
Posts: 195
Joined: Sun 30/03/2008 8:46 pm
Been thanked: 18 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by Lam Tieu Tuong »

Người ta đã sinh ra cái registry để cho mấy cái tác vụ kiểu như thế này rồi mấy ông còn file text tiếc làm gì cho nó mệt.
kembong
Thành viên chính thức
Thành viên chính thức
Posts: 15
Joined: Sat 11/07/2009 9:30 am

Re: Hỏi về cách tạo một chương trình dùng thử

Post by kembong »

lipton150786 wrote:Đồng ý với bạn bangnhatquang68 là ghi time vào fiel text và lưu vào c:/window nếu muốn nử thì ghi vào tận system32 luôn với tên gí đó mà không liên quan tới chương trình .
Mỗi khi chạy CT thì kiểm tra trong c:/Wimdow có tồn tại file đó ko? nếu có thì ghi thời gian chạy vào nếu ko thì tạo mới.
trong file txt bạn lưu 3 thông số: Time chạy lần đầu(A), Time chạy lần gần nhất(B), Số ngày(C).
mỗi khi chạy thì lấy ngày giờ hệ thống so sánh với ngày chạy B.

Thông thường thì người ta chỉ chỉnh ngày thôi chứ hiếm khi chỉnh giờ lắm.
cách này tuy không triệt để lắm nhưng hiệu quả chắc cũng trên 60% à nhen.
(file nay la file txt nen hệ thống sẽ không chặn được với lại dung lượng quá nhỏ chưa tới 1Kb và khi nào active thì xoa ko thì để luôn..
Không ai biết trong window lại có file của mình tạo trừ khi người đó quá rảnh ghi lại tên của all flieco1 trong window)

chúc thành công
Các bác ơi nếu ổ C hắn đóng Deep thì sao? Cứ ghi rồi nó lại xóa đi thì đến khi nào mới hết hạn. Còn nếu ghi vào Registry thì người dùng có thể backup Registry ra và sau đó sẽ Reg lại thì cũng như mới :) ????
User avatar
vietteiv
Quản trị
Quản trị
Posts: 1325
Joined: Sat 10/02/2007 12:17 am
Location: Cung cấp giải pháp quản lý doanh nghiệp, dự án, tư vấn xây dựng
Has thanked: 6 times
Been thanked: 70 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by vietteiv »

thằng nào mà rãnh như thế thì bạn build tặng nó một bản dùng chính thức lun đi
User avatar
lipton150786
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 345
Joined: Thu 18/11/2010 10:00 pm
Has thanked: 5 times
Been thanked: 30 times

Re: Hỏi về cách tạo một chương trình dùng thử

Post by lipton150786 »

vietteiv nói rất hay.mình thấy ghi vào registry thì cũng đươc mà ghi ra file text thì cũng được. Còn nếu chặn triệt để thì rất khó. chỉ có thể tương đối thôi.
Hãng bảo mật lớn cở Kaspersky còn chào thua nữa mà.

hihi
Ghi ra file text thôi rồi giấu nó ở đâu đó mà người dùng khó phát hiện ấy.
User avatar
nhutwarn1998
Thành viên năng nổ
Thành viên năng nổ
Posts: 87
Joined: Wed 09/02/2011 9:48 pm
Has thanked: 1 time

Re: Hỏi về cách tạo một chương trình dùng thử

Post by nhutwarn1998 »

thế thì kết hợp cả 2 không được sao? Mình tạo file txt giấu ở nhiều nơi trong hệ thống, đập đy đâu cho hết chúng trừ khi gặp đóng băng. Chỉ còn cách là bắt buộc chương trình phải cài vào ổ C:\ (để ng` ta tháo băng ra ^^). Còn ghi vào đăng kí thì .... cũng đc nhưng mà dễ bị crack.
hahuuhai
Thành viên năng nổ
Thành viên năng nổ
Posts: 61
Joined: Mon 13/04/2009 8:38 am
Location: Thạch Thành, Thanh Hóa

Re: Hỏi về cách tạo một chương trình dùng thử

Post by hahuuhai »

vietteiv wrote:thằng nào mà rãnh như thế thì bạn build tặng nó một bản dùng chính thức lun đi
Đang chăm chú theo dõi thì gặp phát ngôn hay quá, mất cả tập trung luôn! =D> =))
Nhưng bác gõ sai chỉnh tả đấy nhé!
Và nếu người dùng nào đi thử cách đó thì cũng không hề có lợi cho họ, vì trong registry, thường ta lưu luôn thư mục cài đặt và có thể là một số tham chiếu nào đó. Nếu mất những thông tin này thì chương trình sẽ (và phải) báo lỗi ngay.

Mình ủng hộ giải pháp ghi vào registry.
Nếu mình ghi vào một nhánh bí mật nào đó ở tầng thứ 10 và đặt tên có vẻ hệ thống một chút (ví dụ: SysTime) thì chả thằng nào rảnh mà đi mò được đâu.
Mà registry thì cũng có lúc bị khóa luôn quyền ghi (Windows có chức năng này). Khi đó, thoát hẳn và không cài gì nữa.
Còn để đạt 100% bảo mật thì không thể có được. Các phần mềm lớn bây giờ nó cũng chẳng thiết chặn người ta cài lại Win rồi dùng tiếp đâu...
Riêng với các phần mềm quản lý, có thể "khóa" bằng cách giới hạn bản ghi trong CSDL: đếm nếu đủ rồi thì đừng cho vào nữa, thế thôi. Cách này mình học được từ người khác thôi chứ chẳng phải là sáng kiến gì... :P

Trên đây là một vài ý kiến nho nhỏ, xin góp vui với diễn đàn...
User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by vo_minhdat2007 »

Đúng vậy, hiện giờ người ta toàn hạn chế tính năng, chẳng ai đi hạn chế thời gian/số lần sử dụng làm gì cả!
User avatar
dazzlingvit
Guru
Guru
Posts: 960
Joined: Tue 18/01/2011 10:21 am
Location: Sinh ra từ hư vô, sống trong thế giới ảo...
Has thanked: 7 times
Been thanked: 112 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by dazzlingvit »

Nếu hạn chế tính năng thì tốt nhất là sử dụng linh hoạt các dẫn biên dịch (#define, #ifdef...)
User avatar
vo_minhdat2007
Quản trị
Quản trị
Posts: 2227
Joined: Sun 17/07/2005 1:40 am
Has thanked: 13 times
Been thanked: 87 times
Contact:

Re: Hỏi về cách tạo một chương trình dùng thử

Post by vo_minhdat2007 »

Đúng vậy :D Dùng chúng sẽ giúp trail soft nhẹ và không bị crack (do phần If sai sẽ không được biên dịch ngay từ khi compile).
Post Reply

Return to “Visual Basic .NET và C# (VB.NET & C#)”