Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
DuongTrungHuy

Bản quyền VLX

Các bài được khuyến nghị

Chào các Bạn,

Mình có vấn đề này xin hỏi các Bạn

Mình có 1 phần mềm LSP và dich ra VLX

Mình muốn chương trình VLX đó chỉ chạy được trên máy mà mình đã định. Ví dụ nếu chạy trên máy 1 Mình phải viết thêm trong LSP 1 đoạn chương trình con để sao cho khi dịch ra VLX thì chương trình VLX đó sẽ chạy được trên máy 1. Như vậy nếu có 1 ai đó copy chương trình đó qua máy 2 thì sẽ không chạy được. Muốn chạy được trên máy 2 thì cũng phải sửa lại trên LSP rồi dịch ra VLX. Chắc các Bạn cũng hiểu khi cài đặt chỉ cài file VLX.

Mong các Bạn cho ý kiến và giải pháp!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamngoctukts    708
Chào các Bạn,

Mình có vấn đề này xin hỏi các Bạn

Mình có 1 phần mềm LSP và dich ra VLX

Mình muốn chương trình VLX đó chỉ chạy được trên máy mà mình đã định. Ví dụ nếu chạy trên máy 1 Mình phải viết thêm trong LSP 1 đoạn chương trình con để sao cho khi dịch ra VLX thì chương trình VLX đó sẽ chạy được trên máy 1. Như vậy nếu có 1 ai đó copy chương trình đó qua máy 2 thì sẽ không chạy được. Muốn chạy được trên máy 2 thì cũng phải sửa lại trên LSP rồi dịch ra VLX. Chắc các Bạn cũng hiểu khi cài đặt chỉ cài file VLX.

Mong các Bạn cho ý kiến và giải pháp!

Chào bác DuongTrungHuy!

Theo em thì có thể giải quyết bài toán của bác như sau:

1. Bác có thể dùng hàm getenv để lấy biến hệ thống nào đó mà chỉ có máy bác mới có rồi kiểm tra xem nếu đúng thì cho nó chạy lisp còn sai thì thôi.

2. Hoặc Bác có thể ghi vào registry một chuỗi string nào đó chỉ mình bác biết rồi kiểm tra xem nếu đúng thì chạy.

Nói chung là có nhiều cách nhưng cách này em hay dùng.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào bác DuongTrungHuy!

Theo em thì có thể giải quyết bài toán của bác như sau:

...

Cám ơn Bạn, quả là có nhiều cách, Mình chỉ muốn tìm cho có 1 cách tối ưu nhất đó. Cách bạn viết vào registry cũng là hay, Mình chưa áp dụng, nếu được Bạn có thể bày cho cách để Mình viết vào và đọc ra từ registry nhé!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phamngoctukts    708
Cám ơn Bạn, quả là có nhiều cách, Mình chỉ muốn tìm cho có 1 cách tối ưu nhất đó. Cách bạn viết vào registry cũng là hay, Mình chưa áp dụng, nếu được Bạn có thể bày cho cách để Mình viết vào và đọc ra từ registry nhé!

Bác tham khảo cái này trong help. Nếu có gì chưa hiểu thì bác post lên để mọi người giúp Bác.

(vl-registry-read reg-key [val-name])

Arguments

 

reg-key

 

A string specifying a Windows registry key.

 

val-name

 

A string containing the value of a registry entry.

 

If val-name is supplied and is not nil, the specified value will be read from the registry. If val-name is absent or nil,the function reads the specified key and all of its values.

 

Return Values

 

A string containing registry data, if successful; otherwise nil.

 

Examples

 

_$ (vl-registry-read "HKEY_CURRENT_USER\\Test")

nil

_$ (vl-registry-write "HKEY_CURRENT_USER\\Test" "" "test data")

"test data"

_$ (vl-registry-read "HKEY_CURRENT_USER\\Test")

"test data"

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nguyen Hoanh    4.524
Theo e nghĩ thì nên dùng HDD serial ^^

HDD

Nên dùng HDD serial kết hợp với registry

 

Lúc đăng ký

Get HDD Serial -> convert sang một số bí mật (bằng hàm 1 chiều) -> ghi vào registry

 

Lúc kiểm tra:

Get HDD Serial -> convert sang một số bí mật -> so sánh với số đã ghi vào registry

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tue_NV    3.841
Nên dùng HDD serial kết hợp với registry

 

Lúc đăng ký

Get HDD Serial -> convert sang một số bí mật (bằng hàm 1 chiều) -> ghi vào registry

 

Lúc kiểm tra:

Get HDD Serial -> convert sang một số bí mật -> so sánh với số đã ghi vào registry

Anh Hoành có thể nói rõ hơn một chút chổ này không?

