Bảo mật code trong VBA

Liên hệ QC
Status
Không mở trả lời sau này.

Do Thanh Hai Giao Thong

Thành viên mới
Tham gia
27/12/07
Bài viết
1
Được thích
2
Chào anh em,
Mình có một số file Excel có VBA. Mình muốn người khác dùng nhưng không muốn người đó thay đổi hoặc dò ra code mà mình viết thì phải làm thế nào. Có cách nào bảo mật được code không?
Cám ơn nhiều!%#^#$
 
khi mở một file excel thì có thông báo như sau : This workbook has lost its VBA project, ActiveX controls and any other programmability-related features. là gì ? Tôi đang sử dụng excel 2007.
 
Upvote 0
tôi thấy các chương trình viết bằng VB6 đã biên dịch thành .exe cũng bị dịch ngược, và .Net thì còn tệ hại hơn (Bên www.caulacbovb.com nói rằng .Net bảo mật rất kém)
Híc, có lẽ cách bảo mật tốt nhất là Free, khi đó chẳng mấy ai cần phá làm gì nhỉ.

Ai nói thế tức là chả hiểu gì cả. Dịch ngược là dịch ngược ra đâu? Ra ASM hay ra VB code, hay chỉ là Crack? VB6 có 2 chế độ là P-Code và Native Code. Nếu ai dịch ngược được từ Native Code ra đúng mã nguồn gốc của VB6 thì tớ biếu tiền luôn (liên hệ trực tiếp để nói về số tiền đó là bao nhiêu nhưng ko dưới x00tr VNĐ). Cái duy nhất trên thế giới hiện nay là cái VB Decompiler cũng chả làm được cái việc đó.

Xem cái hình dịch ngược Native Code đây này, chỉ tới mức này mà thôi

intro_2.png


Nếu dịch ra native code rồi sử dụng các phần mềm như PECompact, v.v... thì chưa chắc VB Decompiler có thể đọc được file exe, đó là chưa kể trong code viết luôn cái đoạn Anti-VBDecompiler thì hết đọc luôn.

Đúng là VB.NET bảo mật kém hơn VB6 vì xu hướng mở. Bạn tạo exe hoặc dll từ VB6 + pack bằng phần mềm nào đó thì phá khoá còn mệt!

Còn cái đám "chuyên gia" (thôi thì sửa lại cho nó lịch sự) nói là .Net bảo mật kém thì đúng là Newbie rồi. Kiến thức cơ bản về .NET Framework chả có mà cứ đòi VB .NET ư, C# ư,... :)

Về .NET thì mình cho mấy bạn và các "chuyên gia" vài từ khóa để mọi người tham khảo: 9Rays.Spices.Net.Suite, Dotnet Reactor, .NET Obfuscator, Themida, smartassembly Enterprise, Xenocode Postbuild, Xheo,...

------------------

