我目前正在尝试挂钩Chromium的SSL写入功能,但是我在找到应该挂钩的地方时遇到了一些困难。
目前,我通过使用RtlCreateUserThread注入我的DLL并分配DLL路径并使目标进程加载它。然后,DLL将通过GetProcAddress加载目标函数,然后加载通常你知道重写的5字节jmp指令。 我已成功使用Firefox。但我对Chrome有麻烦,因为他似乎根据Chromium的源代码使用NSS / OpenSSL(我在回购中看到SSLSocket的两个impl,但是不能看到哪个与二进制文件一起使用)。
提前致谢。
答案 0 :(得分:1)
http://chromium-browser-symsrv.commondatastorage.googleapis.com
需要注意的是,64位窗口上Chrome的发布版本似乎缺少符号。至少我没有运气得到它们。
在一般情况下,您可以按照以下某些说明获取预先加载到本地缓存中的一系列符号。
为了在IDA pro中使用符号服务器功能,您必须做一些事情。
首先,您必须安装Windows调试工具。 (Windows 8.1 DDK是一个很好的选择,可以从MicroSoft免费获得。)它包括允许与符号服务器进行简单通信的DLL。
其次,您需要添加一个全局系统环境变量,如下所示: _NT_SYMBOL_PATH = SRV * C:\ pdb_cache * msdl.microsoft.com /下载/符号; SRV * C:\ pdb_cache * http://chromium-browser-symsrv.commondatastorage.googleapis.com
这样做是为符号存储设置符号路径和相关的本地缓存。
第三,您可以使用以下命令行来使用WDK 8.1附带的工具并提取符号:
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)\Google" /s symsrv*C:\pdb_cache\*http://chromium-browser-symsrv.commondatastorage.googleapis.com/
上面应强制符号加载到本地符号缓存中,您可以选择它们(IDA可以自动选择,也可以不选择)。如果没有,您可以在WinDbg / symchk下载后手动选择符号文件。
至少那是理论根据:http://www.chromium.org/developers/how-tos/debugging
我很幸运能够在Chromium的发布版本上正确下载符号。但是,如果转到http://chromium-browser-symsrv.commondatastorage.googleapis.com/链接并检查返回的XML的内容,则会注意到已设置“Truncated”标志。您可以使用过滤器表达式(它是Amazon S3 Bucket)。四处搜索,甚至还有另一个符号服务器:http://chromium-browser-symbols.commondatastorage.googleapis.com/但是看起来很古老。
我将给你留下一个脚本,从我的已知符号服务器列表中提取所有符号。预加载可能需要调试的系统上的任何内容都很有用。 :-)。我还注意到在Window 7 x64上没有为SysWOW64子系统下载符号。如果其他人有任何关于其他公共符号服务器的信息,那将是受欢迎的:-)。
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)" /s symsrv*c:\symbols*hxtp://msdl.microsoft.com/download/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)" /s symsrv*c:\symbols*hxtp://symbols.mozilla.org/firefox
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)" /s symsrv*c:\symbols*hxtp://chromium-browser-symsrv.commondatastorage.googleapis.com
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)" /s symsrv*c:\symbols*hxtp://ctxsym.citrix.com/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Program Files (x86)" /s symsrv*c:\symbols*hxtp://developer.apple.com/internet/safari/windows_symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Program Files" /s symsrv*c:\symbols*hxtp://msdl.microsoft.com/download/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Program Files" /s symsrv*c:\symbols*hxtp://symbols.mozilla.org/firefox
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Program Files" /s symsrv*c:\symbols*hxtp://chromium-browser-symsrv.commondatastorage.googleapis.com
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Program Files" /s symsrv*c:\symbols*hxtp://ctxsym.citrix.com/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Program Files" /s symsrv*c:\symbols*hxtp://developer.apple.com/internet/safari/windows_symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://msdl.microsoft.com/download/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://symbols.mozilla.org/firefox
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://chromium-browser-symsrv.commondatastorage.googleapis.com
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://ctxsym.citrix.com/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://developer.apple.com/internet/safari/windows_symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://msdl.microsoft.com/download/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://symbols.mozilla.org/firefox
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://chromium-browser-symsrv.commondatastorage.googleapis.com
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://ctxsym.citrix.com/symbols
"c:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\symchk" /r "C:\Windows" /s symsrv*c:\symbols*hxtp://developer.apple.com/internet/safari/windows_symbols
StackOverflow不允许我使用http链接,所以只需将文本编辑器中的hxtp替换为http,即可开展业务。
如果您愿意,也可以使用此字符串设置环境中的路径。希望这有帮助,交配!
设置 _NT_SYMBOL_PATH = symsrv * C:\ *符号hxtp://msdl.microsoft.com/download/symbols; symsrv * C:\ *符号hxtp://symbols.mozilla.org/firefox; symsrv * C:\ *符号hxtp ://chromium-browser-symsrv.commondatastorage.googleapis.com; symsrv * C:\ *符号hxtp://ctxsym.citrix.com/symbols; symsrv * C:\ *符号hxtp://developer.apple.com /互联网/狩猎/ windows_symbols