1.3.5 將分析結果與原始碼進行比較
#include <Windows.h>
#include <tchar.h>
#include <shlobj.h>
int cpy(void)
{
// 取得本身檔案路徑
TCHAR szThis[2048];
GetModuleFileName(NULL, szThis, sizeof(szThis));
// 取得啟動資料夾路徑
TCHAR szStartup[2048];
SHGetFolderPath(NULL, CSIDL_STARTUP, NULL, SHGFP_TYPE_CURRENT, szStartup);
lstrcat(szStartup, _T("\wsample01b.exe"));
// 將本身複製到啟動資料夾
CopyFile(szThis, szStartup, FALSE);
return 0;
}
int APIENTRY _tWinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
cpy();
MessageBox(GetActiveWindow(),
_T("Copied!"), _T("MESSAGE"), MB_OK);
return 0;
}
- 在軟體分析中,我們需要按照目的和需要選擇使用靜態分析還是動態分析。
- 從分類角度來看,靜態分析比較偏向於「瀏覽全局」,動態分析比較偏向「細看局部」。
- 因此進行軟體分析時,一般都是先用IDA看一下整體的樣子,再用OllyDbg單步執行來查看一些特別的點。