Mỗi một ổ đĩa cứng có 1 số Serial khác nhau -> Rồi convert sang một số bí mật (bằng hàm 1 chiều) bằng cách nào ạ?

Thực sự là em chưa hiểu lắm.

Rất mong anh giải đáp.

Cảm ơn anh nhiều. :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.652

Nếu dùng VBA thì e thường lấy mã ổ cứng,chứ k phải serial của phân vùng ^^.

CÒn nếu dùng phân vùng thì theo e hầu hết máy nào cũng có ổ C,ta cứ check ổ C là đẹp rồi.

Ý bác Hoành theo e hiểu là làm 1 giải thuật encrypt nào đó thật khoai từ HDD serial để ra chuỗi kết quả (vid dụ trộn với 1 đoạn pass dài vài chục ký tự ^^) -> ghi vào Registry.CHuyển sang máy khác thì cũng làm tương tự và so sánh 2 chuỗi kết quả, chứ không cần tìm cách Decrypt nữa

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thaistreetz    515

Get HDD Serial -> convert sang một số bí mật (bằng hàm 1 chiều) -> ghi vào registry

theo em hiểu thì hàm 1 chiều mà bác Hoành nói ở đây là 1 hàm thay thế ký tự của 1 chuỗi. đây là cách mã hóa đơn giản nhất trong các thuật toán mã hóa. người viết code mã hóa có thể thay thế 1 ký tự hay "1 chuỗi ký tự có tính chất tương đồng bằng" 1 ký tự hoặc 1 chuỗi ký tự khác.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác tham khảo cái này trong help. Nếu có gì chưa hiểu thì bác post lên để mọi người giúp Bác.

Cám ơn Bạn phamngoctukts. Mình không ngờ Bạn trả lời ngay sau bài của Mình ít phút. Chờ mãi không thấy tưởng không ai hưởng ứng... Mình biết thêm được 1 kiểu.

 

Đặc biệt là kiểu HDD serial của ketxu!thấy nói là lúc trả về - I am receiving "142782703", but this is not the correct SerNum of HDD - Nhưng có lẽ không quan trọng gì cũng được miễn là mỗi máy có 1 số riêng là được. Mình cũng có 1 chương trình VBA đọc số đó nhưng kết hợp với LISP hơi khó khăn nên không ngon lắm. Cái này có vẻ ngon hơn.Cám ơn Bạn ketxu cung như Bạn Nguyen Hoanh. Theo Mình nghĩ chỉ cần số "142782703" đó là được, đúng thì chạy không thì nghỉ có phải không các Bạn nhỉ?

 

Nếu có ý gì hay các Bạn cứ tiếp tục nhé thấy dùng kiểu

(setq bbb (vlax-get-property (vlax-invoke (vlax-create-object "Scripting.FileSystemObject") 'Getdrive "c:") "SerialNumber" ))

là gọn nhất nhỉ...

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
VUVUZELA    98
Anh Hoành có thể nói rõ hơn một chút chổ này không?

Mỗi một ổ đĩa cứng có 1 số Serial khác nhau -> Rồi convert sang một số bí mật (bằng hàm 1 chiều) bằng cách nào ạ?

Thực sự là em chưa hiểu lắm.

Rất mong anh giải đáp.

Cảm ơn anh nhiều. :D

 

Cái này bạn có thể mặc định số serial trên qua kiểu string hoặc là số

Bạn có thể tham khảo bài viết này để hiểu thêm của bác tu

http://www.cadviet.com/forum/index.php?sho...mp;#entry111374

....

bạn tự hiểu nhé

hehe

dễ thôi mà

:D

Qua đây, tôi muốn hỏi 1 chút là Autolisp có đoạn mã nào đọc số liệu của RAm bao nhiêu GHZ, mainboard ... hay không?

Và cách nào chống GHOST hiệu quả nhất (vì tôi bị trường hợp này nhiều rrồi ==> đau cái điền)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
VUVUZELA    98

Ai biết chỉ giùm với

Ti muốn hỏi 1 chút là Autolisp có đoạn mã nào đọc số liệu của RAm bao nhiêu GHZ, tên mainboard là Intel jj đấy ... (như cái thằng CPU-Z – Kiểm tra thông tin chipset) hay không?

Và cách nào chống GHOST hiệu quả nhất (vì tôi bị trường hợp này nhiều rrồi ==> đau cái điền)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
Ai biết chỉ giùm với

..........

Và cách nào chống GHOST hiệu quả nhất (vì tôi bị trường hợp này nhiều rrồi ==> đau cái điền)

Hi VUVUZELA!

Cách chống GHOST hiệu quả nhất là : đặt thùng máy trong ... két sắt. :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
VUVUZELA    98
Hi VUVUZELA!

Cách chống GHOST hiệu quả nhất là : đặt thùng máy trong ... két sắt. :D

 

hehe

bác giabach này tếu thật nhưng theo tôi thì có 2 cách chống GHOST :

1. Chính quy : Mua khoá cứng dạng USB như thằng Nova, HS có khoá mới chạy được chương trình thì GHOST thua (nhưng thua thằng HACKER)

2. Giang hồ tý : Đem mấy thằng IT nào dạng HACKER xử bắn hết như bác giabach bày ở trên : :D HACKER nè ==> :s_big:

:D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.652
Ai biết chỉ giùm với

Ti muốn hỏi 1 chút là Autolisp có đoạn mã nào đọc số liệu của RAm bao nhiêu GHZ, tên mainboard là Intel jj đấy ... (như cái thằng CPU-Z – Kiểm tra thông tin chipset) hay không?

Và cách nào chống GHOST hiệu quả nhất (vì tôi bị trường hợp này nhiều rrồi ==> đau cái điền)

 

Đọc số liệu trực tiếp thì e chưa biết,n theo e bác có thể nhẹ nhàng lấy thông tin từ Registry về

Ví dụ của Vista máy em là trong

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor]

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\1]

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\ControlSet001]

