个人制作的 VBA 代码加密混淆器,帮你加密你的宏代码,让它不再那么易读。因 VBA 的方便一直以来都喜欢用它写一些小工具,了解多了也就知道这种代码编写的工具完全没有安全性可言,工程密码形同虚设,很容易破解。(见我的文章中的第三点破解工程代码:Excel 各种密码的破解,大全建议收藏!)。

  我的这个工具的做法就是仿网上的一些 Java,Python 的代码混淆器,用很难辨别的字符串去替换代码中用到的变量、函数或过程名,并转译代码中用到的字符串。谷歌能找到一些付费的软件,做的比我更好,支持控件名混淆、字符串的加密,但我供不起那一两千刀的价格,不划算。于是自己写了一个小工具满足自己的小需求,如果你有需要,在这里只需支付 199 RMB 就可以使用。

  工具的测试版在我的百度网盘下载,测试版支持部分变量混淆,不转译字符串。
下载链接:https://pan.baidu.com/s/18hk2S1PGWQbxVO00puwDoQ ,提取码:rtfb。如需正式版请关注我的微信公众号,通过里面的邮箱地址联系我。

1. 代码混淆后的效果

下面我先 show 一下代码加密后的效果,待加密代码的部分截图:

混淆完成之后如下图:

变量名称、字符串不再那么容易辨别了,一串串的数字,头晕,容我喝杯水先!哈哈。

2. 代码编码注意事项

  工具做的比较简单,不能处理太诡异的代码,这里有一些注意事项在混淆前要对你的代码对照检查一下:

  • 变量声明的注意事项:

    • 所有变量使用前必须声明,包含 For 语句中用到的变量
    • 变量的类型必须指定,类型未定的声明为 Variant
    • 不能在一行代码中声明多个变量,如下
      Dim strFirstName As String, strLastName As String
      
    • 变量名称不能过于简单,如下是不建议的
      Dim I As Integer
      

      建议修改为匈牙利命名法的变量,例如:

      Dim intIndex As Integer
      
    • 常量,变量必须声明作用域,即用关键词 Public, Private 或 Dim 声明,不允许如下:
      Const SUB_PROCESS = 20
      
    • 暂不支持字符串类型的常量,请用变量取代
  • 注意关键字的大小写,例如不要把 Dim 写成 dim
  • 代码中不要包含多余的空格、制表符,尤其是在变量之间
  • 注意代码行的单引号,有时会被解析为注解。可用 Chr(39) 替换
  • 函数、过程名在不指定的情况下默认不混淆
  • 不支持多个模块的代码一起混淆

3. 工具使用方法

  进入工具的文件夹,你会看到四个文件,如下:

  在 frmMain.vbs 中放入待混淆的代码。Variables.txt 文件中放入那些要进行混淆的函数、过程名、错误处理断点、或工具未能检测到的变量,如无此要求请清空此文件(不能删除)。
  上述的内容提供完后双击 VBAObfuscate.exe 开始混淆你的代码,随后会出现黑黑的一个窗口提示你代码混淆完毕,请按任意键关闭,如下:

混淆后的结果存储在文件 frmOutput.vbs。请用这些代码替换你的源代码,替换前记得备份哦!
  VBA 代码再怎么混淆、加密都很难做到完全的安全,核心代码建议你用 C 或 C++ 编写成 dll 文件,然后用 VBA调用。

全文完!欢迎评论,如你满意工具的功能, 请记得点赞哦,谢谢!

本文为作者原创文章,未经作者允许不得转载。

VBA 工程代码加密混淆器,保护你的宏作品相关推荐

  1. Excel2013破解vba工程密码以及工作表保护密码

    今天从网上学到如何破解vba工程密码以及工作表保护密码,在这里分享一下.  破解vba工程密码:(引用自http://jingyan.baidu.com/article/2009576170cc05c ...

  2. exe一机一码加密工具_Python代码加密混淆

    我多想再见你 哪怕匆匆一眼就别离 python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研 ...

  3. Java代码加密混淆工具有哪些?

    在Java中,代码加密混淆工具可以帮助开发者将源代码进行加密和混淆处理,以增加代码的安全性和保护知识产权.以下是一些流行的Java代码加密混淆工具: 第一款:ProGuard:ProGuard Pro ...

  4. Python代码加密混淆

    python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...

  5. vue项目配置 webpack-obfuscator 进行代码加密混淆

    背景 公司代码提供给第三方使用,为了不完全泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是通过使用 webpack-obfuscator 通过增加随机废代码段.字符编码转 ...

  6. python代码加密 混淆_Python程序的混淆和加密

    混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本. 同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了 ...

  7. 5个常用Java代码混淆器 助你保护你的代码

    [IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...

  8. 使用 ASM 编写 Java 字节码混淆器以实现对代码的保护

    文章目录 前言 > 展示 原理 源码获取 前言 通常而言, Java程序很容易被烂大街的反编译器 (如JD-GUI, Luyten等) 反编译出源代码并且进行未授权的修改. 所以很多开发者会用 ...

  9. 推荐一款神器-VBAC#代码编辑管理器

    网名:liucqa,OFFICE开发领域真大牛,比ExcelHome所有版主和所有出OFFICE开发类书籍的人都要牛的人,出品了它的大作,给大家推荐使用. 特色功能:C#&VBA代码格式化/代 ...

最新文章

  1. 大师Martin Fowler强烈推荐的一本书
  2. VTK:PolyData之Reflection
  3. WinForm连接数据库
  4. OSI 参考模型与TCP/IP 参考模型的比较
  5. LeetCode 775. 全局倒置与局部倒置(归并排序/二分查找/一次遍历)
  6. (37) BFC IFC GFC FFC概念
  7. Javascript基础知识笔记三
  8. 跟兄弟连学PHP PDF 分享
  9. MFC控件自适应调整大小
  10. tp-link tl-wr740n 虚拟服务器,TP-Link TL-WR740N无线wifi无线桥接怎么设置 | tplogin.cn
  11. Win300英雄服务器不显示,win7系统玩不了300英雄的解决方法
  12. mysql 1114错误_mysql出现错误编码1114怎么办
  13. as3学习笔记1:Embed嵌入图片
  14. 性别 图标 css,CSS实现小图标
  15. 【简单的密码生成器】
  16. CSS3变形和动画:旋转、扭曲、缩放、位移、矩阵 、原点 transform-origin、过渡属性 transition-property、过渡所需时间 transition-duration...
  17. 乘法逆元 java_java写的三个求乘法逆元的算法
  18. Spring 3.0 学习-环境搭建和三种形式访问
  19. 教你科学实施有氧运动
  20. Android 如何批量改变字体颜色

热门文章

  1. Android-浅谈阴影边框特效
  2. 值得收藏——一文让你读懂人脸识别技术
  3. 项目部署到阿里云无法发送邮件问题
  4. Introduce·艺术类学科核心期刊推荐之《电影文学》
  5. 结婚证照片是几寸的?可以自己带吗?
  6. 使用Arduino进行磁场强度测量
  7. 如何通过一台 iPhone 申请一个 icloud 邮箱账号 后缀为 @icloud.com
  8. 基于CC2652P/E72-2G4M20S1E zigbee3.0树莓派转接板
  9. 明基扫描仪二次开发包
  10. 线性回归(梯度下降)2021-04-16