Đấy, làm PM đâu phải cứ vẽ vài cái forms, làm dăm ba cái báo cáo rồi phủi tay bảo đó là PM (và đem bán vài trăm đồng). Càng đọc những tin thế này càng chán cho cái cảnh trình độ "LTV" ở VN (Thảo nào mấy SV ra trường khi nghe tớ giảng mà cứ nói: "Em trả hiểu anh nói gì" hoặc "Tại sao thầy em trả dạy những gì anh nói nhỉ" !$@!!

P/S: Mọi người cần phân biệt giữa: Dịch ngược & Crack nhé. Và cũng phân biệt dịch ngược ra mã ASM khác với dịch ngược thành code gốc nguyên bản.

VB Decompiler restores the source code from the pseudo code (P-Code) as close as possible to the original. So, after some modifications you may get really workable source code.

But you ask: if a program is compiled not to interpreted P-Code, but in assembler Native Code? Of course in this case, you can't get fully compilable source code. But even now do not need to cry. VB Decompiler has built in a powerful disassembler and emulator commands to the extent possible to bring the assembly code to the original. Of course because of the diversity of modern methods of optimization and protection code, the process is not without problems, but in this situation, VB Decompiler really help you for program analysis and reverse engineering.

Cứ từ GPE mà nghe vọng từ cái tụi caulacbovb thì có mà ... ăn cám.

(Sorry, hơi ức chế do mọi người cứ dùng từ "chuyên gia" ko đúng lắm, việc này trước tớ đã nói 1 rồi thì phải, và hay trích dẫn những gì từ caulacbovb sang bên này, mà toàn những nhận định sai thôi. Làm hỏng cả thị trường phần mềm)
 
Lần chỉnh sửa cuối:
Upvote 0
Theo mình thì có thể vô hiệu hóa chức năng tổ hợp phím nóng Alt +F11 và view code khi kích chuột phải. Hiện tại mình đang tìm cách vô hiệu hóa cái view code khi nhập chuột phải vào biểu tượng Excel, nếu ai biết rồi thì lên tiếng nhé! Mình nghĩ vẫn có cách để bảo vệ hữu hiệu code của mình ngay trên Excel 2003.
 
Upvote 0
Ai nói thế tức là chả hiểu gì cả. Dịch ngược là dịch ngược ra đâu? Ra ASM hay ra VB code, hay chỉ là Crack? VB6 có 2 chế độ là P-Code và Native Code. Nếu ai dịch ngược được từ Native Code ra đúng mã nguồn gốc của VB6 thì tớ biếu tiền luôn (liên hệ trực tiếp để nói về số tiền đó là bao nhiêu nhưng ko dưới x00tr VNĐ). Cái duy nhất trên thế giới hiện nay là cái VB Decompiler cũng chả làm được cái việc đó.


Cứ từ GPE mà nghe vọng từ cái tụi caulacbovb thì có mà ... ăn cám.

Thì có nghĩa là VB.NET dễ bị c r a c k hơn VB6 (nhiều chuyên gia đã nói) bác ạ.

Còn cái đo đỏ thứ 2 thì bác nên xem xét lại, ở đó tập trung nhiều cao thủ VB lắm.
 
Upvote 0
Thì có nghĩa là VB.NET dễ bị c r a c k hơn VB6 (nhiều chuyên gia đã nói) bác ạ.

Còn cái đo đỏ thứ 2 thì bác nên xem xét lại, ở đó tập trung nhiều cao thủ VB lắm.

1. Không cái gì là ko thể CR được. Đó là điều chắc chắn 100%. Nhưng nói dịch ngược lại là vấn đề khác (mọi người vẫn chưa hiểu ý tôi nói à. Dịch ngược là dịch lại ra mã nguồn ấy.) Viết .NET cấp cao ko ai người ta làm để dịch ngược được đâu. Còn nếu cứ từ VS .NET viết xong rồi compiled ra mà chả chú ý gì thì nói làm gì --=0)

2. "VB.NET dễ bị c r a c k hơn VB6" là sai 100%, vấn đề là do làm thế nào, làm đến đâu. Nếu mà ứng dụng .NET dễ Crack thì cả thế giới 3rd parties này chết nghoẻo từ lâu rồi. Hướng nghe "chuyên gia" nào nói thì cho mình số ĐT để mình call luôn xem họ làm thế nào mà CR được dễ thế.

3. "ở đó tập trung nhiều cao thủ VB lắm" --> Tôi có vào đó xem rồi (từ hồi mới thành lập clb cho tới nay), đa phần làm mấy cái control, một vài người có cái ứng dụng thuộc dạng mini và 99% ứng dụng mà họ viết trên đó làm là KHÔNG KIẾN TRÚC. Khi tôi post bài trên đó về high level design tới detail design, các quy trình này nọ cần có trong ngành PM thì chả ai biết gì cả (vì đang quen làm mấy soft con con dạng cá nhân), ngay cả thuongall, nobi, v.v... cũng nói là té ra mới chỉ làm mấy cái con con mà thôi. Hướng ơi, ứng dụng có kiến trúc nó khác một trời 1 vực với thể loại vẽ mấy cái form rồi chọc thẳng vào CSDL. :-=