Cũng không hay vì a e hay vọc vào đổi đi nhưng tạm thời thì cứ thế, rồi nghiên cứu cách khác sau bác ạ

 

.Chống ghost hiệu quả nhất là không bao giờ cắm máy :">

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
hehe

bác giabach này tếu thật nhưng theo tôi thì có 2 cách chống GHOST :

1. Chính quy : Mua khoá cứng dạng USB như thằng Nova, HS có khoá mới chạy được chương trình thì GHOST thua (nhưng thua thằng HACKER)

2. Giang hồ tý : Đem mấy thằng IT nào dạng HACKER xử bắn hết như bác giabach bày ở trên : :D HACKER nè ==> :D

:s_big:

Có sự nhầm lẫn ở đây.

Tui chỉ nghĩ đơn giản cách chống GHOST là "cách chống GHOST".

Nhưng với VUVUZELA cách chống GHOST là "cách chống GHOST" sao cho không bẻ khóa đuợc.

 

Vấn đề của bạn là cách tạo khóa(KEY).

Nếu bạn lấy Serial Number của HDD, MainBoard hay CPU thì GHOST làm sao bẻ khóa đuợc.

(Vì Serial Number của mỗi thiết bị là duy nhất)

 

If (Get_Serial_Number = ****)

Run AutoLisp

Then

Exit.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.652

Em cũng tưởng bác ý hỏi chống Ghost là không cho Ghost lại ổ cứng, hóa ra là chống Crack hả bác ^^.Vậy ngoài tạo key,khóa cứng ra thì cách chống tốt nhất là không cop cho ai hết >:D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
hdt4151    1

Vấn đề này cũng hay, nhưng có vẻ ngược với tiêu chí của forum (free share) ^^'

 

@gia_bach: bạn thử viết 1 chương trình đơn giản cho mình tham khảo với : lấy serial của HDD (dùng được với Xp, Vista..) mà chưa cần mã hóa số serial đó (cái này mỗi người sẽ có 1 cách riêng khác nhau)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
VUVUZELA    98

Vâng, đúng ý tôi rồi đó ==> chống Crack

Tại tôi có đợt trước cài phần mềm cho 1 máy ở 1 công ty

nhưng do công ty mới nên mua 5 máy cấu hình như nhau (main,ổ cứng, ram ...) ==> mình cài 1 máy ==> nó GHOST xài chùa 5 máy

:D

pó tay.com

Bởi vậy ý tui muốn hỏi các bác là có đặc điểm nào khác không để chống CRACK hiệu quả nhất í mà

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thaistreetz    515
Có sự nhầm lẫn ở đây.

Tui chỉ nghĩ đơn giản cách chống GHOST là "cách chống GHOST".

Nhưng với VUVUZELA cách chống GHOST là "cách chống GHOST" sao cho không bẻ khóa đuợc.

 

Vấn đề của bạn là cách tạo khóa(KEY).

Nếu bạn lấy Serial Number của HDD, MainBoard hay CPU thì GHOST làm sao bẻ khóa đuợc.

(Vì Serial Number của mỗi thiết bị là duy nhất)

 

If (Get_Serial_Number = ****)

Run AutoLisp

Then

Exit.

có lẽ là vuvuzela cung cấp phần mềm cho ai đó dùng thử nhưng giới hạn số lần sử dụng thì mới cần bày trò này bác ợ. còn cách của bác thì chỉ có tác dụng xác định chính xác 1 người dùng duy nhất được phép sử dụng chương trình.

