破解VBE密码方法

  • 破解VBE密码方法
    • 1.方法
    • 2.代码

破解VBE密码方法

1.方法

  1. 找一个开启了宏的Excel
  2. 插入模块
  3. 复制代码
  4. 粘贴进去
  5. 打开带密码的Excel VBE程序
  6. 运行hook()
  7. 查看代码

2.代码

Option Explicit
Dim HookBytes(0 To 5) As Byte
Dim OriginBytes(0 To 5) As Byte
Dim Flag As Boolean#If Win64 ThenDim pFunc As LongPtrPrivate Declare PtrSafe Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, SourceAsAny, ByVal Length As LongPtr)Private Declare PtrSafe Function VirtualProtect Lib "kernel32" (lpAddressAsAny, ByVal dwSize As LongPtr, ByVal flNewProtect As Long, lpflOldProtect As Long) As LongPrivate Declare PtrSafe Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPtrPrivate Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModuleAsLongPtr, ByVal lpProcName As String) As LongPtrPrivate Declare PtrSafe Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As LongPtr, ByVal pTemplateName As Long, ByVal hWndParent As LongPtr, ByVal lpDialogFunc As LongPtr, ByVal dwInitParam As LongPtr) As LongPrivate Function GetPtr(ByVal Value As LongPtr) As LongPtrGetPtr = ValueEnd Function
#ElseDim pFunc As LongPrivate Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Long, Source As Long, ByVal Length As Long)Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As LongPrivate Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPrivate Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As LongPrivate Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByVal hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As IntegerPrivate Function GetPtr(ByVal Value As Long) As LongGetPtr = ValueEnd Function
#End IfPublic Sub RecoverBytes()If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6
End SubPublic Function Hook() As BooleanDim TmpBytes(0 To 5) As Byte
#If Win64 ThenDim p As LongPtr
#ElseDim p As Long
#End IfDim OriginProtect As LongHook = FalsepFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")If VirtualProtect(ByVal pFunc, 6, &H40, OriginProtect) <> 0 ThenMoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6If TmpBytes(0) <> &H68 ThenMoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6p = GetPtr(AddressOf MyDialogBoxParam)HookBytes(0) = &H68MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4HookBytes(5) = &HC3MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6Flag = TrueHook = TrueEnd IfEnd If
End FunctionPrivate Function MyDialogBoxParam(ByVal hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As IntegerIf pTemplateName = 4070 ThenMyDialogBoxParam = 1ElseRecoverBytesMyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, hWndParent, lpDialogFunc, dwInitParam)HookEnd If
End Function

Excel VBA 免密查看VBE加密代码相关推荐

  1. Excel 宏工作簿 VBAProject 工程保护 - 代码不可查看

    目录 一. VBAProject 工程保护 二. VBA工程不可查看 一. VBAProject 工程保护 该功能由 Excel 官方提供,用于对 VBA 代码加以密码保护,具体设置方法如下动态图所示 ...

  2. Excel VBA密码破解工具(VBA实现)

    http://www.oschina.net/code/snippet_54124_15443 使用UltreEdit之类的十六进制编辑程序打开.XLS文件,在文本模式下查找"[Host E ...

  3. 用VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(二)

    --将EXCEL VBA代码移植到VB.NET .NET是微软公司在2002年推出的全新编程框架,支持多种语言应用程序开发.使用Visual Basic在Microsoft .NET Framewor ...

  4. Hadoop学习之SSH免密登录配置(以三台虚拟机为例,完全分布式)

    目录 1.更改主机名(便于进行操作) 方法一 ​编辑 方法二 2.配置SSH免密登录 1.生成秘钥 2.移动秘钥 3.秘钥分配 4.验证免密登录 1.更改主机名(便于进行操作) 本文操作需在root用 ...

  5. excel vba 文本框_自动调整Excel文本框的大小

    excel vba 文本框 If other people will be using the Excel files that you build, it might help them if yo ...

  6. 利用Excel VBA批量计算气象数据多个台站多年来春季和冬季降水量和平均气温

    气象数据是地理数据的重要组成部分,存储量虽然不大,但是处理过程非常繁琐,长时序数据更不用说.本文总结了一个气象数据的基本处理方法. 如下图所示,气象数据的排列格式是区站号→年→月→降水量→平均气温,时 ...

  7. 编写高效Excel VBA代码的最佳实践(一)

    很多Excel VBA文章和图书都介绍过如何优化VBA代码,使代码运行得更快.下面搜集了一些使Excel VBA代码运行更快的技术和技巧,基本上都是实践经验的总结.如果您还有其它优化Excel VBA ...

  8. 如何调试Excel VBA代码

    Excel VBA出错时给出的错误信息极少,需要充分利用各种工具来进行调试. 1.编译错误 常见的编译错误有: 错误的源代码格式,比如if后面缺少then:在编辑器中该行会变成红色. 错误的语法结构, ...

  9. Excel VBA代码学习

    艺思网    http://www.edusrc.com  提供中学教学资料下载 很多Excel VBA文章和图书都介绍过如何优化VBA代码,使代码运行得更快.下面搜集了一些使Excel VBA代码运 ...

  10. 调试Excel VBA代码

    调试Excel VBA代码 目录 1编译错误     2运行中出错或者运行结果错误 Excel VBA出错时给出的错误信息极少,需要充分利用各种工具来进行调试. 1.编译错误 常见的编译错误有: 错误 ...

最新文章

  1. Zabbix 监控获取apache_status
  2. S - 母牛的故事(递推)
  3. nginx反向代理相关 负载均衡及优化
  4. 5月26 留言板练习题
  5. ML之FE:数据处理—特征工程的简介、使用方法、案例应用之详细攻略
  6. SAP 电商云 Spartacus UI 的响应式 UI 实现细节
  7. BadI /ui2/catalog_provider_bd
  8. 来领.NET Core学习资料,7天整理了30多个G(适合各阶段.Net开发者)
  9. codeforces Balanced Substring
  10. 开源协议概谈[转载]
  11. how hurt my eggs are, if two, please deep two.
  12. 百度人脸识别文档冲突,facetype应是face_type
  13. 《从零开始做抖音》 程然
  14. ChinaITLab-Linux工程师培训课程笔记1
  15. 【话题:工作生活】2020年工作总结--杭漂结束,沪漂开始。
  16. P5708_三角形面积(深基2.习2)
  17. 神经网络的5个应用场景,人工神经网络应用场景
  18. java 不变类_[探讨java深入的不变模式] java中String类的用法
  19. 计算机桌面不能显示器,电脑显示屏亮但是主机已开机无法显示桌面
  20. 远程唤醒WOL启动服务器或电脑

热门文章

  1. ZOJ 3216 Compositions(矩阵优化DP)
  2. 如何用Photoshop去制作一张质量高的banner(轮播图)?
  3. 全国大学的ftp及部分免费ftp地址
  4. 20年研发管理经验谈(十七)(终结)
  5. 雪狐密码箱PwdBox记录导出
  6. java图片无损压缩_java无损压缩Thumbnailator(google)
  7. 【Python 无损放大图片】——支持JPG/PNG 可将图片无损放大上万像素
  8. iOS项目开发中的知识点与问题收集整理①
  9. 双轨制二叉树节点对象
  10. 继 layui 之后, jQuery Mobile 宣布完全弃用!