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.
ntluyen

Khóa file DWG bằng VBA

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

Detailing    278

Bác đúng là cao thủ.

(chắc để check xem mình có mở dc ko hay lấy cái cũ uip lên :D ) ~ không phải là thử bác đâu. Là vì có cái file có sẵn, thêm vào cái ngày giờ để biết.

Mình sẽ check luôn cái ribon!

Thank!

Mình không dám nhận là cao thủ đâu :D

tuy nhiên mở khoá của bác thì cũng phải gửi lại để bác thử sức chứ nhỉ

Mời bạn thử file này. http://www.cadviet.c...xdwg_locked.dwg

 

Lưu ý:

Mình chỉ khoá 1 trường hợp duy nhất là các lệnh mhập vào command thôi, các trường hợp copy vào clipboard, shortcut key, ... mình ko xét tới. cái quan trọng ở đây là mình muốn nói về vấn đề giấu code VBA

Bạn chỉ cần làm sao xem dc Code VBA là dc

Good luck!

  • 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
phamngoctukts    708

Mình không dám nhận là cao thủ đâu :D

tuy nhiên mở khoá của bác thì cũng phải gửi lại để bác thử sức chứ nhỉ

Mời bạn thử file này. http://www.cadviet.c...xdwg_locked.dwg

 

Lưu ý:

Mình chỉ khoá 1 trường hợp duy nhất là các lệnh mhập vào command thôi, các trường hợp copy vào clipboard, shortcut key, ... mình ko xét tới. cái quan trọng ở đây là mình muốn nói về vấn đề giấu code VBA

Bạn chỉ cần làm sao xem dc Code VBA là dc

Good luck!

Có phải Bác nói đến cái này

 

Option Explicit

 

Private Sub AcadDocument_Activate()

Dim pt(2) As Double

 

pt(0) = 0: pt(1) = 0: pt(2) = 0

ThisDrawing.ModelSpace.AddText "This Dwg was Locked", pt, 10

End Sub

 

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)

Dim arr(4) As String

Dim CMD As String

Dim i As Integer

Dim isAllow As Boolean

 

arr(0) = "ZOOM"

arr(1) = "PAN"

arr(2) = "CLOSE"

arr(3) = "QUIT"

arr(4) = "PLOT"

 

CMD = UCase(CommandName)

isAllow = False

For i = 0 To UBound(arr)

If InStr(1, arr(i), CMD) Then

isAllow = True

Exit For

End If

Next

 

If Not isAllow Then SendKeys ("{ESC}")

End Sub

  • 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
ntluyen    19

Mình không dám nhận là cao thủ đâu :D

tuy nhiên mở khoá của bác thì cũng phải gửi lại để bác thử sức chứ nhỉ

Mời bạn thử file này. http://www.cadviet.c...xdwg_locked.dwg

 

Lưu ý:

Mình chỉ khoá 1 trường hợp duy nhất là các lệnh mhập vào command thôi, các trường hợp copy vào clipboard, shortcut key, ... mình ko xét tới. cái quan trọng ở đây là mình muốn nói về vấn đề giấu code VBA

Bạn chỉ cần làm sao xem dc Code VBA là dc

Good luck!

gủi lại bác.

Em cung mày mò mãi với ra

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