@Vuvuzela: bạn có nói fét không vậy? các máy cấu hình có giống nhau đi nữa thì các số Serial Number của HDD, MainBoard hay CPU hoàn toàn khác nhau. trừ khi cty bạn xài hàng Tung Của (kể cả trong trường hợp này mình cũng chưa gặp trường hợp trùng nhau)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.652
Vấn đề này cũng hay, nhưng có vẻ ngược với tiêu chí của forum (free share) ^^'Vi

 

@gia_bach: bạn thử viết 1 chương trình đơn giản cho mình tham khảo với : lấy serial của HDD (dùng được với Xp, Vista..) mà chưa cần mã hóa số serial đó (cái này mỗi người sẽ có 1 cách riêng khác nhau)

Mới chỉ bên trên mấy dòng đã có rồi mà bạn ??

Ví dụ ngay của chủ 2pic này

(setq [b]bbb[/b] (vlax-get-property (vlax-invoke (vlax-create-object 
"Scripting.FileSystemObject") 'Getdrive "c:") "SerialNumber" ))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
VUVUZELA    98
có lẽ là vuvuzela cung cấp phần mềm cho ai đó dùng thử nhưng giới hạn số lần sử dụng thì mới cần bày trò này bác ợ. còn cách của bác thì chỉ có tác dụng xác định chính xác 1 người dùng duy nhất được phép sử dụng chương trình.

@Vuvuzela: bạn có nói fét không vậy? các máy cấu hình có giống nhau đi nữa thì các số Serial Number của HDD, MainBoard hay CPU hoàn toàn khác nhau. trừ khi cty bạn xài hàng Tung Của (kể cả trong trường hợp này mình cũng chưa gặp trường hợp trùng nhau)

 

Nói phét làm gì bạn

Mà tôi đảm bảo đối với nghề thiết kế hạ tầng thì tôi có nhiều phần mềm nhất

Bữa nào sẽ có liveshow thứ 2 (FULL) đấy bạn ạ

Chờ xem nhé

:D

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nên dùng HDD serial kết hợp với registry

Như vậy là vẫn chưa được các Bạn à. Các chỉ vẻ của các Bạn chỉ mới đưa Mình tìm được số serial của ổ cứng C,D,E thôi mà những số này hình như sẽ thay đổi theo sự phân vùng của máy khi format ổ cứng của máy đó v.v... Giá mà tìm được HDD serial của thiết bị (bằng LISP) thì mới oai các Bạn nhỉ....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Thaistreetz    515
Nói phét làm gì bạn

Mà tôi đảm bảo đối với nghề thiết kế hạ tầng thì tôi có nhiều phần mềm nhất

Thiệt hả? Nghe thèm quá! Anh VUVUZELA đẹp giai, ga lăng, hào phóng, bóng loáng có phần mềm gì hay post cho bọn em xin đi 38.gif

Bữa nào sẽ có liveshow thứ 2 (FULL) đấy bạn ạ. Chờ xem nhé

Hề hề hề. vâng, anh em cũng hi vọng Liveshow thứ 2 sẽ hoành tráng lung linh lộng lẫy hơn liveshow 1. chứ em nói thật bác đừng bùn. liveshow 1 của bác dở ẹc ah.tụi em chả thấy gì để mót cả. với lại giờ tụi em hông có dùng HS để san nền nữa rùi bác ợ :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.652
Như vậy là vẫn chưa được các Bạn à. Các chỉ vẻ của các Bạn chỉ mới đưa Mình tìm được số serial của ổ cứng C,D,E thôi mà những số này hình như sẽ thay đổi theo sự phân vùng của máy khi format ổ cứng của máy đó v.v... Giá mà tìm được HDD serial của thiết bị (bằng LISP) thì mới oai các Bạn nhỉ....

Cũng có gì nà oai đâu bác.Việc làm key là công việc thầm lặng mà ^^

Bác thử nghiên cứu qua ví dụ này xem sao nhé


 (defun getHDD (/   where Dowhat ModelObject  SerialObject  Model Serial)
 (setq where (vlax-create-object "WbemScripting.SWbemLocator"))
 (setq   Dowhat
   (vlax-invoke
     where 'ConnectServer nil nil nil nil nil nil nil nil)
  )
 (setq   ModelObject (vlax-invoke
        Dowhat
        'ExecQuery
        "Select * from Win32_DiskDrive"
           )
  SerialObject (vlax-invoke
        Dowhat
        'ExecQuery
        "Select * from Win32_PhysicalMedia"
           )
 )
 (vlax-for Obj   ModelObject
   (setq Model (cons (vlax-get Obj 'Model) Model))
 )
 (vlax-for Obj   SerialObject
   (setq Serial (cons (vlax-get Obj 'SerialNumber) Serial))
 )
 (setq 
Model (vl-remove nil Model);1 
Serial (vl-remove nil Serial) ;2  
)   
)
(defun c:test()
(gethdd)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×