VB编程软件

VB编程软件,第1张

明确告诉你,目前世界上还没有任何一款软件能对稍复杂(注意仅仅是稍复杂)一点的VB6编译过成的EXE进行实用的反编译,且不用说目前的软件EXE文件大都经过加壳这样的保护处理,反编译更是不可能了。我在《问专家》网上看到过专家的解答就是这个意思,上面提到过一款说是最好的反编译VB软件,也只能把很简单的EXE编译出窗体文件,代码代码可读性非常差,更不用说稍复杂一点的程序了。

以上是全文转载的

===============================

顺便提醒一下,目前网上的"VB反编译精灵",80%以上带病毒,100%带插件,如要安装,请仔细检查,最好是用虚拟机,还有开系统还原

研究到大半夜得出结论是VB做不到这一点,具体原因入下:

VB可以写出标准DLL,用一些特殊的插件或者自己编写一些小工具可以做到这一点,百度上我也回答过,验证是可行的,你写的注入代码除了我前面提到过的那一点之外,也都是正确的,但是VB确实每次都会让目标进程崩溃,用IDA查了一下,发现总是死在这个函数里vbaSetSystemError ,在CSDN上查了一下,这个函数是VB编译时候自动加上的,它会检查每次调用API的返回值,但是因为我们是在DLL内部掉API,VB本身设计时没考虑这一点,所以到这个函数里头,它就崩溃了,而我们也没办法阻止我们自己的代码调用这个函数,所以这个只能说是VB自身的问题,确实没办法用VB做线程钩子,只能用VC去做。

查了一下,如何去掉这个函数网上也提了一些说法,不过整体上感觉过于复杂,不值得使用,其中主要的手段就是修改汇编指令,把这个函数从内存里改掉,这个办法通用性差,不值得使用,别的方法就不太有效了。

所以最后总结下来VB就是不支持这么做,没有办法了

============================

Private Declare Function CallNextHookEx Lib "user32" (ByVal hhook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long

这个API是从API浏览器上拷贝下来的吧?这么干是不行的。。

必须这样:

Private Declare Function CallNextHookEx Lib "user32" (ByVal hhook As Long, ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

你代码里没有callnexthook,这样恐怕不行吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11504361.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存