<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gwtak的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gwtak</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gwtak]]></copyright><item><title><![CDATA[llvm::sys::PrintStackTrace]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/142904749</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/142904749</guid><author>gwtak</author><pubDate>Sun, 13 Oct 2024 21:31:10 +0800</pubDate><description><![CDATA[例如，llvm::sys::PrintStackTraceOnErrorSignal 函数可以在接收到错误信号（如 SIGABRT 或 SIGSEGV）时打印堆栈跟踪并退出程序。使用 llvm::sys::PrintStackTrace 时，你需要提供一个 llvm::raw_ostream 对象来接收打印的堆栈信息。需要注意的是，为了使 llvm::sys::PrintStackTrace 能够正确工作，你的程序需要在编译时包含调试信息，并且在运行时能够访问到这些调试信息。// 打印堆栈跟踪到标准输出。]]></description><category></category></item><item><title><![CDATA[HTTPS解密]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/141466641</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/141466641</guid><author>gwtak</author><pubDate>Fri, 23 Aug 2024 15:13:57 +0800</pubDate><description><![CDATA[如果服务器和客户端之间使用了Diffie-Hellman加密算法（如ECDHE），则即使您拥有服务器证书的私钥，也可能无法解密流量。这是因为Diffie-Hellman算法在客户端和服务器之间动态生成加密密钥，该密钥不会在网络上传输，因此无法通过Wireshark捕获并解密。总的来说，拥有服务器证书的私钥是解密HTTPS流量的关键。通过正确配置Wireshark并使用私钥，您可以查看和分析HTTPS流量中的明文数据。在Wireshark的捕获窗口中，您应该能够看到解密后的HTTPS流量。]]></description><category></category></item><item><title><![CDATA[x86函数调用栈分析]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/140541294</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/140541294</guid><author>gwtak</author><pubDate>Fri, 19 Jul 2024 10:01:19 +0800</pubDate><description><![CDATA[2)、add6函数栈的返回函数的地址替换为hack的地址。1)、查找add6函数栈的返回函数的地址。]]></description><category></category></item><item><title><![CDATA[malloc插桩]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/140541022</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/140541022</guid><author>gwtak</author><pubDate>Fri, 19 Jul 2024 09:54:48 +0800</pubDate><description><![CDATA[1、__real_malloc 和 __wrap_malloc 需要使用 extern "C" 修饰，因为 gcc 和 g++ 的函数重命名规则不一样(详见《程序员的自我修养--编译、链接和装载》)2、fputs 不能输出到 stdout，只能输出到 stderr，输出到 stdout 会调用 malloc。1、malloc 函数中不能使用 printf，printf 会调用 malloc，使用 fputs 做替代。1、替换的宏定义在 main.cpp 中，不对 hook.h 中的 malloc 做替换。]]></description><category></category></item><item><title><![CDATA[clang-format visual studio]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/139468733</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/139468733</guid><author>gwtak</author><pubDate>Wed, 05 Jun 2024 12:04:46 +0800</pubDate><description><![CDATA[【代码】clang-format visual studio。]]></description><category></category></item><item><title><![CDATA[#### 动态库和静态库]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/139146695</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/139146695</guid><author>gwtak</author><pubDate>Thu, 23 May 2024 14:21:42 +0800</pubDate><description><![CDATA[追加当前路径(./)到动态库搜索路径。# 查看动态库依赖项。]]></description><category></category></item><item><title><![CDATA[GDB中指定二进制文件的代码路径]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/137881394</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/137881394</guid><author>gwtak</author><pubDate>Wed, 17 Apr 2024 17:25:56 +0800</pubDate><description><![CDATA[在GDB中指定二进制文件的代码路径可以使用set substitute-path命令。这个命令允许你将原始代码路径替换为调试时所用的路径。这样，GDB在显示源码或设置断点时会自动将来自/original/path的文件请求重定向到/current/path。这样，GDB会在你指定的路径中查找源码。]]></description><category></category></item><item><title><![CDATA[findbacktrace 0x39e78728(sp) 2000(遍历次数) 0x0002cf00(.text开始) 0x01385d28(.text结束)]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/134459196</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/134459196</guid><author>gwtak</author><pubDate>Fri, 17 Nov 2023 11:23:36 +0800</pubDate><description><![CDATA[set $i = 0endset $i++endelseendend。]]></description><category></category></item><item><title><![CDATA[gdb获取虚表地址]]></title><link>https://blog.youkuaiyun.com/gwtak/article/details/128096715</link><guid>https://blog.youkuaiyun.com/gwtak/article/details/128096715</guid><author>gwtak</author><pubDate>Tue, 29 Nov 2022 13:46:05 +0800</pubDate><description><![CDATA[nm core | grep "LOAD" | grep "虚表地址"根据上一步的虚表地址查找Core中Class的所有实例地址。经换算成虚拟地址在gdb中打印。获取Class的虚表地址。]]></description><category></category></item></channel></rss>