Viết mấy controls tuy có khó nhưng mà đa phần cóp nhặt từ PSC và mông má lại chứ có ai viết từ A-->Z đâu. Ngay cả trên PSC cũng chỉ có khoảng 30 người là đỉnh về VB6, đám còn lại toàn post cái newbie linh tinh.

Dĩ nhiên, giờ có 1 số thành viên ở clbvb đã làm ở các công ty lớn nên họ hiểu thế là làm phần mềm rồi. Cuộc sống luôn vận động, trái đất luôn quay tròn mà --=0. Vấn đề là đừng nghe "vọng" từ người ta nói, mà phải đủ đẳng cấp để nhận định người ta nói có đúng hay không. Mấy câu đó dễ dịch ngược, .NET dễ bị.... thì tớ chả thèm nghe mấy chú đó nói. Nó chả khác gì nói: Tiếng anh dễ học hơn tiếng Pháp (Nhưng đến cấp advance level thì chả cái gì dễ hơn cái gì cả). Và chỉ khi nào thấu hiểu (advance level) của cả 2 cái thì mới nên đánh giá nhận định (và đừng ... nghe "chuyên gia" khác nói khi mình ko hiểu)
 
Lần chỉnh sửa cuối:
Upvote 0
Dịch ngược ra code như ban đầu thì khó là đúng rồi (Ai dám đảm bảo phát triển trên nền tảng của MS, thì ông MS không có vài cái tool để thâu tóm toàn bộ những gì tinh hoa trong thế giới code)
Mình làm OpenSurce cũng có ít kinh nghiệm nhưng nói thật Không ít các dự án lên đến hàng chục MB code, viết rất Clearly nhé mà Xem cũng ùh hết cả đầu
2. "VB.NET dễ bị c r a c k hơn VB6". Cái này thì tùy khả năng mỗi nguời, dễ với người dễ và khó với người khó - không it các Cômpnnent bị dịch ngc một cách trọn vẹn ra code, Class... etc đầy đủ bạn ạh. Nếu bạn để ý sẽ thấy khá nhiều thàng giống nhau xuất phát từ cùng một mẹ đấy.

3. "Cao thủ" là gì không rõ từ này lắm
KHÔNG KIẾN TRÚC. Cái này thì đúng là căn bệnh của VN coder ( xin nhớ rằng đa phần anh em ở đây là trái ngành) thử hỏi một bác IT xịn xem liệt kê nối 17 chỉ tiêu cơ lý của đất đá hay bình sai mặt bằng khác bình sai cao độ chỗ nào. chắc bó chiếu hết. Ngay cả các SV IT hẳn hoi nhé, thậm chí cả những người dạy họ mà khi mình hỏi DFD là gì, ai sáng tạo ra nó hay tại sao hiện tại hay dùng UML, 90% chết ngắc bạn ạh. Ngay câu đơn giản nhất không cần cao siêu gì: Dữ liệu là gì?? ( học xong Phân Tích TKHT) rồi mà vẫn ngắc đấy. Dù có kiến trúc hay không nhưng tinh thần học tập của anh em là đáng khâm phục rồi. có công mày mò như bác Hướng, TuânVUNI quả là em rất nể.

Vài dòng góp nhặt.
 
Upvote 0
Sôi nổi, thẳng thắn bắt đầu chỉ từ 1 câu hỏi bảo mật trong VBA.
Đọc bài này mới thấy GFE trên diễn đàn này có nhiều người, nhiều lĩnh vực, nhiều cấp độ đang quan tâm đến excel.
Mình đồng ý với quan điểm của anh longnh. Tinh thần học tập. Mục đích là phục vụ những công việc cụ thể cho mình trước, sau đó, chia sẻ cho cộng đồng
Đúng là mình cũng là người ko chuyên về IT nhưng với tinh thần trên mình cũng đã làm ko chuyên về 1 số cái phục vụ tốt cho công việc của mình đang làm
Khó để trao đổi hết khi mình ko fải là dân chuyên ngành. Hy vọng sẽ học hỏi được những nhiều hơn nữa khi tham gia diễn đàn
 
