SKY外语计算机学习
标题:
全球首创? 挑战VB顶级极限,老汉用VB写驱动Hello VbDrv
[打印本页]
作者:
SKY定格
时间:
2012-5-24 12:12
标题:
全球首创? 挑战VB顶级极限,老汉用VB写驱动Hello VbDrv
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
某些大牛总是说VB不能搞底层,VB不能写驱动!那么请看... 老汉出品
回复可见 另附件原扩展名为rar应上传限制改为gz
附件中有两个文件:
Project5.exe 为VB的EXE
Project5.sys VB驱动.
Comparing files Project5.sys and PROJECT5.EXE
000000E0: 70 C4
000000E1: 08 03
00000108: 88 A0
00000110: 89 D6
00000111: 47 4F
00000114: 01 02
00000138: 00 E0
00000139: 00 0C
复制代码
EXE的那个不是驱动,只是显示一个函数的地址,这样好方便"动手术"
SYS的才是驱动,驱动要自己加载了
[attach]47[/attach]
作者:
SKY定格
时间:
2012-5-24 12:14
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
1.首先遇到的第一个问题是,VB的msvbvm60.dll
这根拐杖不可能带到驱动里去,那么乍办呢,还好,VB还是可以扔掉拐杖的.
扔掉拐杖,告别微软件,站起来吧!VB!
解决方案1: 直接改PE的导入表,去掉这只拐杖
解决方案2: 移除 工程1.obj里面的引入表,这样VB就自己丢掉拐杖了,卖嘎滴!
2.接下来第二个问题是,没了msvbvm60,这下VB成了茄子了.VB的函数都不能用了
有个声音说"那我们可以用API啊",老汉道:"刚才那是谁?给我站出来"...没人?看来是人老耳鸣了.
任何delcare声明的winapi都不能用了,原因,vb天生自做聪明的总是在调用API后加个set dll err.
而这个函数正好都在那只拐杖里,没了拐杖那还不跌倒了? 会显示一个漂亮的(内存不能为read)
解决方案1: 不用API改用TLB
解决方案2: 改写同名的VB函数,保持参数和出栈的一致,最后编译后替换
3.接下来的第三个问题: VBDDK没有,只有C/C++的DDK
解决方案1: 重新翻译成VB的
解决方案2: 找个软件自动转换成VB的,肯定有错,需要人工修正(这个无奖励的苦力活由哪个呆子来干呢?)
解决方案3: ______(填空题 5分)
作者:
SKY定格
时间:
2012-5-24 12:16
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
原创 vbgood老汉
作者:
sky7987
时间:
2012-5-24 12:51
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
看看 什么效果
作者:
dowi
时间:
2012-5-24 13:04
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
十分感谢....看看的.
作者:
kevinqq
时间:
2012-6-24 02:55
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
不能搞底层,VB不能写驱动!那
作者:
SKY定格
时间:
2012-6-24 09:35
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
不能搞底层,VB不能写驱动!那[/quote]
看看那你就知道能不能了 高手的思路 我们凡人是不能理解的啦
作者:
Ooshi001
时间:
2013-10-9 11:09
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
都是要回复的.
作者:
moneywywl
时间:
2013-10-10 10:50
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
看看怎么样哦`!!!
作者:
Jcr
时间:
2013-10-11 22:01
本帖最后由 sky_yx 于 2015-12-30 14:19 编辑
...........................
欢迎光临 SKY外语计算机学习 (http://join.skywj.com/)
Powered by Discuz! X2.5