12

if ループで難読化を行う、次のような 2 つの関数があります。

void funcA(string str)
{
    size_t f = str.find("if");
    if(f!=string::npos)
    {
        funcB(str);        //obfuscate if-loop
    }
}

void funcB(string str)
{
     //obfuscate if loop
     funcA(body_of_if_loop);     //to check if there is a nested if-loop
}

これに関する問題は、前に置くとfuncAが見えないことfuncB、またはその逆です。funcBfuncA

ここで助けやアドバイスをいただければ幸いです。

4

2 に答える 2

19

あなたが望むのは前方宣言です。あなたの場合:

void funcB(string str);

void funcA(string str)
{
    size_t f = str.find("if");
    if(f!=string::npos)
    {
        funcB(str);        //obfuscate if-loop
    }
}

void funcB(string str)
{
     //obfuscate if loop
     funcA(body_of_if_loop);     //to check if there is a nested if-loop
}
于 2013-01-30T07:38:20.363 に答える
10

前方宣言が機能します。

void funcB(string str); 

void funcA(string str)
{
    size_t f = str.find("if");
    if(f!=string::npos)
    {
        funcB(str);        //obfuscate if-loop
    }
}

void funcB(string str)
{
     //obfuscate if loop
     funcA(body_of_if_loop);     //to check if there is a nested if-loop
}
于 2013-01-30T07:36:59.160 に答える