库名和函数名混淆
Library name and function name obfuscation
我有包含字符串常量的 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;
}
为了混淆使用的库,在运行时加载它们很有用。所以不能直接看出使用了哪些库。此外,可以混淆包含库名称的字符串以阻碍分析。
我有包含字符串常量的 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;
}
为了混淆使用的库,在运行时加载它们很有用。所以不能直接看出使用了哪些库。此外,可以混淆包含库名称的字符串以阻碍分析。