我想用代码注入调用游戏函数。经过一些尝试后,我发现一个dll做了我想要的。注入C#代码到另一个进程并调用目标函数
所以我看到与ILSpy的DLL,但不明白的代码。
class <Module>
{
[SecurityCritical, SuppressUnmanagedCodeSecurity]
[DllImport("", CallingConvention = CallingConvention.ThisCall, SetLastError = true)]
[MethodImpl(MethodImplOptions.Unmanaged)]
internal unsafe static extern float* GetHealth(AttackableUnit*);
}
--------------------------
namespace Native
{
[NativeCppClass]
[StructLayout(LayoutKind.Sequential, Size = 1)]
internal struct AttackableUnit
{
}
}
---------------------
public unsafe float MaxHealth
{
get
{
Native.AttackableUnit* ptr = (Native.AttackableUnit*)base.GetPtr();
if (ptr != null)
{
return *<Module>.Native.AttackableUnit.GetMaxHealth(ptr);
}
return 0f;
}
}
似乎dll注入c#代码到目标应用程序与c + + dll和引导程序.net目标。
现在我不明白什么是
函数[DllImport( “”,CallingConvention = CallingConvention.ThisCall, SetLastError =真)]的含义
为什么文件路径空? DLL如何管理类和函数调用?我的意思是程序员使用什么技术?
编辑: 我试图理解的图书馆的名字是Elobuddy也许有帮助。
chcek该dll文件丢失或不是 –
它的一个字符串,我不认为空字符串是缺少DLL。我认为它必须针对注入的应用程序的DLL。 –
如果你想破解健康或金钱等变量,你可以尝试[记忆黑客](http://www.cheatengine.org)或[.net反射](https://www.codeproject.com/Articles/17269/Reflection-in-C-Tutorial)如果你想调用方法。 –