mmffddyy 发表于 2024-5-1 22:01

无驱动强删文件求助

可强删运行中的exe文件,好奇这东西的底层原理是什么,有没有懂的解答一下


BOOL ForceDeleteW(LPCWSTR file) {
        TCHAR TempPath = { 0 };
        if (!GetTempPathW(MAX_PATH, TempPath)) {
                return FALSE;
        }

        const char seed_str[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        srand(time(0));
        int len = wcslen(TempPath);
        int i = len;
        for (; i < len + 10; ++i) {
                TempPath = seed_str[(rand() % (sizeof seed_str - 1))];
        }
        TempPath = 0;

        CreateDirectoryW(TempPath, 0);
        wcscat_s(TempPath, L"\\....\\");
        CreateDirectoryW(TempPath, 0);

        TCHAR TempFile = { 0 };
        wcscpy_s(TempFile, TempPath);
        wcscat_s(TempFile, L"temp");

        MoveFileW(file, TempFile);
        MoveFileW(TempPath, TempFile);

        RemoveDirectoryAndFileW(TempPath);
        return TRUE;
}

ltgb 发表于 2024-5-2 07:04

这东西能发吗

magiclyan 发表于 2024-5-2 10:26

记得Windows平台上有一款可以无限刷复制、删除使用中文件的app,可以研究下那个这个和那个原理上差不多
应该是通过某种协议/漏洞,强制解除程序的进程但是不会引发程序出错(类似于虚进程)
这样就可以正常进行相关操作

黎昕 发表于 2024-5-2 11:14

本帖最后由 黎昕 于 2024-5-2 11:16 编辑

这个文件并没有被删除,以前我一直以为已经删除了,然而只是移动到了某个文件夹而已
页: [1]
查看完整版本: 无驱动强删文件求助