Upvote 0
3. "Cao thủ" là gì không rõ từ này lắm
KHÔNG KIẾN TRÚC. Cái này thì đúng là căn bệnh của VN coder ( xin nhớ rằng đa phần anh em ở đây là trái ngành) thử hỏi một bác IT xịn xem liệt kê nối 17 chỉ tiêu cơ lý của đất đá hay bình sai mặt bằng khác bình sai cao độ chỗ nào. chắc bó chiếu hết. Ngay cả các SV IT hẳn hoi nhé, thậm chí cả những người dạy họ mà khi mình hỏi DFD là gì, ai sáng tạo ra nó hay tại sao hiện tại hay dùng UML, 90% chết ngắc bạn ạh. Ngay câu đơn giản nhất không cần cao siêu gì: Dữ liệu là gì?? ( học xong Phân Tích TKHT) rồi mà vẫn ngắc đấy. Dù có kiến trúc hay không nhưng tinh thần học tập của anh em là đáng khâm phục rồi. có công mày mò như bác Hướng, TuânVUNI quả là em rất nể.

Vài dòng góp nhặt.

HB xin mạn phép có lời thế này: Những Sv chết ngắc đó, những người thầy dạy đó không phải là VN coder nên không thể nói là bệnh của VN coder được! Năm xưa, chính thầy của HB nói với bạn Lê Sỹ Vinh (Huy chương vàng olympic Tin học thế giới): "Cậu vô địch hội đồng thi đó, nhưng chưa chắc đã qua được bài thi của tôi!"
Xét cho cùng thì IT pro là những người tạo lên các phần mềm đẳng cấp, họ có thể sục vào tất cả các ngành, làm mọi ứng dụng cho các ngành khác,... họ "không nhớ" 17 chỉ tiêu cơ lý, "không nhớ" ..vv.. chẳng qua là vấn đề họ có quan tâm hay không mà thôi!
Kiến thức là vô tận mà! Đôi lời chia sẻ với anh em IT, sai sót gì xin được lượng thứ!

Thân mến!
 
Upvote 0
Dear all,
--------
Đây là một đề tài hay, có giá trị chuyên môn cao, các bạn cần tập trung vào chủ đề chính về "Bảo mật trong VBA", nếu không đề tài sẽ bị khóa.

Các bài viết không thuộc phạm vi thảo luận của đề tài sẽ bị xóa.
 
Upvote 0
2. "VB.NET dễ bị c r a c k hơn VB6". Cái này thì tùy khả năng mỗi nguời, dễ với người dễ và khó với người khó - không it các Componnent bị dịch ngc một cách trọn vẹn ra code, Class... etc đầy đủ bạn ạh. Nếu bạn để ý sẽ thấy khá nhiều thàng giống nhau xuất phát từ cùng một mẹ đấy.

Tất cả các SourceCode đều do NSX bán và được lưu truyền ra ngoài. Tôi theo dõi hàng nghìn hàng nghìn .NET Component và biết được cái nào support sourcecode để bán hay ko. Và tại sao cứ đi kèm "SourceCode" lại phải có file msi cài đặt kèm theo. Bao giờ những bộ đầy đủ đó cũng đi kèm SourceCode và người ta nói là Incl SourceCode. Ví dụ
- Telerik RadControls for ASP.NET Ajax 2009.2.701 w Source
- Telerik RadControls for WinForms 2009.2.701 w Source
- v.v...

Có những Component ko để StrongName thì dịch ngược được, nhưng nếu có StrongName hoặc sử dụng các phần mềm bảo mật khác cho nó thì không dịch ngược được. Đó là cơ chế của .NET rồi. Những người ngồi ngoài chỉ thấy người ta bảo dịch ngược được và ko hiểu tại sao lại thế, rồi cứ nghĩ .NET nó kém này kém nọ mà ko hiểu rằng Visual Studio 6 không có cơ chế đó (thay vì cơ chế đó là PCode và Binary Code). Đấy, nếu dịch ngược được thì Misa mới ra bản Misa SME .NET 2010 đó, dịch ngược lại mà lấy code của họ đi? Nếu có thì tớ xin mua đó --=0

Còn tại sao "rất nhiều thằng giống nhau" vì trên Internet có rất nhiều nguồn cơ sở là giống nhau, và các component có chuẩn về giao diện cũng khá giống nhau. Nhưng không 1 hãng 3rd parties nào có components giống nhau 100% cả (nếu có thì toàn đồ OpenSource, Free Source có đầy trên mạng và đa phần bắt đầu xuất phát từ những gì Free trên đó). Chắc chắn không thể Infragistic lại giống ComponentOne hay Xceed lại giống DevExpress được.

Còn nói chuyện về có kiến trúc hay ko có kiến trúc thì ý tôi muốn nói là đó chỉ 1 trong các vấn đề để chứng mình đa phần họ ko phải là "chuyên gia" (và đừng gọi tùy tiện cái từ đó), chứ ko bảo tất cả mọi người viết phần mềm là phải có kiến trúc. Nhưng các bạn cứ thử nhìn các phần mềm viết trên .NET ở đây xem, họ thiết kế 1 chứng từ thế nào? Có gọi là chứng từ hay ko? Đâu là thông tin của chứng từ, đâu là phần chi tiết tiền hàng, đâu là... Tại sao trên form lại có nút to đùng, nút bé xíu như vậy? v.v...

@Cường, cứ để chủ đề này tiếp diễn đi. Bảo mật trong VBA cũng là vấn đề bảo mật nói chung và rất giống như làm bảo mật trong VB6 nói riêng, vì thế ko có gì là lạc đề cả.
 
Lần chỉnh sửa cuối:
Upvote 0
Đây là một đề tài hay, có giá trị chuyên môn cao, các bạn cần tập trung vào chủ đề chính về "Bảo mật trong VBA"...
Tôi tán đồng ý kiến này. Anh/chị nào có giải pháp hữu hiệu (Tính đến thời điểm hiện tại) về vấn đề này thì chia sẻ cho anh em cùng tham khảo.
 
Upvote 0
Tôi tán đồng ý kiến này. Anh/chị nào có giải pháp hữu hiệu (Tính đến thời điểm hiện tại) về vấn đề này thì chia sẻ cho anh em cùng tham khảo.

Có rồi chứ bác, đó là LockXls. Ngoài ra còn có Protect VBA, VBAsafe, XCell Compiler, CONVERTER FROM XL TO EXE, ... Bác phải chịu khó mày mò = tiếng Anh là ra hết (nhiều chương trình phải mất tiền :-=).
 
Upvote 0
Chào bác hai2hai và mọi người. Có một điều là thảo luận ở đây nói về "đa phần là..." chứ không đem một hay hai trường hợp cá biệt ra làm đại diện được. Còn nhận định tôi đưa ra không phải là không có cơ sở ngay như cái DevExpress hay C1 bác nói cũng chẳng có gì là bảo mật tốt cả vẫn có đủ code đó thôi.

Đấy, nếu dịch ngược được thì Misa mới ra bản Misa SME .NET 2010 đó, dịch ngược lại mà lấy code của họ đi? Nếu có thì tớ xin mua đó --=0.

Vụ này thì bác mua được giá bao nhiêu? :D em không làm đâu nhưng không biết có tội môi giới không nữa và bác gửi giúp em bộ cài. Năm hôm có kết quả cho bác là có Okie hay không. Nếu làm được có khi giá rất rẻ đấy.
 
Upvote 0
Chào bác hai2hai và mọi người. Có một điều là thảo luận ở đây nói về "đa phần là..." chứ không đem một hay hai trường hợp cá biệt ra làm đại diện được. Còn nhận định tôi đưa ra không phải là không có cơ sở ngay như cái DevExpress hay C1 bác nói cũng chẳng có gì là bảo mật tốt cả vẫn có đủ code đó thôi.

