找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 16228|回复: 19

[x86ASM]强制结束线程 - TaTerminateThread

 火... [复制链接]

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
发表于 2010-8-6 23:42:08 | 显示全部楼层 |阅读模式
本帖最后由 Tesla.Angela 于 2010-8-7 00:23 编辑

TaOpenThread的汇编版本暂时不想写了,谁爱写谁写吧。
以下是TaTerminateThread的代码:
.386
.model
flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
include macro.asm
.data
    NtDllDll db 'NTDLL.DLL',0
    Kernel32 db 'kernel32.dll',0
    GetDebug db 'RtlAdjustPrivilege',0
    ExThread db 'ExitThread',0
.CODE
START:
    getp proc
        local hNtdll:DWORD
        local pRtlAdjustPrivilege:DWORD
        local rtv:DWORD
        invoke LoadLibrary,offset NtDllDll
        mov hNtdll,eax
        invoke GetProcAddress,hNtdll,offset GetDebug
        mov pRtlAdjustPrivilege,eax
        lea eax,rtv
        push eax
        push 0
        push 1
        push 20
        call pRtlAdjustPrivilege
        invoke FreeLibrary,hNtdll
    getp endp
    tatt proc
        local hThread:DWORD
        local hModule:DWORD
        local ctx:CONTEXT
        invoke OpenThread,THREAD_ALL_ACCESS,0,2020;ThreadId
        mov hThread,eax
        .if eax==0
            invoke ExitProcess,0
        .endif
        invoke GetModuleHandle,offset Kernel32
        mov hModule,eax
        invoke GetProcAddress,hModule,offset ExThread
        mov ctx.regEip,eax
        invoke SuspendThread,hThread
        invoke SetThreadContext,hThread,addr ctx
        invoke ResumeThread,hThread
        invoke CloseHandle,hThread
    tatt endp
    invoke ExitProcess,0
end START

另外很想说个题外话,有没有人理解我的签名中那首诗的意境?
练得身形似鹤形,
千株松下两函经。
我来问道无馀说,
云在青天水在瓶。

云在青天水在瓶,
一行一动各一名。
若能参透瓶中意,
虚空法界任其行。


答案:
游客,如果您要查看本帖隐藏内容请回复

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-8-6 23:44:15 | 显示全部楼层
请各位直言指出代码的不足

275

主题

3019

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17066

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2010-8-7 09:36:03 | 显示全部楼层
对我来说,最大的不足是----------看不懂
我就是嗷嗷叫的老马了......

90

主题

473

回帖

2

精华

钻石会员

积分
3261
发表于 2010-8-7 16:10:10 | 显示全部楼层
高水平

6

主题

32

回帖

2

精华

核心会员

积分
2250
发表于 2010-8-8 16:38:51 | 显示全部楼层
这个  似乎很简陋

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-8-8 21:56:17 | 显示全部楼层
这个  似乎很简陋
inside 发表于 2010-8-8 16:38


多谢兄弟直言

6

主题

196

回帖

0

精华

铜牌会员

菜鸟

积分
52
发表于 2010-8-9 14:38:21 | 显示全部楼层
TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-8-9 19:31:39 | 显示全部楼层
TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......
xiaoly99 发表于 2010-8-9 14:38


不知道驱动里怎样malloc。

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-8-10 17:14:35 | 显示全部楼层
忽然想起汇编是可以调用C库函数的。。。这不就简单了???

29

主题

134

回帖

4

精华

论坛元老

积分
5970
QQ
发表于 2010-8-13 17:33:58 | 显示全部楼层
是汇编写的就强大 支持汇编 可惜我不懂

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-8-13 18:09:59 | 显示全部楼层
回复 11# jiedengye


是汇编写的就强大

这句话我不赞同,语言只是手段,不是目的。

29

主题

134

回帖

4

精华

论坛元老

积分
5970
QQ
发表于 2010-8-16 10:36:51 | 显示全部楼层
我只是很向往 汇编 也许是看黑客帝国看多了 哈哈

3

主题

38

回帖

0

精华

初来乍到

积分
14
发表于 2010-9-11 09:23:41 | 显示全部楼层
回复 9# Tesla.Angela


    呃,话说驱动中的malloc不就是ExAllocatePool \ ExAllocatePoolWithTag

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2010-9-11 11:22:03 | 显示全部楼层
回复 14# 腾袭


    说错了,是不知道汇编里怎么malloc,不过现在知道了,直接调用C库函数即可。

40

主题

324

回帖

0

精华

铂金会员

Eax=0

积分
1575
发表于 2011-3-16 14:59:17 | 显示全部楼层
这个不一定要汇编吧?vb好像也可以哦
Do my best.

5

主题

39

回帖

1

精华

铂金会员

积分
1567
发表于 2011-3-22 09:03:13 | 显示全部楼层
坐等大侠讲签名

858

主题

2638

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36138
 楼主| 发表于 2011-3-29 11:34:21 | 显示全部楼层
回复 nbboy 的帖子

可以看看电视剧《大明王朝1566》。

3

主题

36

回帖

1

精华

铂金会员

积分
2532
发表于 2013-1-30 19:26:15 | 显示全部楼层
看看

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-4-19 08:23:48 | 显示全部楼层
看看答案 谢谢

0

主题

25

回帖

0

精华

铜牌会员

积分
33
发表于 2020-3-7 22:46:47 | 显示全部楼层
我是来看答案的
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表