能力值:
( LV2,RANK:10 )
|
-
-
2 楼
.........没人能帮帮我么............
哎..
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我来**。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
关注下
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
估计,你只是注入了dll,并没有起线程吧
在dllmain里弹个messagebox看看,注入了成功了就会弹,在main里面搞搞就可以了,区分好load和free
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我更加 郁闷 了....
我是学 面向对象的 语言 DLL 对我们来说只是个 动态链接库 相当于一个功能模块...
没有听说过还有个 DLL Main方法呀...........
郁闷 高手 救救我这个无知的人吧...
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
-------------------------
这是C#里面创建一个 类库..貌似就是 DLL郁闷
你们说的那个 DLL是什么呢?
为什么会有 Main方法?
高手啊 救救我吧..
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我随便说两句,如果说错了牛们见谅啊,第一次回非水的帖,比较紧张。。。
关于注入和创建线程你要区分开哦,注入之后你用OD去attach那个被注入进程,然后点M(或alt+M)可以看到进程空间里有注入的DLL的名字,那就说明注入已经成功了,至于线程,你就要在DLL里创建一个死循环的线程了,如果不是死循环,这个线程一旦运行完了也就自动关掉了,你再查线程肯定查不到,都运行完结束了怎么查啊,所以,创建一个死循环的进程(用CreateThread,别在DLL MAIN里死循环,网上有这方面的代码,很多的,就是PeekMessage TranslateMessage DispatchMessage这三个API的那个)在用OD去attach然后atl+T去看,就能看到线程了,对于DLL MAIN,这个是DLL的入口,就像编console的程序入口是MAIN一样,建议用VC++6写DLL吧,(.NET偶不会写DLL),而且.NET的DLL貌似也是OO的。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
您好:
我试着回答一下。你用c#的话,建立一个窗体应用程序
会有如下的类:
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
main方法是静态的(与java一样)[STAThread]是说明这个线程是静态的,在进程创建以后,会创建一个主线程。这个主线程会创建一个form窗口。消息循环(就是事件,在c#已经封装好了)
你要是在C#中引入dll要调用dllimport(忘了这么写了),然后使用win32的api。你参考windows核心编程,会教你写一个注入其他进程并创建线程,执行的方法(会被杀软报)。
C#是framework框架下(类似虚拟机)跟java一样,要是操作windows的内存,要通过win32api函数(c#下也有操作内存的类吧。不过我没用过,我都是用c++)
你要是有C语言的基础,还是学一学C/C++吧,它写win32的应用程序还是挺顺手的。就是没有c#写页面方便。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
您好:
我试着回答一下。你用c#的话,建立一个窗体应用程序
会有如下的类:
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
main方法是静态的(与java一样)[STAThread]是说明这个线程是静态的,在进程创建以后,会创建一个主线程。这个主线程会创建一个form窗口。消息循环(就是事件,在c#已经封装好了)
你要是在C#中引入dll要调用dllimport(忘了这么写了),然后使用win32的api。你参考windows核心编程,会教你写一个注入其他进程并创建线程,执行的方法(会被杀软报)。
C#是framework框架下(类似虚拟机)跟java一样,要是操作windows的内存,要通过win32api函数(c#下也有操作内存的类吧。不过我没用过,我都是用c++)
你要是有C语言的基础,还是学一学C/C++吧,它写win32的应用程序还是挺顺手的。就是没有c#写页面方便。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢 前辈指点 多谢了!已结贴!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
5楼说的main方法是DLL文件入口函数。等于控制台下的main函数。等于win32 app里的WinMain函数
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
不懂,关注ing
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
C#的DLL没有DLLMAIN,不能自动执行的
|
|
|