﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-石头儿</title><link>http://www.cppblog.com/shitouer/</link><description>年少轻狂 幸福时光</description><language>zh-cn</language><lastBuildDate>Fri, 06 Mar 2026 21:11:12 GMT</lastBuildDate><pubDate>Fri, 06 Mar 2026 21:11:12 GMT</pubDate><ttl>60</ttl><item><title>走进内存，走进反汇编指令来看C/C++指针</title><link>http://www.cppblog.com/shitouer/archive/2010/04/11/112207.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Sat, 10 Apr 2010 17:26:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/11/112207.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/112207.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/11/112207.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/112207.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/112207.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 讲述两点：<br>    1、反汇编下的p与*p<br>      2、有关指针初始化的金科玉律<br>走进反汇编指令，走进内存，看看底层的C/C++指针是怎么一回事~&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/11/112207.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/112207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-11 01:26 <a href="http://www.cppblog.com/shitouer/archive/2010/04/11/112207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>内存对齐全攻略--涉及位域的内存对齐</title><link>http://www.cppblog.com/shitouer/archive/2010/04/07/111899.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Wed, 07 Apr 2010 14:40:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/07/111899.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/111899.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/07/111899.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/111899.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/111899.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 接下来主要讨论四点：<br>一、不涉及位域的内存对齐<br>二、涉及位域的内存对齐<br>三、成员变量含有结构体的内存对齐情况<br>四、要求内存对齐的原因及优点&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/07/111899.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/111899.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-07 22:40 <a href="http://www.cppblog.com/shitouer/archive/2010/04/07/111899.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>内存对齐全攻略--不涉及位域的内存对齐原则</title><link>http://www.cppblog.com/shitouer/archive/2010/04/07/111871.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Wed, 07 Apr 2010 09:35:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/07/111871.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/111871.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/07/111871.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/111871.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/111871.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 主要讨论四点：<br>一、不涉及位域的内存对齐原则<br>二、涉及位域的内存对其原则<br>三、成员变量含有结构体的内存对齐情况<br>四、要求内存对齐的原因及优点<br><br>这里只介绍第一点&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/07/111871.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/111871.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-07 17:35 <a href="http://www.cppblog.com/shitouer/archive/2010/04/07/111871.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++反汇编代码分析--偷换函数</title><link>http://www.cppblog.com/shitouer/archive/2010/04/07/111820.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Tue, 06 Apr 2010 18:27:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/07/111820.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/111820.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/07/111820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/111820.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/111820.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 注：不知道说“偷调函数”说法合不合适，在此也就这样一说了~<br><br>主要有两点：<br><br>一、再说C++反汇编函数调用，重点是怎样通过堆栈实现由被调用函数转到调用者<br><br>二、在 1 的基础上，在WinDbg下通过修改EIP实现如下一个功能：<br><br>　　有两个函数foo（）和hack（），在main函数中调用foo，但是在foo执行过程中，通过修改EIP来调用hack函数，最后再回到main中foo函数的下一条语句<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/07/111820.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/111820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-07 02:27 <a href="http://www.cppblog.com/shitouer/archive/2010/04/07/111820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++反汇编代码分析--循环</title><link>http://www.cppblog.com/shitouer/archive/2010/04/05/111693.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Mon, 05 Apr 2010 12:17:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/05/111693.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/111693.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/05/111693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/111693.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/111693.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 再次主要讨论或者验证三点：<br>1、循环结构的反汇编代码分析<br>2、函数中，局部变量的保存位置<br>3、方法的返回值保存位置验证<br>一个没有找到答案的疑问：<br>00401029   lea         edi,[ebp-48h]<br>0040102C   mov         ecx,12h<br>00401031   mov         eax,0CCCCCCCCh<br>;这段代码是在栈中开辟一个48字节大小的区域来存放局部变量，但是如果函数内<br>没有局部变量，则是lea         edi,[ebp-40h]<br>一个局部变量，则是lea         edi,[ebp-44h]<br>两个局部变量，则是lea         edi,[ebp-48h]<br>也就是没有局部变量时开辟的40个字节，我用F11追踪过，单步调试时，这一部分区域并没有用到，这一区域的作用是什么？&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/05/111693.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/111693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-05 20:17 <a href="http://www.cppblog.com/shitouer/archive/2010/04/05/111693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++反汇编代码分析--函数调用</title><link>http://www.cppblog.com/shitouer/archive/2010/04/05/111658.html</link><dc:creator>石头儿</dc:creator><author>石头儿</author><pubDate>Mon, 05 Apr 2010 02:45:00 GMT</pubDate><guid>http://www.cppblog.com/shitouer/archive/2010/04/05/111658.html</guid><wfw:comment>http://www.cppblog.com/shitouer/comments/111658.html</wfw:comment><comments>http://www.cppblog.com/shitouer/archive/2010/04/05/111658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/shitouer/comments/commentRss/111658.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/shitouer/services/trackbacks/111658.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 函数调用时的堆栈变化以及反汇编代码分析&nbsp;&nbsp;<a href='http://www.cppblog.com/shitouer/archive/2010/04/05/111658.html'>阅读全文</a><img src ="http://www.cppblog.com/shitouer/aggbug/111658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/shitouer/" target="_blank">石头儿</a> 2010-04-05 10:45 <a href="http://www.cppblog.com/shitouer/archive/2010/04/05/111658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>