Tesla.Angela 发表于 2010-8-6 23:42:08

[x86ASM]强制结束线程 - TaTerminateThread

本帖最后由 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

另外很想说个题外话,有没有人理解我的签名中那首诗的意境?

练得身形似鹤形,
千株松下两函经。
我来问道无馀说,
云在青天水在瓶。



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


答案:
**** Hidden Message *****

Tesla.Angela 发表于 2010-8-6 23:44:15

请各位直言指出代码的不足

马大哈 发表于 2010-8-7 09:36:03

对我来说,最大的不足是----------看不懂:D

ok100fen 发表于 2010-8-7 16:10:10

高水平

inside 发表于 2010-8-8 16:38:51

这个似乎很简陋

Tesla.Angela 发表于 2010-8-8 21:56:17

这个似乎很简陋
inside 发表于 2010-8-8 16:38 http://www.m5home.com/bbs/images/common/back.gif

多谢兄弟直言

xiaoly99 发表于 2010-8-9 14:38:21

TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......

Tesla.Angela 发表于 2010-8-9 19:31:39

TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......
xiaoly99 发表于 2010-8-9 14:38 http://www.m5home.com/bbs/images/common/back.gif

不知道驱动里怎样malloc。

Tesla.Angela 发表于 2010-8-10 17:14:35

忽然想起汇编是可以调用C库函数的。。。这不就简单了???

jiedengye 发表于 2010-8-13 17:33:58

是汇编写的就强大 支持汇编 可惜我不懂

Tesla.Angela 发表于 2010-8-13 18:09:59

回复 11# jiedengye



是汇编写的就强大

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

jiedengye 发表于 2010-8-16 10:36:51

我只是很向往 汇编 也许是看黑客帝国看多了 哈哈

腾袭 发表于 2010-9-11 09:23:41

回复 9# Tesla.Angela


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

Tesla.Angela 发表于 2010-9-11 11:22:03

回复 14# 腾袭


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

Xor 发表于 2011-3-16 14:59:17

这个不一定要汇编吧?vb好像也可以哦

nbboy 发表于 2011-3-22 09:03:13

坐等大侠讲签名

Tesla.Angela 发表于 2011-3-29 11:34:21

回复 nbboy 的帖子

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

TouDaiMa 发表于 2013-1-30 19:26:15

看看

upring 发表于 2015-4-19 08:23:48

看看答案 谢谢

wpig 发表于 2020-3-7 22:46:47

我是来看答案的
页: [1]
查看完整版本: [x86ASM]强制结束线程 - TaTerminateThread