库名称和函数名称混淆

时间:2015-06-16 04:57:22

标签: c assembly disassembly

我的c代码包含字符串常量,通过#pragma comment(lib,“urlmon.lib”)和#includes导入库。我的任务是混淆所有字符串,导入的库名称和相关的函数,以便在调试器中很容易看到它们,比如OllyDbg等。 我对字符串有一些线索,但是库和函数名称的混淆让我头疼。

这是代码

#include <stdio.h>
#include <windows.h>

#pragma comment(lib, "urlmon.lib")

int main(void)
{
    int op1, op2, n;
    HRESULT res;

    printf("some string- Version 0xC0DEDBAD\n");
    printf("some string:\n");
    printf("1) some string\n");
    printf("2) some string\n");
    printf("3) some string\n");
    printf("4) some string \n");

    scanf("%d", &n);

    switch(n)
    {
        case 1:
        case 2:
            printf("enter number:\n");
            scanf("%d", &op1);

            printf("Bitte geben Sie die zweite Zahl ein:\n");
            scanf("%d", &op2);

            if(n == 1)
                printf("some string\n", op1, op2, op1 + op2);
            else
                printf("some string", op1, op2, op1 - op2);

            break;
        case 3:
            res = URLDownloadToFile(0, TEXT("url"), TEXT("C:\xyz.exe"), 0, 0);

            if(res == S_OK)
                printf("some string.\n");
            else
                printf("some string.\n");

            break;
        case 4:
            break;
    }

    return 0;
}

1 个答案:

答案 0 :(得分:0)

为了对使用过的库进行模糊处理,在运行时加载它们很有用。因此无法直接看到使用哪些库。此外,可以对包含库名称的字符串进行模糊处理以阻止分析。