-
-
[旧帖]
[求助]有没有高手搞Pin动态插装的?有些问题请教
0.00雪花
-
发表于:
2012-7-4 14:23
3620
-
[旧帖] [求助]有没有高手搞Pin动态插装的?有些问题请教
0.00雪花
现在在做基于污点数据流跟踪的智能FUZZ项目,需要对程序流程进行分析记录,从效率考虑,没有用调试器插件,而是用Intel的Pin动态插桩平台。原有的系统都是纯粹动态跟踪的,所以效率很差,我的思路是仅动态地记录程序执行流程,得到日志,再静态分析日志。
现在有一系列问题,先一个个解决吧:
污点跟踪涉及到对文件的读写,以及从文件中读入的内容,跟踪对此内容进行操作的所有模块与指令。这样一来,需要记录的指令数量过多,一个直接的问题就是,软件界面绘制和Windows消息循环处理相关的函数都肯定不会涉及到读取文件的数据流传播,应该可以不对这些指令进行插装。现在尝试着对MSDN上面给出的消息循环相关的下述函数的指令排除插装:
BroadcastSystemMessage
BroadcastSystemMessageEx
DispatchMessage
GetInputState
GetMessage
GetMessageExtraInfo
GetMessagePos
GetMessageTime
GetQueueStatus
InSendMessage
InSendMessageEx
PeekMessage
PostMessage
PostQuitMessage
PostThreadMessage
RegisterWindowMessage
ReplyMessage
SendAsyncProc
SendMessage
SendMessageCallback
SendMessageTimeout
SendNotifyMessage
SetMessageExtraInfo
TranslateMessage
WaitMessage
这样就对程序运行中绝大多数运行时间所执行的消息循环大概排除了。但是实际运行的效果来看,改善地还不是很理想,界面绘制还是有非常明显的卡顿,显然还需要对无关的界面绘制部分函数进行排除。
因此想请教各位高手,对于win32程序,还有没有什么函数,是可以确认与文件中的数据流传播没有关系的(比如,界面绘制的例程),这样就可以增进效率了。谢谢~
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)