Gửi cho tôi full sourcecode của chính xác phiên bản C1StudioNET2_T109 (bản evaluation download từ www.ComponentSource.com), nếu có chất lượng (tức là dùng sc đó tôi có thể dịch ra các components mà họ bán), hãy cho giá của C1 để tôi mua (nhớ là ko phải cái Key*gen mới nhất mà Danny mới làm đâu nhé). Kể cả DXperience v2009 vol 1.5 nữa (nhưng nhớ ko phải là bộ cài + cr*ck của Danny có nhan nhản trên boardall đâu nhé).
2- download and install the following: (includes patched assemblies both for dxperience and expressapp framework components, strong key, demo patcher, licenseinfochanger, nsis source)
mấy thứ trên thì tôi ko cần, cái cần là FullSourceCode (tức là gia sản của DevExxpress) của toàn bộ DXperience v2009 vol 1.5 (Để sinh ra các thứ thuộc bộ đó) chứ ko phải cái đám đó để dùng trong phần mềm.

Tóm lại, tất cả những gì trên ComponentSource mà có full sourcecode của SP đó thì tôi có thể mua vì tôi có thể lấy tiền từ nhà cung cấp về vấn đề bảo mật của họ.

Mấy món SourceCode này nếu chỉ search trên mạng thì đừng nghĩ là có nhé, tôi ngày nào cũng check latest version có trên tất cả các thị trường chợ đen về IT tool/component cả rồi.

Vụ này thì bác mua được giá bao nhiêu? :D em không làm đâu nhưng không biết có tội môi giới không nữa và bác gửi giúp em bộ cài. Năm hôm có kết quả cho bác là có Okie hay không. Nếu làm được có khi giá rất rẻ đấy.

Người bán cần phải tự kiếm bộ cài, và đưa giá (Thông qua PM hoặc email chứ đừng trao đổi trên này). Giá bao nhiêu tôi bán lại cho MISA bấy nhiêu (nói trước là MISA tốn nhiều tỷ để làm bộ mới này cùng với bộ CRM .NET đó, đấy là chiến lược chính của họ, vì thế tôi e là với trên 150 người chỉ chuyên làm phần mềm ở MISA (trên tổng số hơn 250 người ở HN) thì ko nhẽ họ lại lơ là tới bảo mật SP của họ như vậy)

Nếu đọc kỹ, thì tôi từng nói, cái gì cũng CR được (vì người ta đã chứng minh được điều đó lâu rồi). Nhưng ko phải cái gì cũng dịch ngược được ra mã nguồn. Đồng chí cứ cho giá, nếu làm được tôi sẽ thông báo cho Misa để lấy lại tiền từ họ về vấn đề bảo mật (Nhưng tôi ko tin là Misa ngu ngơ tới mức baby để cho mấy cái công cụ dịch ngược trên thị trường có thể làm được điều đó)

Tôi tán đồng ý kiến này. Anh/chị nào có giải pháp hữu hiệu (Tính đến thời điểm hiện tại) về vấn đề này thì chia sẻ cho anh em cùng tham khảo.

Như Hướng đã nói ở trên, Đầy!
 
Lần chỉnh sửa cuối:
Upvote 0
Bảo mật code VBA

Chào các bạn
Tôi rât khoái cái môn VBA này, và thực sự cũng có 1 số sản phẩm phát triển từ VBA. Tuy nhiên có 1 băn khoăn về bảo mật code VBA. Hiện nay tôi mới chỉ sử dụng khóa ứng dụng của mình bằng cách bảo mật code VBA, cho phép máy tính trạm có thể chạy được ứng dụng theo địa chỉ MAC. Quả thực tôi cũng không tin tưởng lắm vào password code VBA, bạn nào có thể chia sẻ với tôi được không
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

Bài viết mới nhất

Back
Top Bottom