Mở pass dễ thế này thì nhà em không làm khóa nữa đâu!!!!! :(

Mình thấy khóa của bạn khá hoàn hảo rồi đấy, cố thêm chút nữa là ngon.

Khóa là chỉ để chống người ngay thôi, còn "kẻ gian" thì khó lắm vì đã là khóa thì ắt là phải có chìa để mở. Khóa như kiểu của bạn là cũng đủ "Khoai" lắm rồi và không phải ai cũng mở được. Mong bạn đừng nản chí.

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
ntluyen    19

Nói thật, mấy cái phá pass VBA này mình đã làm bên office rồi, không ngờ bên Autocad cung y hệt luôn. Chán. Có khi chuyển qua làm khóa bằng VB.Net vậ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
phamngoctukts    708

Nói thật, mấy cái phá pass VBA này mình đã làm bên office rồi, không ngờ bên Autocad cung y hệt luôn. Chán. Có khi chuyển qua làm khóa bằng VB.Net vậy

VB.net à? Cái này nghe lạ! Bạn định khóa thế nào khi dùng VB.net (mà mình nghe nói hack VB.net còn dễ hơn VBA đấy) :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
Detailing    278

Thực ra để khoá các lệnh của AutoCAD tức là bạn đang hack vào AutoCAD, để làm dc điều đó bạn phải tìm dc đường vào AutoCAD trước đã hay nói đúng hơn bạn phải làm sao chạy dc đoạn code khoá của mình đã.

Mời bạn ntluyen và bạn phamngoctukts thử file dưới đây.

p/s: Các bạn khác nếu lỡ mở lên mà máy tính hay CAD có bị gì thì mình ko chịu trách nhiệm đâu nhé :D

file đây: http://www.cadviet.com/upfiles/3/83237_drawing1.dwg

Good luck! :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
ntluyen    19

VB.net à? Cái này nghe lạ! Bạn định khóa thế nào khi dùng VB.net (mà mình nghe nói hack VB.net còn dễ hơn VBA đấy) :D

 

Dùng NET thì còn build ra được dll, phải người có nghề với hack được, còn dvb, thấy dễ quá

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
Detailing    278

Bạn embed vào file cad một file exe, file này thực hiện khóa khi DBclick

 

http://www.cadviet.c...37_drawing1.dwg

 

http://www.cadviet.c...this_file_4.rar

hehe, mình đâu có kêu bạn tách nó ra làm gì :D mình chỉ nêu 1 cách run lock code thôi, khi double click file đó sẽ decrypt drawing để user có thể xem dc đồng thời khoá các chức năng mà mình không muốn người dùng thực hiện lại. Khi close window drawing sẽ được encrypt lại như cũ :D

việc tách file exe đó ra cũng ko phải là vấn đề vì nếu bạn muốn xem bản vẽ phải chạy file exe đó -> bị lock. và file exe đó thì việc protect code có lẽ hơn hẳn VBA nhỉ.

Good luck!

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

Thực ra để khoá các lệnh của AutoCAD tức là bạn đang hack vào AutoCAD, để làm dc điều đó bạn phải tìm dc đường vào AutoCAD trước đã hay nói đúng hơn bạn phải làm sao chạy dc đoạn code khoá của mình đã.

Mời bạn ntluyen và bạn phamngoctukts thử file dưới đây.

p/s: Các bạn khác nếu lỡ mở lên mà máy tính hay CAD có bị gì thì mình ko chịu trách nhiệm đâu nhé :D

file đây: http://www.cadviet.c...37_drawing1.dwg

Good luck! :D

Bác nói thế thì ai dám mở. Nếu đã có ý định phá thì ai mà đỡ nổi :unsure:

PS: Em mở file của Bác ra trả thấy hiện tượng gì cả. Trên hình có mỗi cái hinh chữ nhật và tất cả chức năng vẫn dùng bình thường , vậy Bác đố gì ở đây 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

hehe, mình đâu có kêu bạn tách nó ra làm gì :D mình chỉ nêu 1 cách run lock code thôi, khi double click file đó sẽ decrypt drawing để user có thể xem dc đồng thời khoá các chức năng mà mình không muốn người dùng thực hiện lại. Khi close window drawing sẽ được encrypt lại như cũ :D

việc tách file exe đó ra cũng ko phải là vấn đề vì nếu bạn muốn xem bản vẽ phải chạy file exe đó -> bị lock. và file exe đó thì việc protect code có lẽ hơn hẳn VBA nhỉ.

Good luck!

Híc Bác cho em hỏi cách nhúng file exe vào file dwg thì làm thế nào?

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
Detailing    278

Bác nói thế thì ai dám mở. Nếu đã có ý định phá thì ai mà đỡ nổi :unsure:

PS: Em mở file của Bác ra trả thấy hiện tượng gì cả. Trên hình có mỗi cái hinh chữ nhật và tất cả chức năng vẫn dùng bình thường , vậy Bác đố gì ở đây nhỉ.

Bạn cứ double click vào đó xem (nó biểu thế mà :D)

Mình cũng có đố chi đâu :D chỉ thử 1 cách hack vào AutoCAD ko qua VBA thôi. Ngoài ra cũng còn một số cách khác "âm thầm" hơn (thông qua VBA nhưng đòi hỏi kỹ thuật lập trình cao hơn).

Việc nhúng exe vào DWG thì chỉ việc insert ole object rồi browse tới file exe là dc.

Good luck!

  • 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
anhcos    177

Món này trông hay quá, mình chưa thử bao giờ.

 

Đặt khóa chỉ phòng người ngay thôi.... chức năng này khá là hữu dụng trong nhiều trường hợp đấy chứ.

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
huyhuong    14

Thấy phá dễ quá nên không làm nữa rồi bạn ạ

Bác thấy dễ nhưng với nhiều người rất khó đó, không phải ai cũng biết bác ah, bác cứ up cho anh em xài đi, bác viết ra mà không có người xài cũng uổ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
ntluyen    19

Cách sử dụng khóa file cad của mình như sau:

1. Download file ở #1

2. Mở file ở chế độ Diabable Macro

3. Xóa all (command : erase => chọn All ~ tức là xóa toàn bộ các đối tượng ẩn)

4. Insert file bản vẽ của các bạn vào file này. (nhớ là để chế độ Explode)

5. Save flie

6. Close flie

7. Mở lại file chọn Enable macro

8. Ctrl + s (save file)

Close Acad

=> file đã được khóa

CHú ý : file đã khóa sẽ không chỉnh sửa được nữa, các bạn cần lưu bản gốc.

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
quang_lac    15

minsert thấy có nhiều topic nói cách mở quá rồi.

đã khóa được thì sẽ mở được, nhưng mình thích khóa bằng minsert block hơn vì khi khóa bằng VBA này mà mở bản vẽ bằng cad đời mới thì không có hiện Enable macro hay disable nếu chưa cài VBA nên sẽ không nhìn thấy j. Mà CĐT cũng sẽ biết là mình khóa (cái này ko hay nha).

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


×