Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: ttui

API hook及解除VBA工程密码保护的应用

 关闭 [复制链接]
发表于 2008-8-7 08:02 | 显示全部楼层

谢谢

Vista home basic Office 2007

OK!!!

[此贴子已经被作者于2008-8-7 8:03:15编辑过]
回复

使用道具 举报

发表于 2008-8-7 20:18 | 显示全部楼层
回复

使用道具 举报

发表于 2008-8-11 22:45 | 显示全部楼层
回复

使用道具 举报

发表于 2008-11-11 08:58 | 显示全部楼层

厉害,正打着灯笼打呢,一不小心就找到了,谢谢楼主。
回复

使用道具 举报

发表于 2009-9-18 01:38 | 显示全部楼层

太好了 。。。。。。。。。。。。。。。。。。。

回复

使用道具 举报

发表于 2009-12-15 15:21 | 显示全部楼层

高手,下载来试下。
回复

使用道具 举报

发表于 2009-12-15 15:32 | 显示全部楼层

试了下,对多排表工具(加载宏:dpbtools.xla)的工程无法查看源码,其他的可以。
回复

使用道具 举报

发表于 2009-12-16 04:55 | 显示全部楼层

学习

[em02][em02]
回复

使用道具 举报

发表于 2009-12-29 17:42 | 显示全部楼层

真是厉害!!
回复

使用道具 举报

发表于 2010-1-11 03:26 | 显示全部楼层

QUOTE:
以下是引用ttui在2007-4-24 9:45:00的发言:

'***************************************************************************
'*
'* MODULE NAME:     Protected VBA project Picklock(PVP)
'* AUTHOR & DATE:   tt.t
'*                  23 April 2007
'* E-Mail:          ttui(AT)163.com, sohu邮箱垃圾邮件太多已经不用了
'*
'* Usage:           运行FrmHookMain窗口,点补丁,然后双击工程窗口中有密码保护的模块
'*                  应该能够直接打开了:)
'*
'*
'* DESCRIPTION:     在写中文字符串转换为拼音函数(HzToPy)过程中,第一次发现VBA功能的强大.
'*                  于是这次尝试将其他语言中比较好写的API HOOK移植成VBA代码,
'*                  正好顺便把VBA密码保护去掉,喜欢加密码的朋友不要生气啊:)
'*                  总的来说VBA的写法和其他语言区别不大,但VBA毕竟不太方便,代码必须放在标准模块中.
'*                  再有就是对指针的支持实在有限,于是最后选择了一种写起来最简单的API hook方法,
'*                  就是所谓的陷阱法.如果你不太清楚什么是API HOOK,请求助于google.
'*
'* Theory:         这里就不说API hook的方法了,都是传统方法没什么可说的,这里只
'*                  简单说下VBA模块密码破解.其实这些我也不是很了解,毕竟知道加密过程
'*                  用处不大,这个问题上我比较关心结果:)
'*                  判断有密码以及提示输入密码都是VBE6.dll干得好事.如果有密码,
'*                  VBE6.dll会调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号
'*                  对话框(就是那个输入密码的窗口),若DialogBoxParamA返回值非0,
'*                  则VBE会认为密码正确,然后乖乖展开加密模块的资源.很显然其中存在很大
'*                  漏洞,就像给日记本加上了锁,但里面全是活页,我们不需要打开锁,只要从侧面
'*                  取出活页就可以了.这个从侧面取活页的过程就是hook住DialogBoxParamA函数,
'*                  若程序调用DialogBoxParamA装入4070号对话框,我们就直接返回1,让
'*                  VBE以为密码正确.
'*
'* PS:              PVP是在一个叫Advanced VBA Password Recovery (AVPR)的软件启发下
'*                  作出来的,AVPR提供了一个VBA Backdoor功能就是跳过密码直接查看工程资源.
'*                  它的原理和PVP一样,但用了通用性比较差的方法,适用系统比较有限,而PVP的方法
'*                  理论上适用于所有采用第4070号对话框录入密码的Office系统.
'*                  经测试PVP适用于Office 2002, 2003, 2007,其他版本尚未测试,但估计依然有效.
'*                  在2000和XP系统上测试通过,但条件限制没有在Vista系统上测试,听说Vista有些机制
'*                  可能影响API hook,暂时没机会测试就先这样吧~
'*
'*                  *64位操作系统下面的API hook代码肯定运行出错,就不要测试了
'*
'*
'***************************************************************************

欢迎反馈

不错不错,谢了

[em23][em23][em23][em23][em23][em23][em24][em24][em24]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 22:01 , Processed in 0.525959 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表