首页 解除VBA工程密码

解除VBA工程密码

举报
开通vip

解除VBA工程密码解除VBA工程密可恢复)(包括工程不可查看)0、打开需要破解的文件1、运行破解2、双击需要破解的文件的工程3、如入无人之境4、取消工程密码保护的钩钩5、保存6、运行恢复即可恢复密码如果工程不可查看请到--审阅---取消共享工作簿即可OptionExplicitPrivateDeclareSubMoveMemoryLib"kernel32"Alias"RtlMoveMemory"_(DestinationAsLong,SourceAsLong,ByValLengthAsLong)PrivateDeclareFunct...

解除VBA工程密码
解除VBA 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 密可恢复)(包括工程不可查看)0、打开需要破解的文件1、运行破解2、双击需要破解的文件的工程3、如入无人之境4、取消工程密码保护的钩钩5、保存6、运行恢复即可恢复密码如果工程不可查看请到--审阅---取消共享工作簿即可OptionExplicitPrivateDeclareSubMoveMemoryLib"kernel32"Alias"RtlMoveMemory"_(DestinationAsLong,SourceAsLong,ByValLengthAsLong)PrivateDeclareFunctionVirtualProtectLib"kernel32"(lpAddressAsLong,_ByValdwSizeAsLong,ByValflNewProtectAsLong,lpflOldProtectAsLong)AsLongPrivateDeclareFunctionGetModuleHandleALib"kernel32"(ByVallpModuleNameAsString)AsLongPrivateDeclareFunctionGetProcAddressLib"kernel32"(ByValhModuleAsLong,_ByVallpProcNameAsString)AsLongPrivateDeclareFunctionDialogBoxParamLib"user32"Alias"DialogBoxParamA"(ByValhInstanceAsLong,_ByValpTemplateNameAsLong,ByValhWndParentAsLong,_ByVallpDialogFuncAsLong,ByValdwInitParamAsLong)AsIntegerDimHookBytes(0To5)AsByteDimOriginBytes(0To5)AsByteDimpFuncAsLongDimFlagAsBooleanPrivateFunctionGetPtr(ByValValueAsLong)AsLong'获得函数的地址GetPtr=ValueEndFunctionPublicSubRecoverBytes()'若已经hook,则恢复原API开头的6字节,也就是恢复原来函数的功能IfFlagThenMoveMemoryByValpFunc,ByValVarPtr(OriginBytes(0)),6EndSubPublicFunctionHook()AsBooleanDimTmpBytes(0To5)AsByteDimpAsLongDimOriginProtectAsLongHook=False'VBE6.dll调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号对话框(就是输入密码的窗口)'若DialogBoxParamA返回值非0,则VBE会认为密码正确,所以我们要hookDialogBoxParamA函数pFunc=GetProcAddress(GetModuleHandleA("user32.dll"),"DialogBoxParamA")' 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 apihook过程之一:修改内存属性,使其可写IfVirtualProtect(ByValpFunc,6,&H40,OriginProtect)<>0Then'标准apihook过程之二:判断是否已经hook,看看API的第一个字节是否为&H68,'若是则说明已经HookMoveMemoryByValVarPtr(TmpBytes(0)),ByValpFunc,6IfTmpBytes(0)<>&H68Then'标准apihook过程之三:保存原函数开头字节,这里是6个字节,以备后面恢复MoveMemoryByValVarPtr(OriginBytes(0)),ByValpFunc,6'用AddressOf获取MyDialogBoxParam的地址'因为语法不允许写成p=AddressOfMyDialogBoxParam这,里我们写一个函数'GetPtr,作用仅仅是返回AddressOfMyDialogBoxParam的值,从而实现将'MyDialogBoxParam的地址付给p的目的p=GetPtr(AddressOfMyDialogBoxParam)'标准apihook过程之四:组装API入口的新代码'HookBytes组成如下汇编'pushMyDialogBoxParam的地址'ret'作用是跳转到MyDialogBoxParam函数HookBytes(0)=&H68MoveMemoryByValVarPtr(HookBytes(1)),ByValVarPtr(p),4HookBytes(5)=&HC3'标准apihook过程之五:用HookBytes的内容改写API前6个字节MoveMemoryByValpFunc,ByValVarPtr(HookBytes(0)),6'设置hook成功标志Flag=TrueHook=TrueEndIfEndIfEndFunctionPrivateFunctionMyDialogBoxParam(ByValhInstanceAsLong,_ByValpTemplateNameAsLong,ByValhWndParentAsLong,_ByVallpDialogFuncAsLong,ByValdwInitParamAsLong)AsIntegerIfpTemplateName=4070Then'有程序调用DialogBoxParamA装入4070号对话框,这里我们直接返回1,让'VBE以为密码正确了MyDialogBoxParam=1Else'有程序调用DialogBoxParamA但装入的不是4070号对话框,这里我们调用'RecoverBytes函数恢复原来函数的功能,在进行原来的函数RecoverBytesMyDialogBoxParam=DialogBoxParam(hInstance,pTemplateName,_hWndParent,lpDialogFunc,dwInitParam)'原来的函数执行完毕,再次hookHookEndIfEndFunctionSub破解()IfHookThenMsgBox"破解成功"EndIfEndSubSub恢复()RecoverBytesMsgBox"恢复成功"EndSub
本文档为【解除VBA工程密码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥21.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
酷酷龙
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:4
分类:高中语文
上传时间:2022-10-07
浏览量:27