⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kill.txt

📁 关于黑客的论坛的下载资料
💻 TXT
字号:
    首先在config.sys中加载soft-ice,这是必需的。(我看应该给soft-ice的作者
颁发诺贝尔奖,这是个造福全人类的东西)
    在命令行上运行ldr kill.exe,开始跟踪。
    由于kill的加密特点,我们不需原来的钥匙盘既可解密。
    打入G回车运行,当发生读软盘动作时马上按<ctrl>+D中断kill的运行,返回
soft-ice调试窗口,这时十有八九正处于读盘中断调用内。按若干次p键进行跟踪,
直到发现密钥判别的分支点,如何找到?这要靠你的经验、灵感和机会。
    我所找到的分支点如下:(前面加了行号)
1 2A1B:0010 9A28058232    CALL 3282:0528   ;调用读密钥盘模块
2 2A1B:0015 59            POP CX
3 2A1B:0016 0BC0          OR AX,AX
4 2A1B:0018 7408          JZ 0022          ;如果不是密钥盘跳转
5 2A1B:001A C7066B500000  MOV WORD PTR [506B],0000
6 2A1B:0020 EB2F          JMP 0051
    为了验证一下这儿是不是分支点,可以把第4行改为JNZ 0022,打入G程序顺利
运行,说明找到的分支点是对的。
    虽然改一个字节就可以,但这样改的话,程序每次运行都要读一下软盘,给人
以不太流畅的感觉。所以最终的改法如下:
1 2A1B:0010     POP CX
2 2A1B:0011     JMP 001A
3 2A1B:0016     OR AX,AX
4 2A1B:0018     JZ 0022
5 2A1B:001A     MOV WORD PTR [506B],0000
6 2A1B:0020     JMP 0051
    这样改后运行时就不读盘了。第一行的POP CX指令不可少,否则发生栈指针差
一个导致程序崩溃。
    问题到这儿还没完,完善的加密系统是不会让你直接修改程序的。而是采用了
代码生成技术。上面那段代码在程序中是通过计算生成的,你要找到由哪段代码经
过怎样的计算才生成的这一段代码。这就要靠soft-ice的bpm 2a1b:0010来帮助了。
经过多次的bpm你会找到最终的目标如下:
AX=67E4 BX=179B CX=0001 DX=B81B SP=3062 BP=2DE8 SI=000E DI=000E
DS=1CBA ES=1CBA SS=39B2 CS=39B2 IP=2E7A

39B2:2E79 AD       LODSW
39B2:2E7A 33C3     XOR AX,BX
39B2:2E7C 03C2     ADD AX,DX
    :2E7E 83C325   ADD BX,+25
    :2E81 83EA5B   SUB DX,+5B
    :2E84 AB       STOSW
    :2E85 E2F2     LOOP 2E79

1CBA:000E处的数据如下
1CBA:000E E4 67 85 B0 5F
    算法有了,原始数据有了,且上述算法还是可逆的。怎么改就不用多说了。
    kill是用Keymaker 3.0加密的,Keymaker的代码变换技术太简单,且还是
可逆的,不象bitlock,bitlock的代码变换是不可逆的,利用前一个字节生成
下一个字节。用bitlock加密的软件不可能直接修改,只能用脱壳的方法。
    抛砖引玉,希望大家都来探讨一下hacker经验,要是每个人都会那么几手,
那可就......

  F000:ec59 是 BIOS 的 INT40中断(也就是软盘中断)的入口.
不论程序如何调用(int13), 但是只要是读软盘, 最后都要到这里执行.
(除非自己编硬件程序, 但到现在还没有看到).
  所以只要看住这里就不怕它(程序)闹翻天! :-)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -