像strcpy,gets等函数总是很危险吗?如果我写这样的代码怎么办:
int main(void)
{
char *str1 = "abcdefghijklmnop";
char *str2 = malloc(100);
strcpy(str2, str1);
}
Run Code Online (Sandbox Code Playgroud)
这样,函数不接受参数(参数...),并且str变量将始终具有相同的长度...这里是16或稍微多一些,具体取决于编译器版本......但是100可以满足3月,2011年:).有没有办法让黑客利用上面的代码?10倍!
所以.这是一个基本问题我猜:如果我用一些.net混淆器'加密'代码 - 那么这个代码不能在另一台机器上运行的机会是什么(...没有安装任何ob*软件的机器......) ?
感谢到目前为止的回复...我看到它的方式,exe/dll仍然可以被拆解,你需要额外的保护来对抗这个?此外,dotfuscator在目录中使用混淆的exe生成一些奇怪的xml文件...现在我明白了.这个xml文件被称为"Map",它存储了我的类的名称 - 我想知道如果我重命名/删除它会发生什么,我猜:没有.
如果我编写一个专为.NET 2设计的应用程序,然后只安装了.NET 3的计算机启动应用程序 - 它会起作用吗?
我知道框架之间存在一些重大变化,例如过时的方法,例如LINQ等新功能(只有3.5?).
如果我使用.NET 3测试代码并且它有效,该怎么办?
描述我的情况:我的PC上同时有.NET 2和.NET 3 - 当我点击"projects - > settings - > .NET 2"然后startwithoutdebugging时,绝对没有问题.当我做项目时 - >设置 - > .NET 3然后启动应用程序而不进行调试也绝对没有问题.
我只想确保我的应用程序可以运行在.NET> = 2.0的任何机器上.