x86ASM

[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

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

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


答案:
游客,如果您要查看本帖隐藏内容请回复
倒序浏览 看全部 全部回复19
请各位直言指出代码的不足
对我来说,最大的不足是----------看不懂
高水平
  • 5楼 inside
  • 2010-8-8 16:38:51
这个  似乎很简陋
这个  似乎很简陋
inside 发表于 2010-8-8 16:38


多谢兄弟直言
TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......
TaOpenThread是通过Query句柄实现的吧.用汇编写恐怕......
xiaoly99 发表于 2010-8-9 14:38


不知道驱动里怎样malloc。
忽然想起汇编是可以调用C库函数的。。。这不就简单了???
是汇编写的就强大 支持汇编 可惜我不懂
回复 11# jiedengye


是汇编写的就强大

这句话我不赞同,语言只是手段,不是目的。
我只是很向往 汇编 也许是看黑客帝国看多了 哈哈
  • 13楼 腾袭
  • 2010-9-11 09:23:41
回复 9# Tesla.Angela


    呃,话说驱动中的malloc不就是ExAllocatePool \ ExAllocatePoolWithTag
回复 14# 腾袭


    说错了,是不知道汇编里怎么malloc,不过现在知道了,直接调用C库函数即可。
  • 15楼 Xor
  • 2011-3-16 14:59:17
这个不一定要汇编吧?vb好像也可以哦
  • 16楼 nbboy
  • 2011-3-22 09:03:13
坐等大侠讲签名
回复 nbboy 的帖子

可以看看电视剧《大明王朝1566》。
看看
  • 19楼 upring
  • 2015-4-19 08:23:48
看看答案 谢谢
  • 20楼 wpig
  • 2020-3-7 22:46:47
我是来看答案的
回复 收藏 转播 分享 淘帖