2010-10-16 19 views
0

我目前正在研究一個工具來檢查您的應用程序是否容易受到dll劫持。 無論如何,我的代碼中有一段看起來不太優雅。 現在只有兩套,但我想補充一些。是否有另一種方式 ,而不是隻爲每組添加for循環?多維數組和dll劫持

LPSTR szFileExtWireShark[] = {"airpcap.dll", ".bfr", ".enc", ".fdc", ".pcap", ".pcapng", ".syc", NULL}; 
LPSTR szFileExtWin7[] = {"wab32res.dll", ".contact", ".group", ".p7c", ".vcf", NULL}; 

int loadSets(LPSTR szFileName, LPSTR szPath) { 
    int counter; 
    for(counter=1; szFileExtWireShark[counter] != NULL; counter++) { 
checkExt(szFileName, szPath, szFileExtWireShark[counter], szFileExtWireShark[0]); 
    } 
    for(counter=1; szFileExtWin7[counter] != NULL; counter++) { 
checkExt(szFileName, szPath, szFileExtWin7[counter], szFileExtWin7[0]); 
    } 
} 

回答

1

採用單迴路

LPSTR szFileExtWireShark[] = {"airpcap.dll", ".bfr", ".enc", ".fdc", ".pcap", ".pcapng", ".syc", NULL}; 
    LPSTR szFileExtWin7[] = {"wab32res.dll", ".contact", ".group", ".p7c", ".vcf", NULL}; 

    int loadSets(LPSTR szFileName, LPSTR szPath) { 
     int counter; 
     for(counter=1; (szFileExtWireShark[counter] != NULL && szFileExtWin7[counter] != NULL); counter++) { 
    if(szFileExtWireShark[counter] != NULL) 
    checkExt(szFileName, szPath, szFileExtWireShark[counter], szFileExtWireShark[0]); 
    if(szFileExtWin7[counter] != NULL) 
    checkExt(szFileName, szPath, szFileExtWin7[counter], szFileExtWin7[0]); 
     } 
    } 
+0

偉大的答案。你想如何保持組織? – Bubblegun 2010-10-16 12:23:32