我最近找到了这个程序:ltrace。并且想知道是否可以使用 Windows 的 gui 调试器之一来实现相同的目的:ida、immunity 等。我发现的唯一的东西是 cmdline util 的一个端口。这很好,但是如果我可以使用 ida 做同样的事情会很方便。
网址; 使用 Windows 调试器/反汇编器跟踪库调用。
感谢您的快速回复和示例。得到了我需要的一切。
我最近找到了这个程序:ltrace。并且想知道是否可以使用 Windows 的 gui 调试器之一来实现相同的目的:ida、immunity 等。我发现的唯一的东西是 cmdline util 的一个端口。这很好,但是如果我可以使用 ida 做同样的事情会很方便。
网址; 使用 Windows 调试器/反汇编器跟踪库调用。
感谢您的快速回复和示例。得到了我需要的一切。
ollydbg -> 搜索所有模块间调用 -> 在新窗口中 -> 设置日志断点单选按钮暂停为从不,日志函数参数为始终确定
你应该看到所有的 lib 函数断点为粉红色
f9 运行应用程序
在退出时查看日志窗口,了解从 executab 对其他模块进行的所有调用;e
Log data
Message
Program entry point
CALL to GetSystemTimeAsFileTime
pFileTime = 0013FFB4
CALL to GetCurrentProcessId
CALL to GetCurrentThreadId
CALL to GetTickCount
CALL to QueryPerformanceCounter
pPerformanceCount = 0013FFAC
CALL to HeapCreate
Flags = 0
InitialSize = 1000 (4096.)
MaximumSize = 0
CALL to GetModuleHandleW
pModule = "KERNEL32.DLL"
CALL to GetProcAddress
hModule = 7C800000 (kernel32)
ProcNameOrOrdinal = "FlsAlloc"
CALL to GetProcAddress
hModule = 7C800000 (kernel32)
ProcNameOrOrdinal = "FlsGetValue"
CALL to GetProcAddress
hModule = 7C800000 (kernel32)
ProcNameOrOrdinal = "FlsSetValue"
CALL to GetProcAddress
hModule = 7C800000 (kernel32)
ProcNameOrOrdinal = "FlsFree"
CALL to TlsAlloc
CALL to TlsSetValue
TlsIndex = 1
pValue = kernel32.TlsGetValue
CALL to TlsAlloc
CALL to HeapAlloc
hHeap = 00350000
Flags = HEAP_ZERO_MEMORY
风袋
cdb -c "!logexts.loge;!logm i *;!loge;!logo ed;g;q" msgboxw.exe > trace.txt & grep MessageBoxW trace.txt
Thrd 3c4 00401017 MessageBoxW( NULL "cannot find "hello"" "test"MB_OK) -> IDOK
Thrd 3c4 0040102B MessageBoxW( NULL "cannot find "iello"" "test"MB_OK) -> IDOK
Thrd 3c4 0040103F MessageBoxW( NULL "cannot find "jello"" "test"MB_OK) -> IDOK
Thrd 3c4 00401053 MessageBoxW( NULL "cannot find "fello"" "test"MB_OK) -> IDOK
Thrd 3c4 00401067 MessageBoxW( NULL "cannot find "kello"" "test"MB_OK) -> IDOK
Thrd 3c4 0040107B MessageBoxW( NULL "saying "hello" baby" "test"MB_OK) -> IDOK