Đến nội dung


Hình ảnh
- - - - -

Khóa file DWG bằng VBA


  • Please log in to reply
67 replies to this topic

#21 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 23 July 2012 - 11:32 AM

Bác chịu khó viết Decom - Comp cho mấy loại Entity nhỉ ^^ Nhưng mình cứ thấy nó dễ gây crash sao sao ý. Đang đọc chuyển window là crash mấy lần. Chắc hook trâu quá. Chúc bác thành công
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#22 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 12:52 PM

Nếu không Decom - Comp thì chắc là không có cách nào để khóa được file cad cả còn Hook có gây ra lỗi. tôi cúng đang tìm hiểu xem.
  • 0

#23 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 23 July 2012 - 01:01 PM

Nhờ bác Detailing Kiểm tra hộ xem đã được chưa, nếu chưa được bác chỉ tiếp để em sửa khóa tiếp :D

Bạn tạo file có hình khác 1 chút chứ thấy cái hình y chang vậy :D
mình thấy bạn thêm 1 class KillVBE vào và gọi method TerminateVBE True :D tuy nhiên vẫn mở dc VBE Vlisp bằng ribbon button :blink:
bản vẽ này y chang bản vẽ trước nhưng hình như có thêm 1 ent nào đó (chắc để check xem mình có mở dc ko hay lấy cái cũ uip lên :D )
Good luck!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#24 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 01:01 PM

Bác ntluyen hình như làm ở vinaconex thì phải


Đúng Tôi lam ỏe Vinaconex. Bnạ cũng Làm ỏe VINA?
  • 0

#25 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 01:04 PM

Bạn tạo file có hình khác 1 chút chứ thấy cái hình y chang vậy :D
mình thấy bạn thêm 1 class KillVBE vào và gọi method TerminateVBE True :D tuy nhiên vẫn mở dc VBE Vlisp bằng ribbon button :blink:
bản vẽ này y chang bản vẽ trước nhưng hình như có thêm 1 ent nào đó (chắc để check xem mình có mở dc ko hay lấy cái cũ uip lên :D )
Good luck!


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!
  • 0

#26 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 23 July 2012 - 02:29 PM

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!
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#27 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 23 July 2012 - 04:30 PM

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


  • 1
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#28 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 04:45 PM

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
  • 0

#29 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 04:47 PM

Đây ạ
http://www.cadviet.c...975_project.rar
  • 1

#30 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 July 2012 - 04:51 PM

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

#31 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 23 July 2012 - 05:33 PM

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í.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#32 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 24 July 2012 - 07:31 AM

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
  • 0

#33 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 24 July 2012 - 08:13 AM

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
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#34 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 24 July 2012 - 10:14 AM

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
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#35 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 24 July 2012 - 11:16 AM

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
  • 1

#36 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 24 July 2012 - 11:18 AM

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á
  • 0

#37 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 24 July 2012 - 11:27 AM

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!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#38 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 24 July 2012 - 11:31 AM

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ỉ.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#39 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 24 July 2012 - 12:27 PM

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?
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#40 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 24 July 2012 - 12:32 PM

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!
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341