vb破解

news/2024/10/23 7:38:38/


===================================================
1.新建一个工作簿,打开,按ALT+F11,进入vba代码编辑器窗口:
2.新建一个模块,“插入”--“模块”把以下代码复制进模块并保存
---------------------------------------------------------------------------------------

Option Explicit
Private 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 Long
Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private 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 Integer

 

Dim HookBytes(0 To 5) As Byte
Dim OriginBytes(0 To 5) As Byte
Dim pFunc As Long
Dim Flag As Boolean
Private Function GetPtr(ByVal Value As Long) As Long
 GetPtr = Value
End Function
Public Sub RecoverBytes()
End Sub
  If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6
End Sub
Public Function Hook() As Boolean
    Dim TmpBytes(0 To 5) As Byte
    Dim p As Long
    Dim OriginProtect As Long
 Hook = False
   pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")
   If VirtualProtect(ByVal pFunc, 6, &H40, OriginProtect) <> 0 Then
    MoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6
   If TmpBytes(0) <> &H68 Then
   MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6
   p = GetPtr(AddressOf MyDialogBoxParam)
     HookBytes(0) = &H68
          MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4
       HookBytes(5) = &HC3
        MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6
         Flag = True
        Hook = True
        End If
   End If
End Function

 

Private Function MyDialogBoxParam(ByVal hInstance As Long, ByVal pTemplateName As Long, ByVal hWndParent As Long, ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As Integer
    If pTemplateName = 4070 Then
       MyDialogBoxParam = 1
    Else
        RecoverBytes
       MyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, hWndParent, lpDialogFunc, dwInitParam)
        Hook
    End If
End Function


-------------------------------------------------------------------
3.右击sheet1工作表,“查看代码”复制以下代码进去并保存:
-------------------------------------------------------------------
Sub 破解()
If Hook Then MsgBox "破解成功"
End Sub
Sub 恢复()
RecoverBytes
MsgBox "恢复成功"
End Sub


------------------------------------
4.到此,一个vba破解程序完成了,回到该工作簿窗口,文件-打开 打开需要破解vba工程密码的工作簿.
5.运行"call 破解" 稍后你再双击刚才要解密的VBA工程窗体.是不是如入无人之境啊,工程保护密码形同虚设啊?!
6.破解完成后,请右键刚破解的VBA工程,在"查看工程时需要密码"的地方复选框取消选择,OK.完成.
7.完成后别忘了执行"call 恢复",恢复密码保护(恢复程序的密码保护,已被破解的文件不受影响.


http://www.ppmy.cn/news/818331.html

相关文章

VB基础版版务处理_20050615

Wednesday June,15,2005 00:22:19 帖子由基础版移至非技术区&#xff1a; 1&#xff0c;http://community.csdn.net/Expert/topic/4082/4082597.xml?temp.2927362 主题&#xff1a;100&#xff0c;急求一套功能完善的人事管理系统源码&#xff0c;100&#xff0c;100 作者…

VB基础版版务处理_20051011

帖子由基础版转至非技术区&#xff1a; 1&#xff0c;http://community.csdn.net/Expert/topic/4320/4320172.xml?temp.2490045 主题&#xff1a;和熟人聊天没有新鲜感了&#xff0c;想找陌生人聊天&#xff0c;性许会有新收获 作者&#xff1a;wutingting12345678 (吴婷婷) …

VB程序的破解

VB程序的破解 VB程序使很多朋友感到头痛&#xff0c;主要是VB程序反编译时产生大量的垃圾代码&#xff0c;而且也找不到有用的信息&#xff0c;在动态调试过程中&#xff0c;垃圾代码太多&#xff0c;往往迷失于冗余的代码中&#xff0c;找不到方向。记住VB常用的一些函数&…

Visual Basic 6.0 中文企业版

Visual Basic6是现阶段最多人使用的一款Basic编程软件&#xff0c;Visual Basic又被称作VB&#xff0c;是很多软件工程学生必学的课程之一&#xff0c;通过Visual Basic用户可以轻松的制作出软件窗口&#xff0c;尤其是在这个大多数软件开源的时代&#xff0c;通过Visual Basic…

快速入门vb语言——第一天

day1-VB的简单介绍 一、文章主要内容 什么是VB编程语言VB的应用场景VB的编辑器——Visual Basic我的第一个VB程序——Hello,World 二、什么是VB语言 VB语言是一门面向对象的编程语言&#xff0c;它具有模块化、结构化等特点。它与其他的编程语言最大的特别是它自带UI界面&a…

VB编程必备!_VB源码之友(内含-下载-破解-使用方法)

这个控件绝对要的&#xff01;名字叫VB源码之友—— 发现&#xff01;—— 今天我在编程序的时候正在听《山丘》&#xff08;推荐听&#xff09;这首歌、什么&#xff1f;听歌跟编程有什么关系&#xff1f;我现在就告诉你&#xff01;我的发现。 今天一不小心把歌词锁定了、就…

VB 6.0下载|Visual Basic 6.0简体中文企业版下载

Visual Basic 6.0 中文企业版http://www.xue51.com/soft/1323.html vb6.0是由微软官方推出Visual Basic 6.0&#xff0c;是一款用于编程的rad开发软件。Visual Basic 6.0简体中文企业版是被开发者广泛使用的一款开发软件&#xff0c;其使用价值非常的高&#xff0c;适合所有的开…

VB6.0 与 VS2010 在VB编程上的区别小总结

这段时间相信大家已经慢慢习惯使用VB6.0来制作各自的小程序了&#xff0c;不过除了VB6.0以外&#xff0c;VS2008和VS2010都可以进行VB程序设计&#xff0c;这一点想必没有太多同学去关注。 其实发现这个也纯属巧合&#xff0c;因为笔记本重装系统之后程序不全&#xff0c;而我有…