我正在制作 C#DLL ,其中将在Skype中注入,这是非常基本的,它应该显示消息框。
我到目前为止的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace L3n_Hack_DLL
{
public class Class1
{
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(int hProcess,
int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);
public static void Main()
{
MessageBox.Show("working", "teste", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
无论如何,当我注入它时没有显示任何内容时,我导入了kernel32.dll并实现了OpenProcess()和ReadProcessMemory()方法以便以后使用。 我的问题是,注入时DLL从哪里开始?
它不应该在static void Main()中启动吗?
答案 0 :(得分:1)
This code project article为您提供了一个很好的演练,介绍如何将.Net程序集注入非托管进程。它首先加载一个非托管的bootstrapper.dll,它可以解决加载.Net运行时和托管程序集的问题。