This commit is contained in:
huoji
2025-04-01 19:37:55 +08:00
parent f57ac27aa5
commit 13f5160ddc

View File

@@ -315,7 +315,7 @@ auto doMalwareScan(int argc, char* argv[]) -> void {
int doSandbox(int argc, char* argv[]) { int doSandbox(int argc, char* argv[]) {
if (argc < 3) { if (argc < 3) {
std::cout << "用法: " << argv[0] << " <文件路径> <地址>" << std::endl; std::cout << "用法: " << argv[0] << " <文件路径> <地址>" << std::endl;
return; return 0;
} }
std::string filePath = argv[1]; std::string filePath = argv[1];
@@ -326,13 +326,20 @@ int doSandbox(int argc, char* argv[]) {
Sandbox se; Sandbox se;
se.InitEnv(peInfo); se.InitEnv(peInfo);
se.Run(); se.Run();
auto [buffer, size] = se.DumpPE();
std::string outputPath = "sandbox_dump.exe";
std::ofstream outputFile(outputPath, std::ios::binary);
if (outputFile.is_open()) {
outputFile.write(reinterpret_cast<const char*>(buffer.get()), size);
outputFile.close();
}
return 0; return 0;
} }
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
// doMl(argc, argv); // doMl(argc, argv);
// doPredict(argc, argv); // doPredict(argc, argv);
doMalwareScan(argc, argv); // doMalwareScan(argc, argv);
// doSandbox(argc, argv); doSandbox(argc, argv);
return 0; return 0;
} }