﻿<?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++博客-huyutian-文章分类-汇编逆向</title><link>http://www.cppblog.com/huyutian/category/17546.html</link><description>他强由他强，清风拂山岗；他横由他横，明月照大江。他自狠来他自恶，我自一口真气足
</description><language>zh-cn</language><lastBuildDate>Thu, 17 Jul 2014 13:00:18 GMT</lastBuildDate><pubDate>Thu, 17 Jul 2014 13:00:18 GMT</pubDate><ttl>60</ttl><item><title>为IDA Pro 6.1重新编译插件CrowdDetox</title><link>http://www.cppblog.com/huyutian/articles/207657.html</link><dc:creator>胡雨田</dc:creator><author>胡雨田</author><pubDate>Tue, 15 Jul 2014 13:34:00 GMT</pubDate><guid>http://www.cppblog.com/huyutian/articles/207657.html</guid><wfw:comment>http://www.cppblog.com/huyutian/comments/207657.html</wfw:comment><comments>http://www.cppblog.com/huyutian/articles/207657.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/huyutian/comments/commentRss/207657.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/huyutian/services/trackbacks/207657.html</trackback:ping><description><![CDATA[<span style="font-size: 12px;">&nbsp; &nbsp; &nbsp; CrowdDetox是2013年</span>hex-rays获奖插件<span style="font-size: 12px;">：CrowdStrike 开源的IDA插件，可以自动移除Hex-Rays decompiler 反编译代码中的垃圾代码和变量，快捷键</span>'Shift-F5'。<br />
<div>该插件的源代码可以从https://github.com/CrowdStrike/CrowdDetox下载。</div>
但是我在网上google了好久没有找到能在IDA Pro6.1版本下正常使用的文件。http://techbliss.org/threads/crowddetox-for-1-5-and-ida-6-1.481/以及<br />
看雪网站都有人重新编译国该插件，但我下载后发现仍然无法在我的IDA Pro6.1版本下正常使用，不得已只好自己尝试重新编译。<br />
好在github上有详细的编译方法，先安装visual c++ 2010 Express，再安装CMake，在visual c++命令行环境运行CMake，生成project文件。打开visual c++IDE进行编译，结果出现编译错误。检查错误信息，发现是ida 6.1 自带的hexrays.hpp中 struct citem_t不包含 index成员变量。解决办法，注释掉<span style="font-size: 12px;">CrowdDetox.cpp中第</span>
<div id="haloword-lookup"  ui-draggable"="">
<div id="haloword-title"><a herf="#" id="haloword-pron" title="发音"></a><audio id="haloword-audio"></audio>
<div id="haloword-control-container"><a herf="#" id="haloword-add" title="加入单词表"></a><a herf="#" id="haloword-remove" title="移出单词表"></a><a href="#" id="haloword-open" title="查看单词详细释义" target="_blank"></a><a herf="#" id="haloword-close" title="关闭查询窗"></a></div>
</div>
<div id="haloword-content"></div>
</div>
1010行。编译通过，运行IDA测试完全正常。可以从<a href="/Files/huyutian/hexrays_CrowdDetox.zip">这里</a>下载。<br />
<br />
<img src="http://www.cppblog.com/images/cppblog_com/huyutian/CrowdDetox2.jpg" width="1280" height="1568" alt="" /><br />
运行截图如下：
<img src="http://www.cppblog.com/images/cppblog_com/huyutian/CrowdDetox.jpg" width="1280" height="1568" alt="" /><br />
<div id="haloword-lookup"  ui-draggable"="">
<div id="haloword-title"><a herf="#" id="haloword-pron" title="发音"></a><audio id="haloword-audio"></audio>
<div id="haloword-control-container"><a herf="#" id="haloword-add" title="加入单词表"></a><a herf="#" id="haloword-remove" title="移出单词表"></a><a href="#" id="haloword-open" title="查看单词详细释义" target="_blank"></a><a herf="#" id="haloword-close" title="关闭查询窗"></a></div>
</div>
<div id="haloword-content"></div>
</div><img src ="http://www.cppblog.com/huyutian/aggbug/207657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/huyutian/" target="_blank">胡雨田</a> 2014-07-15 21:34 <a href="http://www.cppblog.com/huyutian/articles/207657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>逆向工程的技巧——持续增加中</title><link>http://www.cppblog.com/huyutian/articles/153304.html</link><dc:creator>胡雨田</dc:creator><author>胡雨田</author><pubDate>Sat, 13 Aug 2011 14:29:00 GMT</pubDate><guid>http://www.cppblog.com/huyutian/articles/153304.html</guid><wfw:comment>http://www.cppblog.com/huyutian/comments/153304.html</wfw:comment><comments>http://www.cppblog.com/huyutian/articles/153304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/huyutian/comments/commentRss/153304.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/huyutian/services/trackbacks/153304.html</trackback:ping><description><![CDATA[<font face="Verdana" color="#000000">1.一般来说，逆向工程都是从数据开始的，你必须找到代码管理的关键数据结构<br />2.在WINDOWS系统中，除了FS寄存器外，你都可以放心的将段寄存器忽略掉。FS寄存器允许我们访问线程局部内存(thread-local memory)中的一个小的空间。<br />3.搞清楚函数的调用约定cdecl，fastcall，stdcall，this<br />4.注意区分JA与JG的区别，使用JA表示操作数被当作无符号数处理，JG则相反<br />5.汇编语言代码中条件跳转语句的测试条件一定与c源代码中if语句中的判断条件相反。这是因为处理器要知道在什么情况下要跳过那些代码</font><img src ="http://www.cppblog.com/huyutian/aggbug/153304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/huyutian/" target="_blank">胡雨田</a> 2011-08-13 22:29 <a href="http://www.cppblog.com/huyutian/articles/153304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>