
正文
vb.net加壳 vbnet createobject
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net生成java可调用的dll(2)
调用函数的时候内部的工作原理。
不加的话默认是__cdecl,加的话变成__stdcall,
虽然没有硬性规定,不过DLL导出方法比较习惯会是后一种。
它涉及到调用函数的时候如何传递参数。
函数调用的时候参数是通过运行时栈来传递的,将参数放入栈中,然后进入函数代码执行
在执行完函数代码之后,要将栈中的参数清理掉。此时应该由哪一边来清理,是__cdecl和__stdcall最大的不同。
前者的原则是谁放进栈的谁清理,后者的原则是谁用完谁清理。
只要保证调用的一方的声明和被调用的一方的声明一致,就没有问题
否则会出现两边都不清理参数或者参数被重复清理的问题,都会造成栈的不平衡,然后大多数情况下这个时候程序崩溃
啥?写上WINAPI报错是不是没有引入必要的头文件啊比如windows.h……
直接写 __stdcall 来代替WINAPI也可以,如果没有引入头文件的话……
相关问答
Q1: 请问一个问题。VB开发的软件怎样防止反编译
可以通过加壳来防止反编译。。。
但是现在许多公开的反编译软件都只能反编译出窗体,所以您不用担心。。。
Q2: 为什么连没有加壳的VB程序都没有反编译的软件呢?
因为VB使用的不是伪代码,是连接而成的代码。所以反编译过程是有难度的,最多只能反编出部分
但是其它的就不同,比如java
Java是解释运行,所以可以反编译,而且成功率较高。
Q3: 什么叫加壳?什么叫脱壳?怎样加壳?怎样脱壳?
壳,脱壳,加壳
在自然界中植物用它来保护种子,动物用它来保护身体等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
(一)壳的概念
作者编好软件后,编译成exe可执行文件。
1.
有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.
需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩,
3.
在黑客界给木马等软件加壳脱壳以躲避杀毒软件。
4.
实现上述功能,这些软件称为加壳软件。
(二).加壳软件最常见的加壳软件ASPACK
,UPX,PEcompact
不常用的加壳软件WWPACK32;PE-PACK
;PETITE
;NEOLITE
(三).侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。
1.侦测壳的软件fileinfo.exe
简称fi.exe(侦测壳的能力极强)
2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒)
推荐language2000中文版(专门检测加壳类型)
3.软件常用编写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)
(四)脱壳软件。
软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。
关于vb.net加壳和vbnet createobject的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






