delphi判断线程是否正在运行

以下资料来自大富翁论坛。
判断线程是否释放
返回值:0-已释放;1-正在运行;2-已终止但未释放;3-未建立或不存在

function TFrmMain.CheckThreadFreed(aThread: TThread): Byte;
var
 i: DWord;
 IsQuit: Boolean;
begin
 if Assigned(aThread) then

…..

多线程: 不使用同步工具, 手动协调线程依次执行

在前面例子的基础上, 探讨新问题.

假如我们想让几个线程(例子中是 3 个)依次执行, 我们可以使用临界区、信号、互斥等手段;

但下面第一个例子什么同步工具都没用, 也达到了目的; 方法是: 让前一个线程在结束前顺便启动下一个线程.

第二个例子使用了互斥对象配合 WaitForSingleObject 函数, 也达到相似的目的.

效果图(两个例子的效果图差不多, 但第二个例子的执行顺序不好保证):

….

Ring3下注入DLL的另类方法,能过杀软和游戏NP(源码)

Ring3下注入DLL的另类方法,能过杀软和游戏NP(源码)

    注入DLL是做全局钩子或者拦截类软件都有可能用到的技术,如果做外挂的话我们也有可能需要注入一个DLL到游戏进程中去干点什么“坏事”。 但我们知道现在要注入DLL是越来越难了。场景1:制作火星文输入法外挂,原理是利用API HOOK拦截并修

未命名文章

原理是以独占的方式打开文件,再把文件句柄复制到另一个程序中去,达到本程序退出后目标文件仍被打开的目的

program createfile; 

uses 

  Windows, SysUtils; 

//提权函数 

procedure SetPrivilege

…. 

绕过主动防御的代码注入方法(非DELPHI代码)

明生注:这并非是一份DELPHI代码,但是里面的东西值得学习。如果学远程注入可以找到相关的资料所以我就转过来了

目前大多数的杀软都是hook NtWriteVirtualMemory和NtUserSetWindowsHookAW、NtUserSetWindowsHookE来防止代码注入。

关于代码注入Ring3层的方法主要有:

l 远程线程CreateRemoteThread

l 消息钩子SetWindowsHookEx

明生注:这并非是一份DELPHI代码,但是里面的东西值得学习。如果学远程注入可以找到相关的资料所以我就转过来了

目前大多数的杀软都是hook NtWriteVirtualMemory和NtUserSetWindowsHookAW、NtUserSetWindowsHookE来防止代码注入。

关于代码注入Ring3层的方法主要有:

l 远程线程CreateRemoteThread

l 消息钩子SetWindowsHookEx

DELPHI木马生成技术!(配置)api

经常会看到鸽子或一些木马可以自定义生成一个服务端程序,开始很奇怪,他是怎么做到的!后来去网上搜了下,但是没找到相关文章! 后来碰巧得到了一个QQ病毒的源代码,而这个程序就可以生成一个文件,于是就研究了下代码,但是收获不大,但是很实用,他的大致思路和鸽子是一样的:

原理一:

在程序的尾部追加数据,然后程序运行时从尾部读取数据,这个方法看似容易,但是实际操作的时候遇到了很多问题,我最不明白的是他既然加了数据又是怎么保持PE文件本身的格式的!但是这个方法确实可行,我看了鸽子的源码,他所用的方法基本一样!先把一个文件复制出来然后把数据写到文件尾部!

……