﻿<?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++博客-小默-随笔分类-Tools</title><link>http://www.cppblog.com/momoxiao/category/14762.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 23:03:53 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 23:03:53 GMT</pubDate><ttl>60</ttl><item><title>phpmyadmin</title><link>http://www.cppblog.com/momoxiao/archive/2011/09/24/156717.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Sat, 24 Sep 2011 14:09:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2011/09/24/156717.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/156717.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2011/09/24/156717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/156717.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/156717.html</trackback:ping><description><![CDATA[Install:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#&nbsp;yum&nbsp;install&nbsp;phpmyadmin</span></div><br />Config:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#&nbsp;vim&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">usr</span><span style="color: #000000; ">/</span><span style="color: #000000; ">share</span><span style="color: #000000; ">/</span><span style="color: #000000; ">phpMyAdmin</span><span style="color: #000000; ">/</span><span style="color: #000000; ">config.inc.php&nbsp;</span></div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">$cfg['blowfish_secret']&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;'colorfulgreen';&nbsp;</span><span style="color: #008000; ">/*</span><span style="color: #008000; ">&nbsp;YOU&nbsp;MUST&nbsp;FILL&nbsp;IN&nbsp;THIS&nbsp;FOR&nbsp;COOKIE&nbsp;AUTH!&nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /></span></div><br />Run:<br /># /etc/init.d/mysqld start<br /># service httpd start<br /><div><a href="http://localhost/phpMyAdmin/">http://localhost/phpMyAdmin/</a></div><img src ="http://www.cppblog.com/momoxiao/aggbug/156717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2011-09-24 22:09 <a href="http://www.cppblog.com/momoxiao/archive/2011/09/24/156717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>django debug toolbar</title><link>http://www.cppblog.com/momoxiao/archive/2011/06/14/148655.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Tue, 14 Jun 2011 09:40:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2011/06/14/148655.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/148655.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2011/06/14/148655.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/148655.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/148655.html</trackback:ping><description><![CDATA[<div><div><span style="background-color: yellow; ">下载:</span>https://github.com/dcramer/django-debug-toolbar</div><div>有两个branches, master可以看sql语句执行的代码流.</div><div></div><div><span style="background-color: yellow; ">安装:</span></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">$&nbsp;tar&nbsp;zxvf&nbsp;robhudson</span><span style="color: #000000; ">-</span><span style="color: #000000; ">django</span><span style="color: #000000; ">-</span><span style="color: #000000; ">debug</span><span style="color: #000000; ">-</span><span style="color: #000000; ">toolbar</span><span style="color: #000000; ">-</span><span style="color: #000000; ">7ba80e0.tar.gz<br />$&nbsp;cd&nbsp;robhudson</span><span style="color: #000000; ">-</span><span style="color: #000000; ">django</span><span style="color: #000000; ">-</span><span style="color: #000000; ">debug</span><span style="color: #000000; ">-</span><span style="color: #000000; ">toolbar</span><span style="color: #000000; ">-</span><span style="color: #000000; ">7ba80e0<br />$&nbsp;python&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">setup.py&nbsp;build<br />$&nbsp;sudo&nbsp;python&nbsp;.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">setup.py&nbsp;install</span></div></div><div></div><div>从python shell里import正常,就表示安装正常:</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&gt;&gt;&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;debug_toolbar<br /></span><span style="color: #000000; ">&gt;&gt;&gt;</span></div></div><div><br /><span style="background-color: yellow; ">配置:</span></div><div>在app的settings.py中加入下面的内容.&nbsp;</div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">MIDDLEWARE_CLASSES&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.middleware.DebugToolbarMiddleware</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />)<br /><br />INSTALLED_APPS&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar</span><span style="color: #800000; ">'</span><span style="color: #000000; "><br />)<br /><br />TEMPLATE_DIRS&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/Images/dot.gif"  alt="" /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">/Library/Python/2.6/site-packages/django_debug_toolbar-0.8.3-py2.6.egg/debug_toolbar/templates/</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">按需修改！指向&nbsp;debug_toolbar&nbsp;的模板目录。</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">)<br /><br />DEBUG_TOOLBAR_PANELS&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.version.VersionDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.timer.TimerDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.headers.HeaderDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.request_vars.RequestVarsDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.template.TemplateDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.sql.SQLDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.signals.SignalDebugPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000; ">'</span><span style="color: #800000; ">debug_toolbar.panels.logger.LoggingPanel</span><span style="color: #800000; ">'</span><span style="color: #000000; "><br />&nbsp;&nbsp;)<br /><br />INTERNAL_IPS&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #800000; ">'</span><span style="color: #800000; ">127.0.0.1</span><span style="color: #800000; ">'</span><span style="color: #000000; ">,)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">#</span><span style="color: #008000; ">&nbsp;从哪些ip访问站点时显示toolbar.</span></div></div><div></div><div>然后,就没有然后了...访问站点时,会在每个网页的右侧显示一个toolbar...<br /><br />--<br /><div>from:http://www.kuangxuqing.com/posts/16700.html#django_debug_toolbar</div></div></div><img src ="http://www.cppblog.com/momoxiao/aggbug/148655.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2011-06-14 17:40 <a href="http://www.cppblog.com/momoxiao/archive/2011/06/14/148655.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装MYSQL后，Apache http server 遇到问题需要关闭</title><link>http://www.cppblog.com/momoxiao/archive/2010/04/19/112977.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Mon, 19 Apr 2010 05:04:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/04/19/112977.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/112977.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/04/19/112977.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/112977.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/112977.html</trackback:ping><description><![CDATA[把MYSQL下的libmysql.dll拷贝到系统目录下- -<img src ="http://www.cppblog.com/momoxiao/aggbug/112977.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-04-19 13:04 <a href="http://www.cppblog.com/momoxiao/archive/2010/04/19/112977.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>80端口 被占用</title><link>http://www.cppblog.com/momoxiao/archive/2010/04/13/112489.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Tue, 13 Apr 2010 11:58:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/04/13/112489.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/112489.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/04/13/112489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/112489.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/112489.html</trackback:ping><description><![CDATA[装Apache提示80端口被占用<br>cmd，netstat -ano，占用80端口的程序pid为1168<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;">C:\Documents&nbsp;and&nbsp;Settings\Administrator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">netstat&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ano<br><br>Active&nbsp;Connections<br><br>&nbsp;&nbsp;Proto&nbsp;&nbsp;Local&nbsp;Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Foreign&nbsp;Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PID<br>&nbsp;&nbsp;TCP&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0.0</span><span style="color: #000000;">:</span><span style="color: #000000;">80</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0.0</span><span style="color: #000000;">:</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LISTENING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1168</span></div>
打开任务管理器，查看-&gt;选择列，加上pid<br>pid=1168的是Thunder5.exe<br>迅雷BT的TCP端口是80，改了<img src ="http://www.cppblog.com/momoxiao/aggbug/112489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-04-13 19:58 <a href="http://www.cppblog.com/momoxiao/archive/2010/04/13/112489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>install samba for Fedora10</title><link>http://www.cppblog.com/momoxiao/archive/2010/03/23/110357.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Tue, 23 Mar 2010 08:08:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/03/23/110357.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/110357.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/03/23/110357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/110357.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/110357.html</trackback:ping><description><![CDATA[<span style="font-weight: bold; font-size: 36pt; color: red;">install</span><br>error: can't create transaction lock on /var/lib/rpm/__db.000 (没有那个文件或目录)<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">su</span></div>
<br><br>
<hr>
<br>Error: Missing Dependency: perl(Convert::ASN1) is needed by package samba-3.0.33-3.7.el5.i386 (base)<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;Packages]#&nbsp;rpm&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ivh&nbsp;perl</span><span style="color: #000000;">-</span><span style="color: #000000;">Convert</span><span style="color: #000000;">-</span><span style="color: #000000;">ASN1</span><span style="color: #000000;">-</span><span style="color: #000000;">0.21</span><span style="color: #000000;">-</span><span style="color: #000000;">3</span><span style="color: #000000;">.fc9.noarch.rpm&nbsp;</span></div>
<br>
<hr>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;Packages]#&nbsp;rpm&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ivh&nbsp;samba</span><span style="color: #000000;">*</span><span style="color: #000000;">.rpm</span></div>
<br>warning: samba-3.2.4-0.22.fc10.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4ebfc273<br>//samba not in "\ect\init.d\" at this time,then...<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">rpm&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">ivh&nbsp;samba</span><span style="color: #000000;">-</span><span style="color: #000000;">3.2</span><span style="color: #000000;">.</span><span style="color: #000000;">4</span><span style="color: #000000;">-</span><span style="color: #000000;">0.22</span><span style="color: #000000;">.fc10.i386.rpm</span></div>
<br><br><span style="font-weight: bold; color: red;">Add Shares</span><br>edit the config file:<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;Packages]#&nbsp;sudo&nbsp;gedit&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">etc</span><span style="color: #000000;">/</span><span style="color: #000000;">samba</span><span style="color: #000000;">/</span><span style="color: #000000;">smb.conf</span></div>
<br>Add shares at the end of the file:<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[netshare]<br>&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">home</span><span style="color: #000000;">/</span><span style="color: #000000;">green</span><span style="color: #000000;">/</span><span style="color: #000000;">netshare<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;yes<br>&nbsp;&nbsp;&nbsp;&nbsp;writable&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;yes&nbsp;</span></div>
<br><span style="font-weight: bold; color: red;">Add Users</span><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;Packages]#&nbsp;sudo&nbsp;smbpasswd&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">a&nbsp;green<br>New&nbsp;SMB&nbsp;password:<br>Retype&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;SMB&nbsp;password:<br>Added&nbsp;user&nbsp;green.</span></div>
<br><span style="font-weight: bold; color: red;">Start Samba Service</span><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">etc</span><span style="color: #000000;">/</span><span style="color: #000000;">init.d</span><span style="color: #000000;">/</span><span style="color: #000000;">smb&nbsp;start<br>启动&nbsp;SMB&nbsp;服务：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[确定]</span></div>
<br>
//enable samba in both runlevel 3 and 5.This will make sure to run Samba each time Fedora boots.<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">sbin</span><span style="color: #000000;">/</span><span style="color: #000000;">chkconfig&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">list&nbsp;smb<br>smb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">:关闭<br>[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">sbin</span><span style="color: #000000;">/</span><span style="color: #000000;">chkconfig&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">level&nbsp;</span><span style="color: #000000;">35</span><span style="color: #000000;">&nbsp;smb&nbsp;on<br>[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">sbin</span><span style="color: #000000;">/</span><span style="color: #000000;">chkconfig&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">list&nbsp;smb<br>smb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:启用&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">:关闭&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">:启用&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">:关闭</span></div>
<br>//Restart Samba for every change to users/pws or 'smb.conf'<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">etc</span><span style="color: #000000;">/</span><span style="color: #000000;">init.d</span><span style="color: #000000;">/</span><span style="color: #000000;">smb&nbsp;restart<br>关闭&nbsp;SMB&nbsp;服务：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[确定]<br>启动&nbsp;SMB&nbsp;服务：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[确定]</span></div>
<br>Managing Security for Samba<br>Firewall:default block Samba,allow access...<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;system</span><span style="color: #000000;">-</span><span style="color: #000000;">config</span><span style="color: #000000;">-</span><span style="color: #000000;">firewall</span></div>
SELinux:restrict different parts of Samba...<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">]#&nbsp;system</span><span style="color: #000000;">-</span><span style="color: #000000;">config</span><span style="color: #000000;">-</span><span style="color: #000000;">selinux</span></div>
<br><br><hr style="width: 100%; height: 2px;">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">[root@colorfulgreen&nbsp;green]#&nbsp;smbclient&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">L&nbsp;</span><span style="color: #000000;">192.168</span><span style="color: #000000;">.</span><span style="color: #000000;">1.101</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">U&nbsp;administrator<br>Enter&nbsp;administrator</span><span style="color: #000000;">'</span><span style="color: #000000;">s&nbsp;password:&nbsp;</span></div>
<br>     <img src ="http://www.cppblog.com/momoxiao/aggbug/110357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-03-23 16:08 <a href="http://www.cppblog.com/momoxiao/archive/2010/03/23/110357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SourceInsight  linux内核 汇编 .s</title><link>http://www.cppblog.com/momoxiao/archive/2010/02/06/107349.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 05 Feb 2010 18:31:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/02/06/107349.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/107349.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/02/06/107349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/107349.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/107349.html</trackback:ping><description><![CDATA[Options-&gt;Document &nbsp; Options-&gt;Doucment &nbsp; Types-&gt;Select &nbsp; X86 &nbsp; Asm &nbsp; Source &nbsp; File &nbsp; <br>&nbsp; 在File &nbsp; Filter里添加*.S即可&nbsp;&nbsp; <br><img src ="http://www.cppblog.com/momoxiao/aggbug/107349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-02-06 02:31 <a href="http://www.cppblog.com/momoxiao/archive/2010/02/06/107349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(zz)vmware 网络配置实例二 windows xp host + linux guest</title><link>http://www.cppblog.com/momoxiao/archive/2010/02/05/107322.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 05 Feb 2010 15:53:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/02/05/107322.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/107322.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/02/05/107322.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/107322.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/107322.html</trackback:ping><description><![CDATA[b:895a48bc69]&nbsp;版权属yunqing所有，首发chinaunix.net，转贴引用请包含此行声明[/b:895a48bc69]
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">正文：</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">本人使用的是vmware&nbsp;workstation&nbsp;4.52，host机器运行的是windows&nbsp;Xp&nbsp;professional&nbsp;，如果你还在使vmware&nbsp;workstation&nbsp;4.0建议下载一个升级包，不过我想即使不做问题也不大。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">1。安装&nbsp;vmware&nbsp;workstation，很简单，一路ok过去，相信大部分朋友已经装好。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">2。创建新的guest系统。选择类型。因为我以发生问题最多的redhat&nbsp;9做试验，所以就选redhat&nbsp;linux，选custom，网络接口选hostonly（如果你已经<a onclick="javascript:tagshow(event, '%b0%b2%d7%b0');" href="javascript:;" target="_self"><u><strong><font color="#0000ff">安装</font></strong></u></a>好&nbsp;了，用了nat或bridge也没有关系，在虚拟机的属性里改成hostonly就行了。）</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">3。创建后启动虚拟机，插入安装rh9的第一张盘。选择定制安装，我只保留了gonme,&nbsp;X，&nbsp;和graphical&nbsp;internet,节省安装空间和时间。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">4。安装过程很顺利，没有问题，完成后重新启动虚拟机，发现在更新fstab的时候挂了起来，估计是连接cdrom活软盘时候超时。kill掉虚拟机，更改设置，把光驱和软盘的autoconnect&nbsp;when&nbsp;power&nbsp;on清除掉。重启虚拟机，没有问题，进入最后设置，声卡，图形界面均没有问题。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">5。按照要求在虚拟机里安装vmware-tool,对鼠标和图形进行更好地支持。</p>
<p style="text-indent: 2em;">如果你在图形界面下，首先要切换到文本模式。</p>
<p style="text-indent: 2em;">右键点击桌面，打开一个終端</p>
<p style="text-indent: 2em;">在終端里：</p>
<p style="text-indent: 2em;">su</p>
<p style="text-indent: 2em;">#/sbin/telinit&nbsp;3</p>
<p style="text-indent: 2em;">图形界面消失，敲回车几下，在文本方式下登录。</p>
<p style="text-indent: 2em;">在windows的vmware的窗口菜单中选vm-&gt;install&nbsp;vmware&nbsp;tools</p>
<p style="text-indent: 2em;">在虚拟机中：</p>
<p style="text-indent: 2em;">su</p>
<p style="text-indent: 2em;">&nbsp;mount&nbsp;/dev/cdrom&nbsp;/mnt/cdrom</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;cd&nbsp;/tmp</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;tar&nbsp;zxf&nbsp;/mnt/cdrom/vmware-linux-tools.tar.gz</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;cd&nbsp;vmware-tools-distrib</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;./vmware-install.pl</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;回答并设置屏幕分辨率，除了分辨率需要选择外，直接回车就行了。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;返回到默认的图形界面（运行级别5）</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;/sbin/telinit&nbsp;5</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;6.登录虚拟机，打开一个終端：</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;/sbin/ifconfig</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;发现eth0没有起来。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;不要惊慌。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;－－－－－－－－－－－－－以下是网络设置－－－－－－－－－－－－－－－</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;7。到windows&nbsp;XP&nbsp;中，查看所有的网络连接，你应该发现除了原有的网卡之外，又多了Vmnet1和Vmnet8。如果你看了一下说明书应该知道，vmnet1是hostonly的接口，而Vmnet8是使用NAT的网络接口。在这里我们既不想用VMWARE自带的DHCP也不想用他的NAT所以我们知关心VMnet1</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;在进一步操作之前先说一下idea:</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;我们将使用hostonly这个网络接口连接虚拟机和主机，然后利用windows&nbsp;Xp/2000里面自带的internet连接共享（实际上是一个简单的路由NAT)来让虚拟机&nbsp;通过原来的网卡进行外网的访问。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;那么为什么不使用桥接的方式呢，我在前一篇文章（linux&nbsp;host&nbsp;+&nbsp;windows&nbsp;guest)里面已经有些讨论，请参考。不过最现实的原因是桥接需要一个不同于&nbsp;原主机上的另外一个独立的IP地址，这对于有些情况（IP和MAC绑定，网管不同意），比较难办到。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;OK，&nbsp;let's&nbsp;go</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;（1）查看你的连接外网的网卡的属性，选择&#8220;高级&#8221;标签，设置成允许共享，并设定允许的网络接口为VMNET1,如下图。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;(2)再插看一下你的VMnet1&nbsp;的属性，看一下TCP/IP协议的设置，你发现已经被自动设置为192.168.0.1/255.255.255.0，如下图。</p>
<p style="text-indent: 2em;"></p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;（3）windows下的设置完成，转入到跑linux的虚拟机。将你的eth0的ip地址设置为静态的（如果安装时没有选静态的话）&nbsp;&nbsp;</p>
<p style="text-indent: 2em;">（4）windows下的设置完成，转入到跑linux的虚拟机。将你的eth0的ip地址设置为静态的（如果安装时没有选静态的话）。</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;按红帽子图标－＞系统设置－＞网络（或其它你了解的方法）</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;ip：&nbsp;192.168.0.2(或其它在此网段上的地址）</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;netmask:&nbsp;255.255.255.0</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;default&nbsp;gateway:&nbsp;192.168.0.1</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;dns:输入你自己的DNS</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;保存设置。如果你还没有设置好主机名称：</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;cd&nbsp;/etc/sysconfig</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;vi&nbsp;network</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;编辑HOSTNAME</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;cd&nbsp;/etc</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;vi&nbsp;hosts</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;加入：</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;192.168.0.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yourhostname</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;重新启动服务</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;su</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;/sbin/service&nbsp;network&nbsp;restart</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;(4)<a onclick="javascript:tagshow(event, '%b2%e2%ca%d4');" href="javascript:;" target="_self"><u><strong><font color="#0000ff">测试</font></strong></u></a>一下</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;网关：&nbsp;ping&nbsp;192.168.0.1</p>
<p style="text-indent: 2em;">&nbsp;&nbsp;&nbsp;dns:&nbsp;ping&nbsp;dnsserver</p>
<p style="text-indent: 2em;">另请参阅：</p>
<p style="text-indent: 2em;">vmware&nbsp;配置实例一&nbsp;linux&nbsp;host&nbsp;+&nbsp;windows&nbsp;guest&nbsp;+&nbsp;firewall</p>
<p style="text-indent: 2em;">http://bbs.chinaunix.net/forum/viewtopic.php?t=367907&amp;highlight=yunqing</p>
<p style="text-indent: 2em;">vmware&nbsp;网络设置三：理解虚拟网络的类型</p>
<p style="text-indent: 2em;">http://bbs.chinaunix.net/forum/viewtopic.php?t=376768&amp;highlight=yunqing</p><img src ="http://www.cppblog.com/momoxiao/aggbug/107322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-02-05 23:53 <a href="http://www.cppblog.com/momoxiao/archive/2010/02/05/107322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]虚拟机Virtual PC，Vmware里安装SoftICE</title><link>http://www.cppblog.com/momoxiao/archive/2010/01/06/104950.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Wed, 06 Jan 2010 10:28:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/01/06/104950.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104950.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/01/06/104950.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104950.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104950.html</trackback:ping><description><![CDATA[标&nbsp;题:&nbsp;虚拟机Virtual&nbsp;PC，Vmware里安装SoftICE<br>作&nbsp;者:&nbsp;CCDebuger<br>详细信息:&nbsp;<br><br>1、Virtual&nbsp;PC：<br>看雪论坛&nbsp;Phoenix&nbsp;的方法：<br>就是用TRW2000的时候虚拟的98系统里不能有VPC的附加模块存在，已经装了的要完全卸载掉。<br><br>昨天弄了一下，开始我的也不能正常运行，不对，应该说不能正常显示调试窗口，在虚拟的98里按CTRL+N试图呼出TRW2000，没有反应，但是把VPC的窗口最小化再最大化强行刷新，发现TRW2000的黑糊糊的调试窗口出来了，原来TRW2000运行了只是调试窗口不能正常显示&nbsp;联想到以前在VMWARE里面用TRW2000也不正常，但是把VMWARE的附加模块VMTOOLS卸载后就正常了（我原来安装了），所以我在虚拟的98里把以前安装的VPC的附加模块也卸掉试了一下，BINGO！&nbsp;成功了，就是我上面的截图，现在可以正常用了，跟程序也没问题了，但是虚拟系统里没有附加模块用起来很不爽，我是这样解决的，装好98，在虚拟98系统里装附加模块，把TRW2000拷进去，关闭虚拟98系统，然后打开虚拟机的还原功能，这样我每次用TRW2000的时候把附加模块完全卸载掉就可以正常用了，关闭虚拟系统的时候选择还原所有硬盘更新，这样因为有还原，所以每次虚拟系统启动后附加模块还是能用，我的VPC是5.2版。<br><br>2、Vmware&nbsp;WorkStation：<br>官方解释：<br>①<br>在Vmware&nbsp;WorkStation&nbsp;安装目录下有个配置文件（可以直接用记事本打开编辑）*.vmx,先关了VM,再在&nbsp;VM的配置文件.vmx&nbsp;末尾添加下面两行:<br>vmmouse.present="FALSE"<br>svga.maxFullscreenRefreshTick="5"<br><br><br>②<br>若采用官方提供方法不行，请用文本编辑器打开虚拟机的配置文件&nbsp;(.vmx)，添加以下两行：&nbsp;<br><br>vmmouse.present&nbsp;=&nbsp;FALSE<br>svga.forceTraces&nbsp;=&nbsp;"TRUE"&nbsp;<br><br>这样在&nbsp;SoftICE&nbsp;中中断，若原来你的鼠标及屏幕失去响应，你的虚拟操作系统挂起时此时会正常。<br><br>添加这两行可以让你的&nbsp;SoftICE&nbsp;在虚拟机中运行，但是会降低虚拟操作系统的性能。建议在不使用&nbsp;SoftICE&nbsp;时去掉这两行。<br>有时就算配置了以上的选项，按&nbsp;Ctrl-D&nbsp;的时候也不会显示&nbsp;SoftICE&nbsp;窗口且你的鼠标及屏幕也失去了响应。此时再按&nbsp;Ctrl-D&nbsp;退出&nbsp;SoftICE，然后按下面解释的方法来让&nbsp;&nbsp;SoftICE&nbsp;运行在&nbsp;VGA&nbsp;模式：&nbsp;<br><br>打开命令行窗口&nbsp;(例如，选择&nbsp;开始&nbsp;&gt;&nbsp;运行，输入&nbsp;cmd&nbsp;然后点击确定)。&nbsp;<br>按&nbsp;Alt-Enter&nbsp;进入&nbsp;VGA&nbsp;模式。&nbsp;<br>按&nbsp;Ctrl-D&nbsp;调出&nbsp;SoftICE。&nbsp;<img src ="http://www.cppblog.com/momoxiao/aggbug/104950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-01-06 18:28 <a href="http://www.cppblog.com/momoxiao/archive/2010/01/06/104950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SoftICE - Matching PDB file not found</title><link>http://www.cppblog.com/momoxiao/archive/2010/01/06/104933.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Wed, 06 Jan 2010 09:35:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2010/01/06/104933.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104933.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2010/01/06/104933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104933.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104933.html</trackback:ping><description><![CDATA[因为SoftICE不支持中文路径名字.&nbsp; 文件路径中没有中文就可以了<img src ="http://www.cppblog.com/momoxiao/aggbug/104933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2010-01-06 17:35 <a href="http://www.cppblog.com/momoxiao/archive/2010/01/06/104933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]失业的娱乐-IDA逆向工程入门(四)-汇编程序实战 </title><link>http://www.cppblog.com/momoxiao/archive/2009/12/25/104043.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 25 Dec 2009 04:12:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2009/12/25/104043.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104043.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2009/12/25/104043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104043.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104043.html</trackback:ping><description><![CDATA[【文章标题】:&nbsp;失业的娱乐-IDA逆向工程入门(四)-汇编程序实战<br>【文章作者】:&nbsp;layper<br>【作者邮箱】:&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#97;&#121;&#112;&#101;&#114;&#64;&#121;&#97;&#104;&#111;&#111;&#46;&#99;&#111;&#109;&#46;&#99;&#110;">layper@yahoo.com.cn</a><br>【作者主页】:&nbsp;<a href="http://blog.csdn.net/layper/" target="_blank">http://blog.csdn.net/layper/</a><br>【软件名称】:&nbsp;biatch<br>【下载地址】:&nbsp;自己搜索下载<br>【使用工具】:&nbsp;IDA,Radasm,Resource&nbsp;Hacker<br>【作者声明】:&nbsp;只是感兴趣，没有其他目的。失误之处敬请诸位大侠赐教!<br>--------------------------------------------------------------------------------<br>【详细过程】<br>&nbsp;&nbsp;这段时间忙着学习网页制作,刚刚初学,N多问题要学习,搞得我头晕脑涨.现在放松一下,继续逆向玩玩.:)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;汇编程序在逆向工程中是比较简单的一种语言,反汇编得到的代码基本上与源码差不多,只是稍微作点修改就可以了.前面的<br>&nbsp;&nbsp;几篇都是有源码对照的例子,这篇我们进行实战,没有源码.:)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;这是老外的一个工具biatch,今天拿他开刀.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;IDA载入完成后,文件-创建文件-创建asm文件保存为1.asm。接着用Resource&nbsp;Hacker载入biatch,保存对话框资源为1.rc。<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;用RadASM载入1.asm，好了初步工作完成了,接下来先按照上次我写的第三篇步骤来修改.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(一)增加模式定义\options语句\还原include\lib语句<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;在IDA中Shift+F7打开区段窗口接着双击.idata来到.idata段,<br>&nbsp;&nbsp;.idata:00403000&nbsp;;<br>&nbsp;&nbsp;.idata:00403000&nbsp;;&nbsp;Imports&nbsp;from&nbsp;comdlg32.dll注意这里,使用comdig32.dll<br>&nbsp;&nbsp;.idata:00403000&nbsp;;<br>&nbsp;&nbsp;.idata:00403000&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br>&nbsp;&nbsp;.idata:00403000<br>&nbsp;&nbsp;.idata:00403000&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;Externs<br>&nbsp;&nbsp;.idata:00403000&nbsp;;&nbsp;_idata<br>&nbsp;&nbsp;.idata:00403000&nbsp;;&nbsp;BOOL&nbsp;__stdcall&nbsp;GetOpenFileNameA(LPOPENFILENAMEA)<br>&nbsp;&nbsp;.idata:00403000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_GetOpenFileNameA:dword<br>&nbsp;&nbsp;.idata:00403000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;GetOpenFileNameAr<br>&nbsp;&nbsp;.idata:00403000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Create&nbsp;an&nbsp;Open&nbsp;common&nbsp;dialog&nbsp;box<br>&nbsp;&nbsp;.idata:00403004<br>&nbsp;&nbsp;.idata:00403008&nbsp;;<br>&nbsp;&nbsp;.idata:00403008&nbsp;;&nbsp;Imports&nbsp;from&nbsp;gdi32.dll注意这里,使用gdi32.dll<br>&nbsp;&nbsp;.idata:00403008&nbsp;;<br>&nbsp;&nbsp;.idata:00403008&nbsp;;&nbsp;HFONT&nbsp;__stdcall&nbsp;CreateFontIndirectA(const&nbsp;LOGFONTA&nbsp;*)<br>&nbsp;&nbsp;.idata:00403008&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_CreateFontIndirectA:dword<br>&nbsp;&nbsp;.idata:00403008&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;CreateFontIndirectAr<br>&nbsp;&nbsp;.idata:0040300C&nbsp;;&nbsp;BOOL&nbsp;__stdcall&nbsp;DeleteObject(HGDIOBJ)<br>&nbsp;&nbsp;.idata:0040300C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_DeleteObject:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;DeleteObjectr<br>&nbsp;&nbsp;.idata:00403010<br>&nbsp;&nbsp;.idata:00403014&nbsp;;<br>&nbsp;&nbsp;.idata:00403014&nbsp;;&nbsp;Imports&nbsp;from&nbsp;kernel32.dll注意这里,使用kernel32.dll<br>&nbsp;&nbsp;.idata:00403014&nbsp;;<br>&nbsp;&nbsp;.idata:00403014&nbsp;;&nbsp;LPTOP_LEVEL_EXCEPTION_FILTER&nbsp;__stdcall&nbsp;SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER&nbsp;lpTopLevelExceptionFilter)<br>&nbsp;&nbsp;.idata:00403014&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_SetUnhandledExceptionFilter:dword<br>&nbsp;&nbsp;.idata:00403014&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;SetUnhandledExceptionFilterr<br>&nbsp;&nbsp;.idata:00403018&nbsp;;&nbsp;HANDLE&nbsp;GetProcessHeap(void)<br>&nbsp;&nbsp;.idata:00403018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_GetProcessHeap:dword<br>&nbsp;&nbsp;.idata:00403018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;GetProcessHeapr<br>&nbsp;&nbsp;.idata:0040301C&nbsp;;&nbsp;BOOL&nbsp;__stdcall&nbsp;CloseHandle(HANDLE&nbsp;hObject)<br>&nbsp;&nbsp;.idata:0040301C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_CloseHandle:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;CloseHandler<br>&nbsp;&nbsp;.idata:00403020&nbsp;;&nbsp;HANDLE&nbsp;__stdcall&nbsp;CreateFileA(LPCSTR&nbsp;lpFileName,DWORD&nbsp;dwDesiredAccess,DWORD&nbsp;dwShareMode,LPSECURITY_ATTRIBUTES&nbsp;lpSecurityAttributes,DWORD&nbsp;dwCreationDisposition,DWORD&nbsp;dwFlagsAndAttributes,HANDLE&nbsp;hTemplateFile)<br>&nbsp;&nbsp;.idata:00403020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_CreateFileA:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;CreateFileAr<br>&nbsp;&nbsp;.......................<br>&nbsp;&nbsp;........................<br><br>&nbsp;&nbsp;.idata:00403040&nbsp;;&nbsp;HMODULE&nbsp;__stdcall&nbsp;GetModuleHandleA(LPCSTR&nbsp;lpModuleName)<br>&nbsp;&nbsp;.idata:00403040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_GetModuleHandleA:dword<br>&nbsp;&nbsp;.idata:00403040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;GetModuleHandleAr<br>&nbsp;&nbsp;.idata:00403044&nbsp;;&nbsp;void&nbsp;__stdcall&nbsp;ExitProcess(UINT&nbsp;uExitCode)<br>&nbsp;&nbsp;.idata:00403044&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_ExitProcess:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ExitProcessr<br>&nbsp;&nbsp;.idata:00403048&nbsp;;&nbsp;LPVOID&nbsp;__stdcall&nbsp;HeapAlloc(HANDLE&nbsp;hHeap,DWORD&nbsp;dwFlags,DWORD&nbsp;dwBytes)<br>&nbsp;&nbsp;.idata:00403048&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_HeapAlloc:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;HeapAllocr<br>&nbsp;&nbsp;.idata:0040304C<br>&nbsp;&nbsp;.idata:00403050&nbsp;;<br>&nbsp;&nbsp;.idata:00403050&nbsp;;&nbsp;Imports&nbsp;from&nbsp;user32.dll注意这里,使用user32.dll<br>&nbsp;&nbsp;.idata:00403050&nbsp;;<br>&nbsp;&nbsp;.idata:00403050&nbsp;;&nbsp;LONG&nbsp;__stdcall&nbsp;SetWindowLongA(HWND&nbsp;hWnd,int&nbsp;nIndex,LONG&nbsp;dwNewLong)<br>&nbsp;&nbsp;.idata:00403050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_SetWindowLongA:dword<br>&nbsp;&nbsp;.idata:00403050&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;SetWindowLongAr<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.................................<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;.idata:00403098&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_CheckDlgButton:dword<br>&nbsp;&nbsp;.idata:00403098&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;CheckDlgButtonr<br>&nbsp;&nbsp;.idata:00403098&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Change&nbsp;the&nbsp;check&nbsp;state&nbsp;of&nbsp;a&nbsp;button&nbsp;control<br>&nbsp;&nbsp;.idata:0040309C&nbsp;;&nbsp;LRESULT&nbsp;__stdcall&nbsp;CallWindowProcA(WNDPROC&nbsp;lpPrevWndFunc,HWND&nbsp;hWnd,UINT&nbsp;Msg,WPARAM&nbsp;wParam,LPARAM&nbsp;lParam)<br>&nbsp;&nbsp;.idata:0040309C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_CallWindowProcA:dword<br>&nbsp;&nbsp;.idata:0040309C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;CallWindowProcAr<br>&nbsp;&nbsp;.idata:004030A0&nbsp;;&nbsp;BOOL&nbsp;__stdcall&nbsp;ShowWindow(HWND&nbsp;hWnd,int&nbsp;nCmdShow)<br>&nbsp;&nbsp;.idata:004030A0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_ShowWindow:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;ShowWindowr<br>&nbsp;&nbsp;.idata:004030A4&nbsp;;&nbsp;int&nbsp;wsprintfA(LPSTR,LPCSTR,...)<br>&nbsp;&nbsp;.idata:004030A4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_wsprintfA:dword&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;wsprintfAr<br>&nbsp;&nbsp;.idata:004030A8<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;从这里知道了用到四个dll,即comdlg32.dll、gdi32.dll、kernel32.dll、user32.dll，所以我们还原的include和includelib就要包含<br>&nbsp;&nbsp;这几个dll。<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;所以把<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.686p<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mmx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat<br>&nbsp;&nbsp;还原成:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.686p<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mmx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat,stdcall<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;casemap:none<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;WINDOWS.INC<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;comdlg32.inc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includelib&nbsp;comdlg32.lib<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;gdi32.inc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includelib&nbsp;gdi32.lib<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;kernel32.inc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includelib&nbsp;kernel32.lib<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;user32.inc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includelib&nbsp;user32.lib<br>&nbsp;&nbsp;删除前面的.idata段.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(二)删除结构<br>&nbsp;&nbsp;在RadASM中Ctrl+F5试着构建并运行,有错误提示.<br>&nbsp;&nbsp;D:\masm32\Include\WINDOWS.INC(9666)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;LOGFONTA<br>&nbsp;&nbsp;D:\masm32\Include\WINDOWS.INC(9667)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;LOGFONTA<br>&nbsp;&nbsp;D:\masm32\Include\WINDOWS.INC(9668)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;LOGFONTA<br>&nbsp;&nbsp;D:\masm32\Include\WINDOWS.INC(9669)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;LOGFONTA<br>&nbsp;&nbsp;D:\masm32\Include\WINDOWS.INC(9670)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;LOGFONTA<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;从这里可以判断1.asm的LOGFONTA导致出错,删除LOGFONTA结构(在开头处).把tagOFNA结构移动到includelib&nbsp;user32.lib后面.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(三)修改移动_data段<br>&nbsp;&nbsp;在_text段前增加<br>&nbsp;&nbsp;.data<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;把_data全部移到.data之后<br>&nbsp;&nbsp;删除_data段开头的<br>&nbsp;&nbsp;_data&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'DATA'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_data<br>&nbsp;&nbsp;和_data末尾的<br>&nbsp;&nbsp;_data&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;注意:中间的代码不要删除!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(四)修改_text段<br>&nbsp;&nbsp;加上.code<br>&nbsp;&nbsp;_text&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'CODE'&nbsp;use32&nbsp;&nbsp;&nbsp;;在这之前加上.code&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;删除_text开头的<br>&nbsp;&nbsp;_text&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'CODE'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_text<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;401000h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;es:nothing,&nbsp;ss:nothing,&nbsp;ds:_data,&nbsp;fs:nothing,&nbsp;gs:nothing<br>&nbsp;&nbsp;和_text末尾的<br>&nbsp;&nbsp;_text&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;注意:中间的代码不要删除!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(五)修改hWnd错误<br>&nbsp;&nbsp;在RadASM中Ctrl+F5试着构建并运行,有错误提示.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(834)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1286)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1499)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1640)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(2609)&nbsp;:&nbsp;error&nbsp;A2189:&nbsp;&nbsp;:&nbsp;128<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(821)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1277)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1489)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;D:\crack\国外工具\tf10\1.asm(1629)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;在.data段寻找hWnd<br>&nbsp;&nbsp;;&nbsp;HWND&nbsp;hWnd<br>&nbsp;&nbsp;hWnd&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;DialogFunc+241r<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DialogFunc+264w&nbsp;DialogFunc+26Dr<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DialogFunc+28Br&nbsp;DialogFunc+29Dr<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;sub_401500+9r&nbsp;...<br>&nbsp;&nbsp;这个提示两个函数DialogFunc和sub_401500用到这个全局变量hWnd,其他函数的hWnd错误的地方。我们<br>逐条寻找出错位置<br>1.asm(834)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>这条错误在<br>sub_401500&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;DialogFunc+21Fp<br><br>var_18&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-18h<br>var_14&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-14h<br>var_10&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-10h<br>var_C&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-0Ch<br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-8&nbsp;&nbsp;&nbsp;&nbsp;;这里出错,这里的局部变量hWnd与全局变量hWnd冲突,修改为hWnd1<br>lpMem&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-4<br>hDlg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8<br>在IDA中打开Functions窗口,找到sub_401500,<br>sub_401500&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.text&nbsp;00401500&nbsp;00000291&nbsp;R&nbsp;.&nbsp;.&nbsp;.&nbsp;B&nbsp;T&nbsp;.&nbsp;<br>双击来到sub_401500处<br>.text:00401500&nbsp;sub_401500&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;DialogFunc+21Fp<br>.text:00401500<br>.text:00401500&nbsp;var_18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-18h<br>.text:00401500&nbsp;var_14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-14h<br>.text:00401500&nbsp;var_10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-10h<br>.text:00401500&nbsp;var_C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-0Ch<br>.text:00401500&nbsp;hWnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-8&nbsp;&nbsp;&nbsp;&nbsp;;修改这里为hWnd1<br>.text:00401500&nbsp;lpMem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;-4<br>.text:00401500&nbsp;hDlg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;ptr&nbsp;&nbsp;8<br>在hWnd上右键-重命名把hWnd为hWnd1.<br>注意:推荐在IDA里面重命名hWnd,经过修改后IDA自动识别全局变量hWnd和hWnd1比手动快,而且正确率高.<br><br>继续查找<br>1.asm(1286)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>错误在<br>sub_401810&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;sub_401380+130p<br><br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-8&nbsp;&nbsp;&nbsp;&nbsp;;在IDA中修改为hWnd1<br>lpMem&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-4<br>hDlg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8<br><br>1.asm(1499)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>找到<br>sub_401A10&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;DialogFunc+233p<br><br>var_8&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-8<br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-4&nbsp;&nbsp;&nbsp;&nbsp;;在IDA中修改为hWnd1<br>hDlg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8<br><br>1.asm(1640)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>找到<br>sub_401B6C&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;DialogFunc+9Eo<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DialogFunc+CBo&nbsp;sub_401380+57o<br><br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;;这个不是局部变量了<br>Msg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;0Ch<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;10h<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;14h<br><br>因为这里不是局部变量了,我们先修改前面三个函数(或者子程序),sub_401500,sub_401810,sub_401A10.<br>保存修改后的代码为2.asm,接着把1.asm里的sub_401500,sub_401810,sub_401A10这三个函数全部用2.asm<br>里的sub_401500,sub_401810,sub_401A10替换掉.<br><br>接着在RadASM中Ctrl+F5构建并运行,<br>D:\crack\国外工具\tf10\1.asm(1640)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br>D:\crack\国外工具\tf10\1.asm(2609)&nbsp;:&nbsp;error&nbsp;A2189:&nbsp;&nbsp;:&nbsp;128<br>D:\crack\国外工具\tf10\1.asm(1629)&nbsp;:&nbsp;error&nbsp;A2005:&nbsp;&nbsp;:&nbsp;hWnd<br><br>看来sub_401B6C的hWnd也要改掉,在IDA中修改后覆盖到1.asm里,<br>D:\crack\国外工具\tf10\1.asm(2609)&nbsp;:&nbsp;error&nbsp;A2189:&nbsp;&nbsp;:&nbsp;128<br><br>hWnd没有出现错误了.<br><br>(五)删除align<br><br>1.asm(2609)&nbsp;:&nbsp;error&nbsp;A2189:&nbsp;&nbsp;:&nbsp;128&nbsp;&nbsp;;这里就是align,直接删除了<br><br>(六)修改fs[0]<br>前面几篇都没有涉及到这个内容,这里就出现关于fs[0]的出错代码的修改.<br>D:\crack\国外工具\tf10\1.asm(1950)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(1951)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(1971)&nbsp;:&nbsp;error&nbsp;A2206:<br><br><br>这几行在1.asm对应的代码是sub_401D80中<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;large&nbsp;fs:0,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>这几行代码都在<br><br>D:\crack\国外工具\tf10\1.asm(2010)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2011)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2054)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br><br>这几行在1.asm对应的代码是sub_401DE0中<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;large&nbsp;fs:0,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br><br><br>D:\crack\国外工具\tf10\1.asm(2422)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2423)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2478)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>这几行在1.asm对应的代码是sub_402050中<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;large&nbsp;fs:0,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br><br><br>D:\crack\国外工具\tf10\1.asm(2536)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2537)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2581)&nbsp;:&nbsp;error&nbsp;A2206:&nbsp;<br>这几行在1.asm对应的代码是sub_4020F0中<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;large&nbsp;fs:0,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;large&nbsp;dword&nbsp;ptr&nbsp;&nbsp;fs:0<br>这几句代码的写法不正确,我们把他们改为<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;fs:[0]<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;fs:[0],&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;fs:[0]<br>试构建运行看看<br>D:\crack\国外工具\tf10\1.asm(1950)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(1951)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(1971)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2010)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2011)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2054)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2422)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2423)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2478)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2536)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2537)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br>D:\crack\国外工具\tf10\1.asm(2581)&nbsp;:&nbsp;error&nbsp;A2108:&nbsp;<br><br>还是提示出错,经过认真观察,参考了其他代码,我在函数sub_401D80,sub_401DE0,sub_4020F0,sub_4020F0开头处加上一句<br>代码:<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;fs:nothing<br><br>查一下资料,因为MASM编译器默认是把FS定义为error,所以在程序中要使用FS寄存器就要用&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;assume&nbsp;&nbsp;&nbsp;fs:nothing&nbsp;&nbsp;&nbsp;来声明，否则就会报错。<br>构建运行<br>D:\masm32\BIN\ML.EXE&nbsp;/c&nbsp;/coff&nbsp;/Cp&nbsp;/nologo&nbsp;/I"D:\masm32\Include"&nbsp;"D:\crack\国外工具\tf10\1.asm"<br>&nbsp;Assembling:&nbsp;D:\crack\国外工具\tf10\1.asm<br>D:\masm32\BIN\LINK.EXE&nbsp;/SUBSYSTEM:WINDOWS&nbsp;/RELEASE&nbsp;/VERSION:4.0&nbsp;/LIBPATH:"D:\masm32\LIB"&nbsp;"D:\crack\国外工具\tf10\1.obj"&nbsp;<br>Microsoft&nbsp;(R)&nbsp;Incremental&nbsp;Linker&nbsp;Version&nbsp;5.12.8078<br>Copyright&nbsp;(C)&nbsp;Microsoft&nbsp;Corp&nbsp;1992-1998.&nbsp;All&nbsp;rights&nbsp;reserved.<br><br>执行:<br>&nbsp;"D:\crack\国外工具\tf10\1.exe"<br><br>构建完成.<br>总共编译时间&nbsp;781&nbsp;毫秒<br><br>无错误提示,呵呵,我们逆向的代码初步成功了.<br><br>(七)加入资源<br>我们试运行1.exe发现没有出现界面,这个就是没有把资源加回去才出现这种错误的.<br><br>利用Resource&nbsp;Hacker生成的1.rc修改后用makefile文件把资源文件编译进去.<br><br>1.rc所做的修改如下:<br>增加<br>#include&nbsp;&nbsp;&nbsp;&nbsp;&lt;resource.h&gt;<br><br>删除掉<br>LANGUAGE&nbsp;LANG_NEUTRAL,&nbsp;SUBLANG_NEUTRAL<br><br>makefile文件:<br>NAME&nbsp;=&nbsp;1<br>OBJS&nbsp;=&nbsp;$(NAME).obj<br>RES&nbsp;&nbsp;=&nbsp;$(NAME).res<br><br>LINK_FLAG&nbsp;=&nbsp;/subsystem:windows<br>ML_FLAG&nbsp;=&nbsp;/c&nbsp;/coff<br><br>$(NAME).exe:&nbsp;$(OBJS)&nbsp;$(RES)<br>&nbsp;&nbsp;Link&nbsp;$(LINK_FLAG)&nbsp;$(OBJS)&nbsp;$(RES)<br><br>.asm.obj:<br>&nbsp;&nbsp;ml&nbsp;$(ML_FLAG)&nbsp;$&lt;<br>.rc.res:<br>&nbsp;&nbsp;rc&nbsp;$&lt;<br><br>clean:<br>&nbsp;&nbsp;del&nbsp;*.obj<br>&nbsp;&nbsp;del&nbsp;*.res<br><br>注意:这里编译我直接用命令行形式编译,不用RadASM.<br><br>呵呵,现在你已经拥有一份不太完善的biatch的源码了.<br><br>汇编程序的逆向工程就告一段落了.我这里演示的只是一部分还原方法或注意事项,在实际应用当中<br>并不是仅仅这几步内容(比如优化就是非常重要),这个就要多多进行练习来提高水平了。<br><br><br>--------------------------------------------------------------------------------<br>【版权声明】:&nbsp;转载请注明作者并保持文章的完整,&nbsp;谢谢!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2007年03月30日&nbsp;0:46:41<img src ="http://www.cppblog.com/momoxiao/aggbug/104043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2009-12-25 12:12 <a href="http://www.cppblog.com/momoxiao/archive/2009/12/25/104043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]失业的娱乐-IDA逆向工程入门(三)</title><link>http://www.cppblog.com/momoxiao/archive/2009/12/25/104040.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 25 Dec 2009 04:10:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2009/12/25/104040.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104040.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2009/12/25/104040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104040.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104040.html</trackback:ping><description><![CDATA[【文章标题】:&nbsp;失业的娱乐-IDA逆向工程入门(三)-汇编程序(2)<br>【文章作者】:&nbsp;layper<br>【作者邮箱】:&nbsp;layper@yahoo.comcn<br>【作者主页】:&nbsp;http://blog.csdn.net/layper/<br>【下载地址】:&nbsp;自己搜索下载<br>【编写语言】:&nbsp;asm<br>【使用工具】:&nbsp;IDA\reshack\radasm\<br>【作者声明】:&nbsp;只是感兴趣，没有其他目的。失误之处敬请诸位大侠赐教!<br>--------------------------------------------------------------------------------<br>【详细过程】<br>&nbsp;&nbsp;多谢大家的支持,特别是fly还关心我的工作问题,无已回报,只能继续写些小文供大家批评了!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;上一篇我们所逆的是非常简单的win32汇编,总共才两个api函数,一个消息框和ExitProcess函数,这篇我们就涉及一个真正的窗口<br>&nbsp;&nbsp;程序firstwindows,我学汇编是看了罗云彬的《windows环境下汇编语言程序设计》才入门的,我直接拿里面的例子来讲吧,如果作<br>&nbsp;&nbsp;者觉得不合适,我会删去的!!!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;顺便讲一下学习逆向工程的方法,这个跟学脱壳方法类似,你先用一种语言写一个程序(刚开始比较简单的),编译后用IDA或者<br>&nbsp;&nbsp;其他工具反汇编,观察源代码和反汇编代码有什么异同,想办法在逆向代码中逐渐靠近源代码,最后再把他整理到编译工具中不<br>&nbsp;&nbsp;断编译,在编译器中看那里出错,逐步修改,直至成功,最后总结经验,这样就会逐步提高了.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;限于篇幅,我只把完整源码贴出来,未修改的反汇编在压缩包内的1.asm,请自行查看<br>&nbsp;&nbsp;firstwindows源码<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;Sample&nbsp;code&nbsp;for&nbsp;&lt;&nbsp;Win32ASM&nbsp;Programming&nbsp;&gt;<br>&nbsp;&nbsp;;&nbsp;by&nbsp;罗云彬,&nbsp;http://asm.yeah.net<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;FirstWindow.asm<br>&nbsp;&nbsp;;&nbsp;窗口程序的模板代码<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;使用&nbsp;nmake&nbsp;或下列命令进行编译和链接:<br>&nbsp;&nbsp;;&nbsp;ml&nbsp;/c&nbsp;/coff&nbsp;FirstWindow.asm<br>&nbsp;&nbsp;;&nbsp;Link&nbsp;/subsystem:windows&nbsp;FirstWindow.obj<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.386<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat,stdcall<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;casemap:none<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;Include&nbsp;文件定义<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;windows.inc<br>&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;gdi32.inc<br>&nbsp;&nbsp;includelib&nbsp;&nbsp;gdi32.lib<br>&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;user32.inc<br>&nbsp;&nbsp;includelib&nbsp;&nbsp;user32.lib<br>&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;kernel32.inc<br>&nbsp;&nbsp;includelib&nbsp;&nbsp;kernel32.lib<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;数据段<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.data?<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;hInstance&nbsp;&nbsp;dd&nbsp;&nbsp;&nbsp;&nbsp;?<br>&nbsp;&nbsp;hWinMain&nbsp;&nbsp;dd&nbsp;&nbsp;&nbsp;&nbsp;?<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.const<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;szClassName&nbsp;&nbsp;db&nbsp;&nbsp;'MyClass',0<br>&nbsp;&nbsp;szCaptionMain&nbsp;&nbsp;db&nbsp;&nbsp;'My&nbsp;first&nbsp;Window&nbsp;!',0<br>&nbsp;&nbsp;szText&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;'Win32&nbsp;Assembly,&nbsp;Simple&nbsp;and&nbsp;powerful&nbsp;!',0<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;代码段<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.code<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;;&nbsp;窗口过程<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;_ProcWinMain&nbsp;&nbsp;proc&nbsp;&nbsp;uses&nbsp;ebx&nbsp;edi&nbsp;esi,hWnd,uMsg,wParam,lParam<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;@stPs:PAINTSTRUCT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;@stRect:RECT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;@hDc<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;eax,uMsg<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.if&nbsp;&nbsp;eax&nbsp;==&nbsp;&nbsp;WM_PAINT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;BeginPaint,hWnd,addr&nbsp;@stPs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@hDc,eax<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;GetClientRect,hWnd,addr&nbsp;@stRect<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;DrawText,@hDc,addr&nbsp;szText,-1,\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addr&nbsp;@stRect,\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DT_SINGLELINE&nbsp;or&nbsp;DT_CENTER&nbsp;or&nbsp;DT_VCENTER<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;EndPaint,hWnd,addr&nbsp;@stPs<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.elseif&nbsp;&nbsp;eax&nbsp;==&nbsp;&nbsp;WM_CLOSE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;DestroyWindow,hWinMain<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;PostQuitMessage,NULL<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;DefWindowProc,hWnd,uMsg,wParam,lParam<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.endif<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xor&nbsp;&nbsp;eax,eax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;_ProcWinMain&nbsp;&nbsp;endp<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;_WinMain&nbsp;&nbsp;proc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;@stWndClass:WNDCLASSEX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local&nbsp;&nbsp;@stMsg:MSG<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;GetModuleHandle,NULL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;hInstance,eax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;RtlZeroMemory,addr&nbsp;@stWndClass,sizeof&nbsp;@stWndClass<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;;&nbsp;注册窗口类<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;LoadCursor,0,IDC_ARROW<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.hCursor,eax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;hInstance<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;@stWndClass.hInstance<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.cbSize,sizeof&nbsp;WNDCLASSEX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.style,CS_HREDRAW&nbsp;or&nbsp;CS_VREDRAW<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.lpfnWndProc,offset&nbsp;_ProcWinMain<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.hbrBackground,COLOR_WINDOW&nbsp;+&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;@stWndClass.lpszClassName,offset&nbsp;szClassName<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;RegisterClassEx,addr&nbsp;@stWndClass<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;;&nbsp;建立并显示窗口<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;CreateWindowEx,WS_EX_CLIENTEDGE,offset&nbsp;szClassName,offset&nbsp;szCaptionMain,\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WS_OVERLAPPEDWINDOW,\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100,100,600,400,\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL,NULL,hInstance,NULL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;hWinMain,eax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;ShowWindow,hWinMain,SW_SHOWNORMAL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;UpdateWindow,hWinMain<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;;&nbsp;消息循环<br>&nbsp;&nbsp;;********************************************************************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.while&nbsp;&nbsp;TRUE<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;GetMessage,addr&nbsp;@stMsg,NULL,0,0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.break&nbsp;&nbsp;.if&nbsp;eax&nbsp;&nbsp;==&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;TranslateMessage,addr&nbsp;@stMsg<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;DispatchMessage,addr&nbsp;@stMsg<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.endw<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;_WinMain&nbsp;&nbsp;endp<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;start:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;_WinMain<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invoke&nbsp;&nbsp;ExitProcess,NULL<br>&nbsp;&nbsp;;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;start<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;在radasm编译通过.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;用IAD反汇编载入完成后,点击文件-创建文件-创建asm文件就得到未经修改的反汇编后得到的1.asm文件(有点绕口:)),直接用<br>&nbsp;&nbsp;radasm打开,在radasm中ctrl+f5构建并运行看看结果怎样,呵呵,出错了.<br><br>因为一步一步来讲比较长,我先把操作过程写下来,在慢慢解释,1.asm修改如下:<br>(一)增加模式定义\options语句\还原include语句<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.686p<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mmx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat,stdcall<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;casemap:none<br>&nbsp;&nbsp;include&nbsp;WINDOWS.INC<br>&nbsp;&nbsp;include&nbsp;kernel32.inc<br>&nbsp;&nbsp;includelib&nbsp;kernel32.lib<br>&nbsp;&nbsp;include&nbsp;user32.inc<br>&nbsp;&nbsp;includelib&nbsp;user32.lib<br>(二)删除结构MSG\POINT\PAINTSTRUCT\RECT,并把余下的结构移动到&nbsp;&nbsp;includelib&nbsp;user32.lib之后,即第一步之后,<br>然后做如下修改:<br>tagMSG&nbsp;&nbsp;&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x1C,&nbsp;standard&nbsp;type)<br>hwnd&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>message&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>time&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>pt&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;;这里修改为pt&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;&lt;&gt;<br>tagMSG&nbsp;&nbsp;&nbsp;&nbsp;ends<br><br>tagPAINTSTRUCT&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x40,&nbsp;standard&nbsp;type)<br>hdc&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>fErase&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>rcPaint&nbsp;&nbsp;&nbsp;&nbsp;RECT&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;这里修改为rcPaint&nbsp;&nbsp;&nbsp;&nbsp;RECT&nbsp;&lt;&gt;<br>fRestore&nbsp;&nbsp;dd&nbsp;?<br>fIncUpdate&nbsp;&nbsp;dd&nbsp;?<br>rgbReserved&nbsp;&nbsp;db&nbsp;32&nbsp;dup(?)<br>tagPAINTSTRUCT&nbsp;&nbsp;ends<br>(三)对函数的局部变量进行修改<br>一共三个函数start\sub_401000和sub_401089,修改如下<br>sub_401089:<br>sub_401089&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;startp<br><br>Msg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;MSG&nbsp;ptr&nbsp;-4Ch<br>var_30&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;WNDCLASSEXA&nbsp;ptr&nbsp;-30h<br>修改为:<br>sub_401089&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;startp<br><br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Msg:MSG&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;var_30:WNDCLASSEXA&nbsp;<br><br><br><br>sub_401000:<br><br>sub_401000&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;sub_401089+43o<br><br>hDC&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-54h<br>Rect&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;tagRECT&nbsp;ptr&nbsp;-50h<br>Paint&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;PAINTSTRUCT&nbsp;ptr&nbsp;-40h<br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8<br>Msg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;0Ch<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;10h<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;14h<br><br>修改为:<br>sub_401000&nbsp;&nbsp;proc&nbsp;uses&nbsp;ebx&nbsp;edi&nbsp;esi&nbsp;,hWnd,Msg,wParam,lParam&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;sub_401089+43o<br><br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;hDC<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Rect:tagRECT<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Paint:PAINTSTRUCT<br><br><br>(四)_text段修改<br>删除<br>在_text段前增加.code<br>_text&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'CODE'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_text<br>&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;401000h<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;es:nothing,&nbsp;ss:nothing,&nbsp;ds:_data,&nbsp;fs:nothing,&nbsp;gs:nothing<br>和<br>_text&nbsp;&nbsp;&nbsp;&nbsp;ends<br>注意:中间的代码不要删除!!!<br><br>(五)删除align&nbsp;40h<br><br>(六)移动修改_data段<br>在.code前增加.data,并且把_data段移动到这里<br>把<br>_data&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'DATA'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_data<br>&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;403000h<br>和&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;sub_401089+A6r<br>_data&nbsp;&nbsp;&nbsp;&nbsp;ends<br>删除<br>注意:中间的代码不要删除!!!<br><br>(七)修改sub_401000的hWnd,只要出现有的都修改为hWnd1.<br><br>(八)删除_idata段<br><br>(九)<br>把函数含有[ebp+变量]的代码全部修改为变量<br>sub_401089的代码<br>[ebp+var_30]&nbsp;改为&nbsp;&nbsp;var_30<br>[ebp+var_30.hCursor]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.hCursor<br>[ebp+var_30.hInstance]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.hInstance<br>[ebp+var_30.cbSize]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.cbSize<br>[ebp+var_30.style]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.style<br>[ebp+var_30.lpfnWndProc]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.lpfnWndProc<br>[ebp+var_30.hbrBackground]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.hbrBackground<br>[ebp+var_30.lpszClassName]&nbsp;&nbsp;改为&nbsp;&nbsp;var_30.lpszClassName<br>[ebp+Msg]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;Msg<br><br>sub_401000的代码<br>[ebp+hDC]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;hDC<br>[ebp+Rect]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;Rect<br>[ebp+Paint]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;Paint<br>[ebp+hWnd1]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;hWnd1<br>[ebp+Msg]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;Msg<br>[ebp+wParam]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;wParam<br>[ebp+lParam]&nbsp;&nbsp;&nbsp;&nbsp;改为&nbsp;&nbsp;lParam<br><br>(十)删掉函数多余的开头<br>sub_401089处:<br>sub_401089&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;CODE&nbsp;XREF:&nbsp;startp<br><br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Msg:MSG&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;var_30:WNDCLASSEXA&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp&nbsp;&nbsp;&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp&nbsp;&nbsp;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFB4h&nbsp;&nbsp;;删掉<br><br>sub_401000处:<br>sub_401000&nbsp;&nbsp;proc&nbsp;near&nbsp;uses&nbsp;ebx&nbsp;edi&nbsp;esi&nbsp;,hWnd1,Msg,wParam,lParam&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;sub_401089+43o<br><br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;hDC<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Rect:tagRECT<br>&nbsp;&nbsp;&nbsp;&nbsp;LOCAL&nbsp;Paint:PAINTSTRUCT<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFACh&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebx&nbsp;&nbsp;&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;edi&nbsp;&nbsp;&nbsp;&nbsp;;删掉<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;esi&nbsp;&nbsp;&nbsp;&nbsp;;删掉<br><br><br>--------------------------------------------------------------------------------<br>【经验总结】<br>&nbsp;其实只要你把反编译的代码按照radasm的提示一步一步修改就可以了.<br>解释:<br>(一)<br>这一步我在上篇已经解释的比较明白了.因为我们汇编开头就是那么几句代码.<br>include语句加回去这个是因为我们编译的是汇编程序,这样肯定要用到库.如果IDA使用生成的_data段<br>就非常容易出错.毕竟它只是"识别"而不是源码!!!!!!!<br><br>(二)<br>&nbsp;(1)删除结构体MSG\POINT\PAINTSTRUCT\RECT<br>我们进行了第一步操作后,用radasm进行构建,就会提示我们<br>D:\masm32\Include\WINDOWS.INC(7873)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;POINT<br>D:\masm32\Include\WINDOWS.INC(7874)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;POINT<br>D:\masm32\Include\WINDOWS.INC(8841)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8842)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8843)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8844)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8845)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8846)&nbsp;:&nbsp;error&nbsp;A2163:&nbsp;&nbsp;:&nbsp;MSG<br>D:\masm32\Include\WINDOWS.INC(8846)&nbsp;:&nbsp;fatal&nbsp;error&nbsp;A1016:&nbsp;<br><br>构建时发生错误.<br>总共编译时间&nbsp;271&nbsp;毫秒<br><br>这个这个意思说我们的库文件出错,这个可能吗?当然也有可能,但我想你首先应该想到是你的反汇编代码错.<br>先查询一下windows.inc"出错"的到底是什么<br>POINT&nbsp;STRUCT<br>&nbsp;&nbsp;x&nbsp;&nbsp;DWORD&nbsp;?&nbsp;&nbsp;;7873行<br>&nbsp;&nbsp;y&nbsp;&nbsp;DWORD&nbsp;?&nbsp;&nbsp;;7874行<br>POINT&nbsp;ENDS<br><br>MSG&nbsp;STRUCT<br>&nbsp;&nbsp;hwnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;;8841<br>&nbsp;&nbsp;message&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;;8842<br>&nbsp;&nbsp;wParam&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;;8843<br>&nbsp;&nbsp;lParam&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;;8844<br>&nbsp;&nbsp;time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?&nbsp;&nbsp;;8845<br>&nbsp;&nbsp;pt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&gt;&nbsp;&nbsp;;8846<br>MSG&nbsp;ENDS<br><br>呵呵,你再看看反汇编代码开头<br>MSG&nbsp;&nbsp;&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x1C,&nbsp;standard&nbsp;type)<br>hwnd&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>message&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>time&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>pt&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;?<br>MSG&nbsp;&nbsp;&nbsp;&nbsp;ends<br><br>;&nbsp;---------------------------------------------------------------------------<br><br>POINT&nbsp;&nbsp;&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x8,&nbsp;standard&nbsp;type)<br>x&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>y&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>POINT&nbsp;&nbsp;&nbsp;&nbsp;ends<br>明白怎么是这样了吧?我们反汇编代码重复定义了结构msg,point所以要把他们删除.同理PAINTSTRUCT\RECT也删除了.<br>(2)移动剩余结构到include语句后.<br>这一步我是为了省事,剩余三个结构<br>tagMSG&nbsp;&nbsp;&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x1C,&nbsp;standard&nbsp;type)<br>hwnd&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>message&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>time&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>pt&nbsp;&nbsp;&nbsp;&nbsp;POINT&nbsp;?<br>tagMSG&nbsp;&nbsp;&nbsp;&nbsp;ends<br>;&nbsp;---------------------------------------------------------------------------<br>WNDCLASSEXA&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x30,&nbsp;standard&nbsp;type)<br>cbSize&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>style&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>lpfnWndProc&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>cbClsExtra&nbsp;&nbsp;dd&nbsp;?<br>cbWndExtra&nbsp;&nbsp;dd&nbsp;?<br>hInstance&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>hIcon&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>hCursor&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>hbrBackground&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>lpszMenuName&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>lpszClassName&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>hIconSm&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>WNDCLASSEXA&nbsp;&nbsp;ends<br>;&nbsp;---------------------------------------------------------------------------<br>tagRECT&nbsp;&nbsp;&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x10,&nbsp;standard&nbsp;type)<br>left&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>top&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>right&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>bottom&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>tagRECT&nbsp;&nbsp;&nbsp;&nbsp;ends<br>;&nbsp;---------------------------------------------------------------------------<br>tagPAINTSTRUCT&nbsp;&nbsp;struc&nbsp;;&nbsp;&nbsp;(sizeof=0x40,&nbsp;standard&nbsp;type)<br>hdc&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;offset<br>fErase&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?<br>rcPaint&nbsp;&nbsp;&nbsp;&nbsp;RECT&nbsp;?<br>fRestore&nbsp;&nbsp;dd&nbsp;?<br>fIncUpdate&nbsp;&nbsp;dd&nbsp;?<br>rgbReserved&nbsp;&nbsp;db&nbsp;32&nbsp;dup(?)<br>tagPAINTSTRUCT&nbsp;&nbsp;ends<br>其中tagMSG和tagPAINTSTRUCT结构分别用到了POINT结构和RECT结构,刚才我们删了,只有windows.inc中有<br>所以直接把他们剪切到这里省去出错的机会.<br>(3)修改结构<br>tagMSG结构和tagPAINTSTRUCT结构修改,我是参照windows.inc结构定义方法.结构中用结构&lt;&gt;&nbsp;:)<br>这个不一定完全正确,想研究这方面多阅读.inc文件<br><br>(三)函数修改<br>在反汇编代码中只要出现proc的,到现在为止我都看成是函数!!!<br>IDA反汇编都它的函数都变成这个样子<br>sub_401000&nbsp;&nbsp;proc&nbsp;near&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;sub_401089+43o<br><br>hDC&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;-54h&nbsp;&nbsp;;注意这里是减(-)<br>Rect&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;tagRECT&nbsp;ptr&nbsp;-50h<br>Paint&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;PAINTSTRUCT&nbsp;ptr&nbsp;-40h<br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;;这里其实是加(+)<br>Msg&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;0Ch<br>wParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;10h<br>lParam&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;&nbsp;14h<br><br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFACh<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebx<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;edi<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;esi<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;eax,&nbsp;[ebp+Msg]<br>这里就会出现一个问题.我们先前又删结构又改结构,而这里又用到结构,不修改编译也会出错的.<br>我们改成比较正规的win32汇编程序格式.<br>刚才我提示加减的地方,总结一条规律给大家:<br>函数开头&nbsp;xx&nbsp;=&nbsp;结构&nbsp;-&nbsp;xxh&nbsp;这个就是函数的局部变量,可用local&nbsp;xx:结构替换.<br>函数开头&nbsp;xx&nbsp;=&nbsp;dword&nbsp;&nbsp;ptr&nbsp;xxh&nbsp;这个是函数的参数,函数可改为<br>函数名&nbsp;proc&nbsp;xx<br><br>(四)_text段修改<br>代码段<br>_text&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'CODE'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_text<br>&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;401000h<br>&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;es:nothing,&nbsp;ss:nothing,&nbsp;ds:_data,&nbsp;fs:nothing,&nbsp;gs:nothing<br>和<br>_text&nbsp;&nbsp;&nbsp;&nbsp;ends<br>IDA这种段写法有很大的弊端,也是引起我们修改后的代码编译不通过的一个很重要原因.(具体我还说不上来,我还很菜)<br><br>(五)删除align&nbsp;40h<br>align是反汇编代码不通过编译的一种常见错误.<br><br>(六)移动修改_data段<br>一般来说_data段是我们的数据段,一般我们放在前面.(呵呵,代码顺序也很重要)<br><br>(七)在数据段中<br>hWnd&nbsp;&nbsp;&nbsp;&nbsp;dd&nbsp;?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;sub_401000+54r<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;sub_401089+94w&nbsp;sub_401089+9Br<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;sub_401089+A6r<br>提示hWnd是函数sub_401089的,并不是sub_401000,所以要重命名他们.<br><br>(八)删除_idata段<br>include语句已经有了函数定义,再保留这里就会出错.<br><br>(九)<br>把函数含有[ebp+变量]的代码全部修改为变量<br>[ebp+]这个是编译器加上去的,我们直接用的话,编译后会变成[ebp+ebp+变量],容易出错.<br><br>(十)删掉函数多余的开头<br>反汇编代码中,编译器为你加上象这样的代码<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFB4h<br>如果你直接编译的话代码就变成了:<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFB4h<br>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;ebp<br>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;ebp,&nbsp;esp<br>&nbsp;&nbsp;&nbsp;&nbsp;add&nbsp;&nbsp;esp,&nbsp;0FFFFFFB4h<br>重新编译也容易出错,所以要删去.<br><br>同理,要注意函数结束地方看看是否要删去.<br><br>(十一)<br>这里说一点跟上一篇不同的是没有删除_rdata,因为这里有我们程序要的数据,所以没删除.如<br>果你还想优化自己弄了!!!<br><br>呵呵,终于弄完这篇了,把它整理好花了好大工夫.错误难免,请多包涵!!!!<br><br>--------------------------------------------------------------------------------<br>【版权声明】:&nbsp;本文原创于看雪技术论坛,&nbsp;转载请注明作者并保持文章的完整,&nbsp;谢谢!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2007年03月04日&nbsp;12:21:20<img src ="http://www.cppblog.com/momoxiao/aggbug/104040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2009-12-25 12:10 <a href="http://www.cppblog.com/momoxiao/archive/2009/12/25/104040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]失业的娱乐-IDA逆向工程入门(二)</title><link>http://www.cppblog.com/momoxiao/archive/2009/12/25/104039.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 25 Dec 2009 04:10:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2009/12/25/104039.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104039.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2009/12/25/104039.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104039.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104039.html</trackback:ping><description><![CDATA[【文章标题】:&nbsp;失业的娱乐-IDA逆向工程入门(二)-汇编程序(1)<br>【文章作者】:&nbsp;layper<br>【作者邮箱】:&nbsp;layper@yahoo.com.cn<br>【作者主页】:&nbsp;http://blog.csdn.net/layper/<br>【下载地址】:&nbsp;自己搜索下载<br>【作者声明】:&nbsp;只是感兴趣，没有其他目的。失误之处敬请诸位大侠赐教!<br>--------------------------------------------------------------------------------<br>【详细过程】<br>&nbsp;&nbsp;这个是第二篇,入门就要从最简单的开始!!!!!!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;为什么选汇编程序,因为在IDA逆向出来的就是汇编语言.所以选这个是最好入门的.在这之前你先准备好几样工具,IDA,masm32汇编工具包并安装好,<br>&nbsp;&nbsp;在radasm设置好你的路径.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(一)最简单的win32汇编程序源码<br>&nbsp;&nbsp;hellow.asm<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;.386<br>&nbsp;&nbsp;.model&nbsp;flat,stdcall<br>&nbsp;&nbsp;option&nbsp;casemap:none<br>&nbsp;&nbsp;include&nbsp;WINDOWS.INC<br>&nbsp;&nbsp;include&nbsp;user32.inc<br>&nbsp;&nbsp;include&nbsp;kernel32.inc<br>&nbsp;&nbsp;includelib&nbsp;user32.lib<br>&nbsp;&nbsp;includelib&nbsp;kernel32.lib<br>&nbsp;&nbsp;.data<br>&nbsp;&nbsp;sztitle&nbsp;db&nbsp;"你好",0<br>&nbsp;&nbsp;sztext&nbsp;db&nbsp;"你好!祝你有个好的开始!!!",0<br>&nbsp;&nbsp;.code<br>&nbsp;&nbsp;start:<br>&nbsp;&nbsp;invoke&nbsp;MessageBox,NULL,offset&nbsp;sztext,offset&nbsp;sztitle,MB_OK<br>&nbsp;&nbsp;invoke&nbsp;ExitProcess,NULL<br>&nbsp;&nbsp;end&nbsp;start<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;radasm默认编译.无资源段<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(二)IDA自动识别的反汇编代码(未优化直接保存)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br>;&nbsp;?This&nbsp;file&nbsp;is&nbsp;generated&nbsp;by&nbsp;The&nbsp;Interactive&nbsp;Disassembler&nbsp;(IDA)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?<br>;&nbsp;?Copyright&nbsp;(c)&nbsp;2006&nbsp;by&nbsp;DataRescue&nbsp;sa/nv,&nbsp;&nbsp;&lt;ida@datarescue.com&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;?<br>;&nbsp;?Licensed&nbsp;to:&nbsp;Paul&nbsp;Ashton&nbsp;-&nbsp;Blue&nbsp;Lane&nbsp;Technologies&nbsp;(1-user&nbsp;Advanced&nbsp;03/2006)&nbsp;&nbsp;?s<br>&nbsp;&nbsp;;&nbsp;韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br>;<br>&nbsp;&nbsp;;&nbsp;Input&nbsp;&nbsp;MD5&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;10721E858F8E4DA3413D6FBFAE63E7B3<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;File&nbsp;Name&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;D:\lyp\hellow\hellow.exe<br>&nbsp;&nbsp;;&nbsp;Format&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;Portable&nbsp;executable&nbsp;for&nbsp;&nbsp;80386&nbsp;(PE)<br>&nbsp;&nbsp;;&nbsp;Imagebase&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;400000<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;1.&nbsp;(virtual&nbsp;address&nbsp;00001000)<br>&nbsp;&nbsp;;&nbsp;Virtual&nbsp;size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;00000026&nbsp;(&nbsp;&nbsp;&nbsp;38.)<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;size&nbsp;in&nbsp;file&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;00000200&nbsp;(&nbsp;&nbsp;512.)<br>&nbsp;&nbsp;;&nbsp;Offset&nbsp;to&nbsp;raw&nbsp;&nbsp;data&nbsp;for&nbsp;section:&nbsp;00000400<br>&nbsp;&nbsp;;&nbsp;Flags&nbsp;&nbsp;60000020:&nbsp;Text&nbsp;Executable&nbsp;Readable<br>&nbsp;&nbsp;;&nbsp;Alignment&nbsp;&nbsp;:&nbsp;default<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.686p<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mmx<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br><br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;&nbsp;Pure&nbsp;code<br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;permissions:&nbsp;Read/Execute<br>&nbsp;&nbsp;_text&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'CODE'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_text<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;401000h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;es:nothing,&nbsp;ss:nothing,&nbsp;ds:_data,&nbsp;fs:nothing,&nbsp;gs:nothing<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;***************&nbsp;S&nbsp;U&nbsp;B&nbsp;&nbsp;R&nbsp;O&nbsp;U&nbsp;T&nbsp;&nbsp;I&nbsp;N&nbsp;E&nbsp;***************************************<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;start<br>&nbsp;&nbsp;start&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;near<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;uType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;offset&nbsp;Caption&nbsp;&nbsp;;&nbsp;"你好"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;offset&nbsp;Text&nbsp;&nbsp;;&nbsp;"你好!祝你有个好的开始!!!"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;hWnd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;MessageBoxA<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;uExitCode<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;ExitProcess<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;start&nbsp;&nbsp;&nbsp;&nbsp;endp<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;[00000006&nbsp;BYTES:&nbsp;COLLAPSED&nbsp;FUNCTION&nbsp;MessageBoxA.&nbsp;PRESS&nbsp;KEYPAD&nbsp;&nbsp;"+"&nbsp;TO&nbsp;EXPAND]<br>&nbsp;&nbsp;;&nbsp;[00000006&nbsp;BYTES:&nbsp;COLLAPSED&nbsp;FUNCTION&nbsp;ExitProcess.&nbsp;PRESS&nbsp;KEYPAD&nbsp;&nbsp;"+"&nbsp;TO&nbsp;EXPAND]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;align&nbsp;200h<br>&nbsp;&nbsp;_text&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;2.&nbsp;(virtual&nbsp;address&nbsp;00002000)<br>&nbsp;&nbsp;;&nbsp;Virtual&nbsp;size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;00000092&nbsp;(&nbsp;&nbsp;146.)<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;size&nbsp;in&nbsp;file&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;00000200&nbsp;(&nbsp;&nbsp;512.)<br>&nbsp;&nbsp;;&nbsp;Offset&nbsp;to&nbsp;raw&nbsp;&nbsp;data&nbsp;for&nbsp;section:&nbsp;00000600<br>&nbsp;&nbsp;;&nbsp;Flags&nbsp;&nbsp;40000040:&nbsp;Data&nbsp;Readable<br>&nbsp;&nbsp;;&nbsp;Alignment&nbsp;&nbsp;:&nbsp;default<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;Imports&nbsp;from&nbsp;kernel32.dll<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br><br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;&nbsp;Externs<br>&nbsp;&nbsp;;&nbsp;_idata<br>&nbsp;&nbsp;;&nbsp;void&nbsp;__stdcall&nbsp;ExitProcess(UINT&nbsp;uExitCode)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_ExitProcess:dword&nbsp;;&nbsp;&nbsp;DATA&nbsp;XREF:&nbsp;ExitProcessr<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;Imports&nbsp;from&nbsp;user32.dll<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;int&nbsp;__stdcall&nbsp;&nbsp;MessageBoxA(HWND&nbsp;hWnd,LPCSTR&nbsp;lpText,LPCSTR&nbsp;lpCaption,UINT&nbsp;uType)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_MessageBoxA:dword&nbsp;;&nbsp;&nbsp;DATA&nbsp;XREF:&nbsp;MessageBoxAr<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br><br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;&nbsp;Pure&nbsp;data<br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;permissions:&nbsp;Read<br>&nbsp;&nbsp;_rdata&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'DATA'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_rdata<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;402010h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;54h&nbsp;&nbsp;;&nbsp;T<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ah&nbsp;&nbsp;;&nbsp;j<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;8<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;4Ch&nbsp;&nbsp;;&nbsp;L<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;84h&nbsp;&nbsp;;&nbsp;?<br>&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;76h&nbsp;&nbsp;;&nbsp;v<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;5Ch&nbsp;&nbsp;;&nbsp;\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;20h<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;9Dh&nbsp;&nbsp;;&nbsp;?<br>&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;4Dh&nbsp;&nbsp;;&nbsp;M<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;73h&nbsp;&nbsp;;&nbsp;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;73h&nbsp;&nbsp;;&nbsp;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;61h&nbsp;&nbsp;;&nbsp;a<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;67h&nbsp;&nbsp;;&nbsp;g<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;42h&nbsp;&nbsp;;&nbsp;B<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Fh&nbsp;&nbsp;;&nbsp;o<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;78h&nbsp;&nbsp;;&nbsp;x<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;41h&nbsp;&nbsp;;&nbsp;A<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;75h&nbsp;&nbsp;;&nbsp;u<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;73h&nbsp;&nbsp;;&nbsp;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;72h&nbsp;&nbsp;;&nbsp;r<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;33h&nbsp;&nbsp;;&nbsp;3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;32h&nbsp;&nbsp;;&nbsp;2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;2Eh&nbsp;&nbsp;;&nbsp;.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;64h&nbsp;&nbsp;;&nbsp;d<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ch&nbsp;&nbsp;;&nbsp;l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ch&nbsp;&nbsp;;&nbsp;l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;80h&nbsp;&nbsp;;&nbsp;?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;45h&nbsp;&nbsp;;&nbsp;E<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;78h&nbsp;&nbsp;;&nbsp;x<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;69h&nbsp;&nbsp;;&nbsp;i<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;74h&nbsp;&nbsp;;&nbsp;t<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;50h&nbsp;&nbsp;;&nbsp;P<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;72h&nbsp;&nbsp;;&nbsp;r<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Fh&nbsp;&nbsp;;&nbsp;o<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;63h&nbsp;&nbsp;;&nbsp;c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;73h&nbsp;&nbsp;;&nbsp;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;73h&nbsp;&nbsp;;&nbsp;s<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Bh&nbsp;&nbsp;;&nbsp;k<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;72h&nbsp;&nbsp;;&nbsp;r<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Eh&nbsp;&nbsp;;&nbsp;n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;65h&nbsp;&nbsp;;&nbsp;e<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ch&nbsp;&nbsp;;&nbsp;l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;33h&nbsp;&nbsp;;&nbsp;3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;32h&nbsp;&nbsp;;&nbsp;2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;2Eh&nbsp;&nbsp;;&nbsp;.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;64h&nbsp;&nbsp;;&nbsp;d<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ch&nbsp;&nbsp;;&nbsp;l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;6Ch&nbsp;&nbsp;;&nbsp;l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;_rdata&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;3.&nbsp;(virtual&nbsp;address&nbsp;00003000)<br>&nbsp;&nbsp;;&nbsp;Virtual&nbsp;size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;0000001E&nbsp;(&nbsp;&nbsp;&nbsp;30.)<br>&nbsp;&nbsp;;&nbsp;Section&nbsp;size&nbsp;in&nbsp;file&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;00000200&nbsp;(&nbsp;&nbsp;512.)<br>&nbsp;&nbsp;;&nbsp;Offset&nbsp;to&nbsp;raw&nbsp;&nbsp;data&nbsp;for&nbsp;section:&nbsp;00000800<br>&nbsp;&nbsp;;&nbsp;Flags&nbsp;&nbsp;C0000040:&nbsp;Data&nbsp;Readable&nbsp;&nbsp;Writable<br>&nbsp;&nbsp;;&nbsp;Alignment&nbsp;&nbsp;:&nbsp;default<br>&nbsp;&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br><br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;&nbsp;Pure&nbsp;data<br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;permissions:&nbsp;Read/Write<br>&nbsp;&nbsp;_data&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'DATA'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_data<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;org&nbsp;403000h<br>&nbsp;&nbsp;;&nbsp;char&nbsp;Caption[]<br>&nbsp;&nbsp;Caption&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;'你好',0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;start+2o<br>&nbsp;&nbsp;;&nbsp;char&nbsp;Text[]<br>&nbsp;&nbsp;Text&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;'你好!祝你有个好的开始!!!',0&nbsp;;&nbsp;DATA&nbsp;XREF:&nbsp;start+7o<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;align&nbsp;200h<br>&nbsp;&nbsp;_data&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;start<br>&nbsp;&nbsp;用radasm编译成功,不用修改!!!<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(三)比对文件<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(1)模式定义<br>&nbsp;&nbsp;相同度:<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;.386&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.686p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不同<br>&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mmx<br>&nbsp;&nbsp;.model&nbsp;flat,stdcall&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.model&nbsp;flat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;option&nbsp;casemap:none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不同<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;我的IDA默认的为686p模式,model语句无语言模式,无option语句.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(2)inc文件,lib文件去向<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;源文件中的<br>&nbsp;&nbsp;include&nbsp;WINDOWS.INC<br>&nbsp;&nbsp;include&nbsp;user32.inc<br>&nbsp;&nbsp;include&nbsp;kernel32.inc<br>&nbsp;&nbsp;includelib&nbsp;user32.lib<br>&nbsp;&nbsp;includelib&nbsp;kernel32.lib<br>&nbsp;&nbsp;消失在代码中,要寻找回他们!!<br>&nbsp;&nbsp;这几个语句其实就是连接系统的dll文件的,在反汇编代码中寻找user32.dll,kernel32.dll,找到这里<br>&nbsp;&nbsp;;&nbsp;Imports&nbsp;from&nbsp;kernel32.dll<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;&nbsp;Segment&nbsp;type:&nbsp;&nbsp;Externs<br>&nbsp;&nbsp;;&nbsp;_idata<br>&nbsp;&nbsp;;&nbsp;void&nbsp;__stdcall&nbsp;ExitProcess(UINT&nbsp;uExitCode)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_ExitProcess:dword&nbsp;;&nbsp;&nbsp;DATA&nbsp;XREF:&nbsp;ExitProcessr<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;Imports&nbsp;from&nbsp;user32.dll<br>&nbsp;&nbsp;;<br>&nbsp;&nbsp;;&nbsp;int&nbsp;__stdcall&nbsp;&nbsp;MessageBoxA(HWND&nbsp;hWnd,LPCSTR&nbsp;lpText,LPCSTR&nbsp;lpCaption,UINT&nbsp;uType)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extrn&nbsp;__imp_MessageBoxA:dword&nbsp;;&nbsp;&nbsp;DATA&nbsp;XREF:&nbsp;MessageBoxAr<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;注释很明白了,输入表有两个dll在_idata段,include语句的在_idata段找寻.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(3)段定义的变化<br>&nbsp;&nbsp;源代码中段定义是这样<br>&nbsp;&nbsp;.段名<br>&nbsp;&nbsp;而反汇编中的段定义<br>&nbsp;&nbsp;段名&nbsp;&nbsp;&nbsp;&nbsp;segment&nbsp;&nbsp;para&nbsp;public&nbsp;'DATA'&nbsp;use32<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assume&nbsp;cs:_data<br>&nbsp;&nbsp;段名&nbsp;&nbsp;&nbsp;&nbsp;ends<br>&nbsp;&nbsp;传统的dos汇编写法.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(4)段的增减<br>&nbsp;&nbsp;我们通过比对,发现段的数量跟我们原本的不一致<br>&nbsp;&nbsp;原本我们只有两个段<br>&nbsp;&nbsp;.data和.code段,而反汇编后变成<br>&nbsp;&nbsp;.text和.idata和.rdata和.data段<br>&nbsp;&nbsp;经过仔细辨认你就可以发现<br>&nbsp;&nbsp;反汇编的text段就是源代码中的.code段,data段是代码段,.idata和.rdata是编译器生成的,而idata是寻找include语句的地方,<br>&nbsp;&nbsp;.idata基本没什么用处,可以删掉.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(5)数据段<br>&nbsp;&nbsp;通过比对发现基本上一致无什么增加,增加了一个&nbsp;&nbsp;&nbsp;&nbsp;align&nbsp;200h<br>&nbsp;&nbsp;删掉即可.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(6)代码段变化<br>&nbsp;&nbsp;入口函数变化<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;start<br>&nbsp;&nbsp;start&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;near<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;uType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;offset&nbsp;Caption&nbsp;&nbsp;;&nbsp;"你好"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;offset&nbsp;Text&nbsp;&nbsp;;&nbsp;"你好!祝你有个好的开始!!!"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;hWnd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;MessageBoxA<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;uExitCode<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;&nbsp;ExitProcess<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;start&nbsp;&nbsp;&nbsp;&nbsp;endp<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;。。。。。。<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;。。。。。。。<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;start<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;注意end&nbsp;start放在了所有段后面<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;到这里我们大体上看完这个程序反汇编的大体轮廓。<br>&nbsp;&nbsp;<br>--------------------------------------------------------------------------------<br>【经验总结】<br>&nbsp;&nbsp;(1)模式定义少了语言模式和opention语句，我们要看情况是否加回上去。<br>&nbsp;&nbsp;(2)include语句寻找_idata中的dll名,得到常用包含库文件.<br>&nbsp;&nbsp;(3).rdate段不用看,可以删掉<br>&nbsp;&nbsp;(4)入口开始处寻找start.<br>&nbsp;&nbsp;<br>--------------------------------------------------------------------------------<br>【版权声明】:&nbsp;本文原创于看雪技术论坛,&nbsp;转载请注明作者并保持文章的完整,&nbsp;谢谢!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2007年03月02日&nbsp;13:56:14<img src ="http://www.cppblog.com/momoxiao/aggbug/104039.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2009-12-25 12:10 <a href="http://www.cppblog.com/momoxiao/archive/2009/12/25/104039.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]失业的娱乐-IDA逆向工程入门(一)</title><link>http://www.cppblog.com/momoxiao/archive/2009/12/25/104038.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Fri, 25 Dec 2009 04:09:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2009/12/25/104038.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/104038.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2009/12/25/104038.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/104038.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/104038.html</trackback:ping><description><![CDATA[<font color="#333333">标 题:</font><font color="#000000"> 失业的娱乐-IDA逆向工程入门(一)(二)(三)(四)</font><font color="#666666"><br><font color="#333333">作 者:</font> <font color="#000000">layper</font><br><font color="#333333">时 间:</font> 2007-03-08,23:49<br><font color="#333333">链 接:</font> http://bbs.pediy.com/showthread.php?t=40765<br></font><br>【文章标题】:&nbsp;失业的娱乐-IDA逆向工程入门(一)<br>【文章作者】:&nbsp;layper<br>【作者邮箱】:&nbsp;layper@yahoo.com.cn<br>【作者主页】:&nbsp;http://blog.csdn.net/layper/<br>【下载地址】:&nbsp;自己搜索下载<br>【作者声明】:&nbsp;只是感兴趣，没有其他目的。失误之处敬请诸位大侠赐教!<br>--------------------------------------------------------------------------------<br>【详细过程】<br>&nbsp;&nbsp;&nbsp;&nbsp;牢骚一堆,对不起大家了.我是从2004年底开始玩crack的.曾经得到很多朋友的帮助.如hyd009,拉登徒弟,天边涯等以前poje论坛兄弟们帮助(可惜已经很<br>&nbsp;&nbsp;少碰见他们了).之间学习脱壳又到看雪论坛学习提问,得到很多高手的回答帮助尤其是fly大侠最为热心,我之所以来这个论坛,全是因为fly大侠.看了很<br>&nbsp;&nbsp;多他的文章,从中受益非浅.在此向你们说声谢谢了.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;IDA是一个非常强大的反汇编工具,在reverse&nbsp;engineerings中首选的工具.看这篇文章首先明确一个目的,我不是破解,如果你要看破解某某软件的文章<br>&nbsp;&nbsp;你可略过,这也不是什么高深的文章,因为,我刚开始学习逆向工程,高深的理论知识我不懂!!!由于本人知识所限错漏难免,请多包含.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;在我看来,逆向工程是学习别人软件编程的一种好方法.当你手头上没什么资料可以利用时,或者想了解或者模仿别人的软件时,逆向工程不失为一种好办法.<br>&nbsp;&nbsp;(这就是为什么那么多公司在安装协议要用户同意不能逆向的原因:)).<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;好多的逆向工程的文章一开始就跟你讲什么虚函数,析构函数,库等等,这些确实是经典,理论性很强,适合专业或高手看的.我是一开始就学破解,然后接触汇编<br>&nbsp;&nbsp;语言,之后又看了一些乱七八糟的书.编程菜鸟都算不上!!!一开始就来分析这么仔细,这么精益求精,对我来说----蚊子叮猪屁股---太肥了!:)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;对我来说,能够把软件逆向后的出源码,并重新编译能够通过是我现阶段最容易得到满足的.依照这个思路,我开始就想把IDA里面反汇编的代码修改后运行.但实践<br>&nbsp;&nbsp;证明这个不是一个有效好的方法.要修改IDA反编译出来的代码也比较困难.因为IDA中很多高级语言的结构,高级语言的库,关键字在汇编中不支持或者冲突,就算能<br>&nbsp;&nbsp;也很复杂,所以说,<br>&nbsp;&nbsp;layper逆向工程第一要点:<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(一)从那里来,回到那里去.<br>&nbsp;&nbsp;比如汇编语言写的软件,你就把它逆回汇编语言.<br>&nbsp;&nbsp;用工具VC++写的软件,你就把他逆回VC++中.<br>&nbsp;&nbsp;DELPHI的逆回DELPHI中(这个用DEDE逆向配合应该更好).<br>&nbsp;&nbsp;当然,这个不是硬性规定,有些软件他虽然用高级语言写的,但反汇编代码利用价值已经非常高了.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;根据这一点要求,我们不得不对逆向工程分析的研究分类,即分为asm,vc++,delphi这三大类,其他的如.net技术等不是我涉及的内容.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;下一篇开始,我分别用最简单的win32程序开始分类讲述.<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;(注:虽然逆向工程这个想法在心里已经很久了,但实际学习就是这几天的事,本人水平有限,做法可能不可取,或者可笑请多包涵.下篇<br>&nbsp;&nbsp;心情好再写了.)<br>&nbsp;&nbsp;<br>--------------------------------------------------------------------------------<br>【版权声明】:&nbsp;本文原创于看雪技术论坛,&nbsp;转载请注明作者并保持文章的完整,&nbsp;谢谢!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2007年03月02日&nbsp;11:49:08 <br><br><img src ="http://www.cppblog.com/momoxiao/aggbug/104038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2009-12-25 12:09 <a href="http://www.cppblog.com/momoxiao/archive/2009/12/25/104038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[zz]用importREC修复Import表</title><link>http://www.cppblog.com/momoxiao/archive/2009/12/24/103990.html</link><dc:creator>小默</dc:creator><author>小默</author><pubDate>Thu, 24 Dec 2009 13:58:00 GMT</pubDate><guid>http://www.cppblog.com/momoxiao/archive/2009/12/24/103990.html</guid><wfw:comment>http://www.cppblog.com/momoxiao/comments/103990.html</wfw:comment><comments>http://www.cppblog.com/momoxiao/archive/2009/12/24/103990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/momoxiao/comments/commentRss/103990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/momoxiao/services/trackbacks/103990.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em;">1、用ollydbg找到正确的OEP(脱壳和修复导入表都要用到)</p>
<p style="text-indent: 2em;">2、脱壳在当前进程,如脱壳出来的程序不能运行，提示无法定位程序输入点，需要使用</p>
<p style="text-indent: 2em;">imp<wbr>ortREC修复导入表。</p>
<p style="text-indent: 2em;">3、打开imp<wbr>ortREC，选正ollydbg正在调试的进程，填入正确的OEP,点ITA AutoSearch，</p>
<p style="text-indent: 2em;">如oep正确将得到正确提示，点GetImp<wbr>ort，得到正确的导入表。点Fix Dump，选择脱壳</p>
<p style="text-indent: 2em;">出来的保存文件，Done!（修正后的程序为原程序名后加一下划线，原程序不会被修改。）</p><img src ="http://www.cppblog.com/momoxiao/aggbug/103990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/momoxiao/" target="_blank">小默</a> 2009-12-24 21:58 <a href="http://www.cppblog.com/momoxiao/archive/2009/12/24/103990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>