如何创建"原生32位"应用?

时间:2017-12-22 10:13:45

标签: c# metasploit

我在kali linux中使用shellter并想使用该软件注入文件?我在C#中创建了一个简单计算器,使用带有平台x86的visual studio和编译时的发布模式。但仍然shellter显示错误,它只支持"原生32位应用程序"。 我做错了什么?我在我的视觉工作室编译了32位。

2 个答案:

答案 0 :(得分:1)

您无法在C#中编写本机应用程序。

Shellter是一个“AV Evasion Artware”产品,它可能会通过反汇编并使用不同的指令(但具有相同的最终结果)将部分应用程序代码重新组合在一起来重写部分应用程序代码。

将.NET应用程序编译为中间语言(通用中间语言(CIL),以前称为Microsoft中间语言(MSIL)),并在最终用户计算机上对它们进行解释(并可能编译为本机代码)。来自Wikipedia

  

在编译CLI编程语言期间,源代码被转换为CIL代码而不是平台或处理器特定的目标代码。 CIL是独立于CPU和平台的指令集,可以在支持公共语言基础结构的任何环境中执行,例如Windows上的.NET运行时或跨平台的Mono运行时。

如果要生成包含由CPU直接执行的机器指令的真实本机应用程序,则需要使用C / C ++或Delphi编写应用程序。

答案 1 :(得分:0)

我不是linux-pro而且不知道shellter是什么,但我想在这种情况下本机意味着应用程序必须是原生的cpp应用程序。 dotnet和java作为考试不是原生的,因为在构建时编译为字节码,然后在运行时编译为机器代码。所以我认为你必须用c ++编译机器代码的语言编写你的应用程序。