在其第一条指令上崩溃的程序的案例 - The Old New Thing

  • 主要观点:客户遇到程序在第一条指令就崩溃的问题,调试器无法确定原因。通过调试发现是线程 1 对 ContosoDeluxe 程序的只读映射图像头进行了无效写入导致访问冲突,还有线程 5 处于可疑的SleepEx调用中,疑似等待某事发生。进一步分析发现可疑代码中有多个神秘函数,如神秘函数 2 是Sleep,神秘函数 1 开始分配内存并初始化,还尝试打开HKEY_LOCAL_MACHINE\SOFTWARE\systemconfig键读取值,通过!mex.strings命令发现可能是恶意软件(根kit)且其源代码公开。
  • 关键信息:调试过程中出现的各种错误信息,如无法找到系统线程、线程调试相关错误等;不同线程的状态、栈信息及执行的指令;神秘函数的反编译代码及功能推测;发现可疑的内存块及其中的字符串等。
  • 重要细节

    • 各个线程的IdTeb、状态等信息,如0 Id: 61c.12b4 Suspend: 1 Teb: 000000c7\9604d000 Unfrozen`等。
    • 神秘函数 1 中对各种寄存器的操作及内存分配初始化过程,如mov \[rsp+8\], rbx等。
    • 神秘函数 2 被确认为Sleep及相关调用信息。
    • 对可疑内存块的!address!mex.strings分析结果等。
阅读 10
0 条评论