A malware decrypts strings during runtime. Which debugging approach is most effective for capturing the plaintext strings?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Set a breakpoint after the decryption routine executes". Mẫu chỉ giải mã chuỗi lúc chạy, nên chuỗi rõ (plaintext) chỉ tồn tại trong bộ nhớ sau khi hàm giải mã trả về. Đặt breakpoint ngay sau lệnh call tới hàm giải mã; khi dừng, nhìn thanh ghi trả về (thường là EAX) hoặc vùng đệm đích trong khung dump là đọc được chuỗi đã giải. "Set a breakpoint before the decryption routine starts" dừng quá sớm: bộ đệm khi đó vẫn chứa dữ liệu mã hoá; cách này chỉ hữu ích để xem tham số như khoá giải mã. "Step-over all function calls in the debugger" tốn công và dễ lướt qua chỗ cần xem, không phải cách hiệu quả nhất. "Analyze the binary using a disassembler without execution" là phân tích tĩnh, chỉ thấy chuỗi đã mã hoá; muốn ra chuỗi rõ phải tự dịch ngược thuật toán giải mã, tốn công hơn nhiều.

Cùng phần 6

Xuất hiện trong 2 bộ đề