﻿<?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++博客-It crAcks</title><link>http://www.cppblog.com/romangol/</link><description>二进制面前，了无秘密</description><language>zh-cn</language><lastBuildDate>Fri, 09 Jan 2009 07:05:57 GMT</lastBuildDate><pubDate>Fri, 09 Jan 2009 07:05:57 GMT</pubDate><ttl>60</ttl><item><title>Malware</title><link>http://www.cppblog.com/romangol/archive/2008/12/27/70528.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Sat, 27 Dec 2008 12:36:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/12/27/70528.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/70528.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/12/27/70528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/70528.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/70528.html</trackback:ping><description><![CDATA[<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">Malware是Malicious Software的缩写，即恶意软件，该类软件的目的通常有3个：破坏，控制和窃取，下图展示了Malware中的一些常见类型：<br></div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new"><br><br>Malware<br>|<br>|---- 破坏：<br>|&nbsp;&nbsp;|---- adware<br>|&nbsp;&nbsp;|---- virus<br>|&nbsp;&nbsp;|---- worm<br>|<br>|<br>|---- 控制：<br>|&nbsp;&nbsp;|---- shellcode<br>|&nbsp;&nbsp;|---- rootkit<br>|<br>|<br>|---- 窃取：<br>|&nbsp;&nbsp;|---- spyware<br>|&nbsp;&nbsp;&nbsp;&nbsp;|---- crimeware</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">virus &#8211; 是一段恶意代码，必须依托正常文件作为宿主（这和生物学上的病毒特征是一致的，即病毒通常为RNA，离开了宿主就失去活性），不能独立运行，需要由它的宿主运行来激活它。能够自我复制和感染正常文件。</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">worm &#8211; 是一个恶意程序，能够独立存在，无须依赖其它用户程序即可运行的攻击程序或代码，其特征是通过网络传播，传染目标是网络上的其他计算机</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">adware：安装在用户主机上，自动下载、播放（可能是强制性）广告的程序</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">shellcode：一段代码，利用系统漏洞（通常是缓冲区溢出漏洞）来未经授权地进入用户主机</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">rootkit：一类未经授权、运行在用户主机上的程序，可以获得用户主机的超级管理员控制权限，并利用各种反检测技术隐藏自身进程的存在</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">spyware：安装在用户主机上，用以监视和窃取用户信息和行为（尤其是私密信息），并将其发送至信息收集者的恶意程序</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">crimeware：spyware的一种，专门窃取用户私密信息，例如银行账户和密码，信用卡卡号密码，用户邮箱或者其他网络服务程序的用户名和密码等的恶意程序</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">------------------------------------------------------</div>
<div style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">&nbsp;有人会说，上述定义里面为什么没有 trojan horse，实际上，trojan horse 指的是看似具有正常功能，然而却隐藏恶意功能的程序（与希腊神话传说中的特洛伊木马的含义一致），trojan horse 可能是上面所述的各种类型的 malware 的载体（ malware 好比当年藏在木马里面的士兵），因此，本文不把 trojan horse 归为 malware 里面特殊的一类</div>
<img src ="http://www.cppblog.com/romangol/aggbug/70528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-12-27 20:36 <a href="http://www.cppblog.com/romangol/archive/2008/12/27/70528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个解释执行C/C++的软件</title><link>http://www.cppblog.com/romangol/archive/2008/12/09/68982.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Tue, 09 Dec 2008 13:44:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/12/09/68982.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/68982.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/12/09/68982.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/68982.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/68982.html</trackback:ping><description><![CDATA[<a href="http://www.softintegration.com/">http://www.softintegration.com/</a><br>Ch is an embeddable C/C++ interpreter for cross-platform scripting, shell programming, <a class=hd href="http://www.softintegration.com/home/animateplot.html"><u><font color=#0000ff>2D/3D plotting</font></u></a>, numerical computing, and embedded scripting. It is an alternative free C/C++ compiler for learning C/C++. <br><br><a href="http://root.cern.ch/twiki/bin/view/ROOT/CINT">http://root.cern.ch/twiki/bin/view/ROOT/CINT</a><br><a class=twikiLink href="http://root.cern.ch/twiki/bin/view/ROOT/CINT"><u><font color=#800080>CINT</font></u></a> is a C/C++ interpreter aimed at processing C/C++ scripts. Scripts are programs performing specific tasks. Generally execution time is not critical, but rapid development is. Using an interpreter the compile and link cycle is dramatically reduced facilitating rapid development. <a class=twikiLink href="http://root.cern.ch/twiki/bin/view/ROOT/CINT"><u><font color=#800080>CINT</font></u></a> makes C/C++ programming enjoyable even for part-time programmers. <br><br><a href="http://bellard.org/tcc/">http://bellard.org/tcc/</a><br>Fabrice Bellard 发明的 GNU/Linux 环境下最小的 ANSI C 语言编译器: TCC
<img src ="http://www.cppblog.com/romangol/aggbug/68982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-12-09 21:44 <a href="http://www.cppblog.com/romangol/archive/2008/12/09/68982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RFC1925 - The Twelve Networking Truths</title><link>http://www.cppblog.com/romangol/archive/2008/10/14/63990.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Tue, 14 Oct 2008 13:50:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/10/14/63990.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/63990.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/10/14/63990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/63990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/63990.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Network Working Group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R. Callon, Editor<br>Request for Comments: 1925&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IOOF<br>Category: Informational&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 April 1996</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Twelve Networking Truths</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Status of this Memo</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; This memo provides information for the Internet community.&nbsp; This memo<br>&nbsp;&nbsp; does not specify an Internet standard of any kind.&nbsp; Distribution of<br>&nbsp;&nbsp; this memo is unlimited.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Abstract</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; This memo documents the fundamental truths of networking for the<br>&nbsp;&nbsp; Internet community. This memo does not specify a standard, except in<br>&nbsp;&nbsp; the sense that all standards must implicitly follow the fundamental<br>&nbsp;&nbsp; truths.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Acknowledgements</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; The truths described in this memo result from extensive study over an<br>&nbsp;&nbsp; extended period of time by many people, some of whom did not intend<br>&nbsp;&nbsp; to contribute to this work. The editor merely has collected these<br>&nbsp;&nbsp; truths, and would like to thank the networking community for<br>&nbsp;&nbsp; originally illuminating these truths.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">1. Introduction</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; This Request for Comments (RFC) provides information about the<br>&nbsp;&nbsp; fundamental truths underlying all networking. These truths apply to<br>&nbsp;&nbsp; networking in general, and are not limited to TCP/IP, the Internet,<br>&nbsp;&nbsp; or any other subset of the networking community.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">2. The Fundamental Truths</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (1)&nbsp; It Has To Work.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (2)&nbsp; No matter how hard you push and no matter what the priority,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; you can't increase the speed of light.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2a) (corollary). No matter how hard you try, you can't make a<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baby in much less than 9 months. Trying to speed this up<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *might* make it slower, but it won't make it happen any<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; quicker.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (3)&nbsp; With sufficient thrust, pigs fly just fine. However, this is<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not necessarily a good idea. It is hard to be sure where they<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; are going to land, and it could be dangerous sitting under them<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as they fly overhead.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (4)&nbsp; Some things in life can never be fully appreciated nor<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; understood unless experienced firsthand. Some things in<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; networking can never be fully understood by someone who neither<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; builds commercial networking equipment nor runs an operational<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (5)&nbsp; It is always possible to aglutenate multiple separate problems<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into a single complex interdependent solution. In most cases<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this is a bad idea.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (6)&nbsp; It is easier to move a problem around (for example, by moving<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the problem to a different part of the overall network<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; architecture) than it is to solve it.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (6a) (corollary). It is always possible to add another level of<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indirection.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (7)&nbsp; It is always something</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (7a) (corollary). Good, Fast, Cheap: Pick any two (you can't<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; have all three).</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (8)&nbsp; It is more complicated than you think.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (9)&nbsp; For all resources, whatever it is, you need more.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (9a) (corollary) Every networking problem always takes longer to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; solve than it seems like it should.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (10) One size never fits all.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (11) Every old idea will be proposed again with a different name and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a different presentation, regardless of whether it works.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (11a) (corollary). See rule 6a.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; (12) In protocol design, perfection has been reached not when there<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is nothing left to add, but when there is nothing left to take<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; away.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Security Considerations</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; This RFC raises no security issues. However, security protocols are<br>&nbsp;&nbsp; subject to the fundamental networking truths.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">References</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; The references have been deleted in order to protect the guilty and<br>&nbsp;&nbsp; avoid enriching the lawyers.</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">Author's Address</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; Ross Callon<br>&nbsp;&nbsp; Internet Order of Old Farts<br>&nbsp;&nbsp; c/o Bay Networks<br>&nbsp;&nbsp; 3 Federal Street<br>&nbsp;&nbsp; Billerica, MA&nbsp; 01821</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp;&nbsp; Phone: 508-436-3936<br>&nbsp;&nbsp; EMail: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#99;&#97;&#108;&#108;&#111;&#110;&#64;&#98;&#97;&#121;&#110;&#101;&#116;&#119;&#111;&#114;&#107;&#115;&#46;&#99;&#111;&#109;">rcallon@baynetworks.com</a><br></p>
<img src ="http://www.cppblog.com/romangol/aggbug/63990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-10-14 21:50 <a href="http://www.cppblog.com/romangol/archive/2008/10/14/63990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Microsoft network Monitor 3.2</title><link>http://www.cppblog.com/romangol/archive/2008/09/18/62218.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Thu, 18 Sep 2008 12:04:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/09/18/62218.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/62218.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/09/18/62218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/62218.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/62218.html</trackback:ping><description><![CDATA[<p>Microsoft network Monitor 更新到3.2，要学习使用之</p>
<p>新特性包括：<br>Process Tracking: Now you can identify rogue applications sending network data! View all the processes on your machine generating network traffic (process name and PID). Use the conversation tree to view frames associated with each process.<br>也就是说，可以选择一组程序（这组程序可能是不相关的软件），监视它们的网络通讯</p>
<p>&#167; Capture engine re-architecture to improve capture rate in high-speed networks. Network Monitor 3.2 drops significantly fewer frames that Network Monitor 3.1.</p>
<p>&#167; Find conversations: You asked for this. Many of our users found conversation tracking to be difficult to use as the view grew hard to manage, and it was difficult to correlate the frames they were seeing with the conversation nodes in the tree. Now, you can quickly isolate frames in the same network conversation. Just right-click on a frame and select a conversation to track, and you will see all the frames in that conversation. View TCP streams, HTTP flows etc. </p>
<p>&#167; Extensive parser set: Parsers for over 300 protocols! As before, the parsers are fully customizable. </p>
<p>&#167; Better parser management: By default only a subset of parsers are loaded. You can load the full parser set by going to Tools&gt;Options&gt;Parser and choose Full vs. Stub implementations.</p>
<p>&#167; CodePlex Ready: In the upcoming months, we plan to place all our Windows parsers on the Microsoft open-source CodePlex site and allow the community to modify and contribute parsers. You can find out more information on this here. This version of Network Monitor seamlessly integrates new parser packages.<br>微软准备将源代码发布出来了！</p>
<p>&#167; Network Monitor API: Create your own applications that capture, parse and analyze network traffic! </p>
<p>&#167; More extensive documentation of the API and NPL. Access the documentation from Help &gt; NPL and API Documentation.</p>
<p>&#167; IA64 builds.</p>
<p>&#167; PCAP capture file support*.</p>
<p>&#167; ContainsBin Plug-in: Search frames for arbitrary byte sequences or strings.</p>
<p>&#167; . and more. See our Release Notes in the Help directory of the installation folder for a complete list of new features and known issues. </p>
<p><br>Enjoy!</p>
<img src ="http://www.cppblog.com/romangol/aggbug/62218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-09-18 20:04 <a href="http://www.cppblog.com/romangol/archive/2008/09/18/62218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python coins</title><link>http://www.cppblog.com/romangol/archive/2008/08/29/60366.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Fri, 29 Aug 2008 08:00:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/08/29/60366.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/60366.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/08/29/60366.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/60366.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/60366.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">coins = [1, 5, 10, 25, 50]<br>pos = [0]<br>counter = 0<br>num = 100</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">for i in coins:<br>&nbsp;&nbsp;&nbsp; while counter &lt; num:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if counter + i &gt; len(pos) - 1:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for j in range( counter + i ):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pos.append(0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if counter != 0:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pos[counter + i] = pos[counter + i] + pos[counter]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pos[counter + i] = pos[counter + i] + 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter = counter + 1<br>&nbsp;&nbsp;&nbsp; counter = 0</p>
<p style="FONT-SIZE: 10pt; FONT-FAMILY: courier new">print pos[num]</p>
<img src ="http://www.cppblog.com/romangol/aggbug/60366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-08-29 16:00 <a href="http://www.cppblog.com/romangol/archive/2008/08/29/60366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>F03 a lifetime name</title><link>http://www.cppblog.com/romangol/archive/2008/06/24/54480.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Tue, 24 Jun 2008 09:56:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/06/24/54480.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/54480.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/06/24/54480.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/54480.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/54480.html</trackback:ping><description><![CDATA[F03，记住这个代号，多少年以后，这不光是我们每个人的骄傲，也是散落在天涯的我们，零零落落个体孤单的我们，找到归属感的温存。<br>
<img src ="http://www.cppblog.com/romangol/aggbug/54480.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-06-24 17:56 <a href="http://www.cppblog.com/romangol/archive/2008/06/24/54480.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>缅怀逝者，铭记国殇，提高代码质量</title><link>http://www.cppblog.com/romangol/archive/2008/05/20/50578.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Tue, 20 May 2008 14:00:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/05/20/50578.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/50578.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/05/20/50578.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/50578.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/50578.html</trackback:ping><description><![CDATA[<p>地震之后，出来这样一条新闻：最牛建筑商：所建五所希望小学均未倒<br><br>想起来《编程珠玑》上面说的，美国的一座大桥（忘记了是不是金门大桥），修建的时候造桥学科还没发展到能够精确计算出承受力等方面所需要的结构和用料。但是到了数十年以后，其他同时期建造的桥差不多都报废了，剩下来它一座桥还能用。有人去问那个建筑师你在那么早就能预料到后面的发展？他说，我按当时设计的标准，把所有强度加了10倍上去。<br><br><br>地震时候房子塌了这么多，有人在指责房地产商，可是我们写的代码又何尝不是如此，有时候明明知道这个代码在经典著作中无数次提到会有bug，可是手一懒就省略了提高健壮性的工作，而某一天，这代码很可能就流入了应用场合，而有那么一天，地震就来了。<br><br>铭记5.12地震，不仅仅是要缅怀和哀悼，也不是捐款和抱怨，更重要的是，从自己做起，好好工作，做有质量的事情，写有质量的代码</p>
<img src ="http://www.cppblog.com/romangol/aggbug/50578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-05-20 22:00 <a href="http://www.cppblog.com/romangol/archive/2008/05/20/50578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mingw GCC 4.3.0 安装与配置（解决CreateProcess问题）</title><link>http://www.cppblog.com/romangol/archive/2008/04/19/47595.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Sat, 19 Apr 2008 07:17:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/04/19/47595.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/47595.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/04/19/47595.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/47595.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/47595.html</trackback:ping><description><![CDATA[<p>首先，下载Mingw TDM 4.3.0版本<br><a href="http://www.tdragon.net/recentgcc/">http://www.tdragon.net/recentgcc/</a></p>
<p>有两种选择<br>GCC 4.3.0-tdm-2 (Default SJLJ exceptions) 和 GCC 4.3.0-tdm-2 With DW2 Exceptions<br>可以根据SJLJ or DW2 (Dwarf-2) 异常模型来选择需要下载的版本，通常情况下win32平台下选择SJLJ（set jump long jump）模型</p>
<p>然后还需要去Mingw官网下载<br>binutils<br><a href="http://downloads.sourceforge.net/mingw/binutils-2.18.50-20080109-2.tar.gz">http://downloads.sourceforge.net/mingw/binutils-2.18.50-20080109-2.tar.gz</a><br>mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB) <br><a href="http://downloads.sourceforge.net/mingw/mingw-runtime-3.14.tar.gz">http://downloads.sourceforge.net/mingw/mingw-runtime-3.14.tar.gz</a><br>w32api (w32api-3.11.tar.gz, 1.55MB) <br><a href="http://downloads.sourceforge.net/mingw/w32api-3.11.tar.gz">http://downloads.sourceforge.net/mingw/w32api-3.11.tar.gz</a></p>
<p>也可以选择安装以下组件<br>mingw-utils<br><a href="http://downloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz">http://downloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz</a><br>mingw32-make（可以选择最新的mingw32-make-3.81-20080326-2）<br><a href="http://downloads.sourceforge.net/mingw/mingw32-make-3.81-2.tar.gz">http://downloads.sourceforge.net/mingw/mingw32-make-3.81-2.tar.gz</a><br>gdb（可以选择最新的6.8试验版）<br><a href="http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2">http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2</a></p>
<p>把这些东西都下载下来，然后解压到不同的目录，每个目录里面大概都会有bin，include，lib，man这样的目录，要做的就是合并它们，也就是拷贝到同一个目录里面，注意可能有些文件会重复，一般来说GCC 4.3.0 TDM包里面的文件比较重要，不要用其他的包里面的文件覆盖了它</p>
<p>然后就可以得到一个完整包含gcc，g++，binutils，gdb，make等的目录了，此时，在windows环境变量中的path变量里面添加该目录的bin子目录，就可以在cmd窗口中调用gcc和g++进行编译了。如果你不想污染了环境变量，也可以写个bat：(假设你的mingw目录是C:\mingw\bin)<br>set path=C:\mingw\bin;%path%"</p>
<p>现在还没有结束，需要进行两个地方的设置<br>1 make<br>mingw官方提供的make工具，名称不是简单的make，而是mingw32-make.exe，把它改名成make.exe或者复制一份为make.exe都可以</p>
<p>2 gcc: CreateProcess: No such file or Directory 错误<br>这个问题在google里面很多人发问，但是没有一个完整的解答，下面给出一个完整的解答<br>产生这个错误有两个原因：<br>第一是gcc无法找到安装目录里面的libexec目录里面的工具，通常这些工具包括cc1.exe，cc1plus.exe，collect2.exe，它们通常存放在：<br>安装目录\libexec\gcc\mingw32\4.3.0<br>第二是gcc无法找到mingw目录里面binutils的工具，它们通常存放在<br>安装目录\mingw32\bin<br>这两个目录的名字并不完全固定，根据不同组织编译的gcc各有不同，比如mingw官方编译的gcc4.3.0 alpha，上述目录就是<br>安装目录\gcc\i386-pc-mingw32\4.3.0<br>而官方提供的binutils包里面是<br>安装目录\i686-pc-mingw32\bin</p>
<p>只要这两个地方没有设置好，就可能导致CreateProcess错误，那么，有没有什么好办法能够确定这里应该怎样命名呢？办法是用16进制编辑器打开gcc.exe，搜索GCC_EXEC_PREFIX，当搜索到该字符串（不止一个）时，观察后面是否出现版本号4.3.0，如果出现，后面紧接着的就是路径，如果是mingw32那么上面的命名就应该是<br>安装目录\libexec\gcc\mingw32\4.3.0<br>安装目录\mingw32\bin</p>
<p>如果是其他的例如i686-pc-mingw32，那么名称相应的变为<br>安装目录\libexec\gcc\i686-pc-mingw32\4.3.0<br>安装目录\i686-pc-mingw32\bin</p>
<p>好了，可以测试一下你的hallo world程序了^_^</p>
<p><br>&nbsp;</p>
<img src ="http://www.cppblog.com/romangol/aggbug/47595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-04-19 15:17 <a href="http://www.cppblog.com/romangol/archive/2008/04/19/47595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ARIA:a block cipher -- C++ implementation</title><link>http://www.cppblog.com/romangol/archive/2008/04/16/47218.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Wed, 16 Apr 2008 05:34:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/04/16/47218.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/47218.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/04/16/47218.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/47218.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/47218.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 韩国国家加密算法ARIA，Cpp实现constant.h#ifndef&nbsp;_CONSTANT_H_#define&nbsp;_CONSTANT_H_namespace&nbsp;triod{&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;static&nbsp;unsigned&nbsp;short&nbsp;NUM_OF_ROUND_KEY&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.cppblog.com/romangol/archive/2008/04/16/47218.html'>阅读全文</a><img src ="http://www.cppblog.com/romangol/aggbug/47218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-04-16 13:34 <a href="http://www.cppblog.com/romangol/archive/2008/04/16/47218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++ 中函数参数如何传入固定大小的数组</title><link>http://www.cppblog.com/romangol/archive/2008/04/15/47125.html</link><dc:creator>RomanGol</dc:creator><author>RomanGol</author><pubDate>Tue, 15 Apr 2008 07:23:00 GMT</pubDate><guid>http://www.cppblog.com/romangol/archive/2008/04/15/47125.html</guid><wfw:comment>http://www.cppblog.com/romangol/comments/47125.html</wfw:comment><comments>http://www.cppblog.com/romangol/archive/2008/04/15/47125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/romangol/comments/commentRss/47125.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/romangol/services/trackbacks/47125.html</trackback:ping><description><![CDATA[例如要传入一个16字节大小的数组，传统的做法是参数里面写unsigned char*<br>可以改用如下方法：<br><br>typedef const unsigned char&nbsp;&nbsp;(&amp;const_block)&nbsp;[16];<br>typedef unsigned char&nbsp;&nbsp;&nbsp;(&amp;block)&nbsp;&nbsp;[16];<br><br>void test( const_block input, block output );<br><br>编译器检查会保证传入的只能是固定大小的数组，不能是指针或者大小与指定值不同的数组。
<img src ="http://www.cppblog.com/romangol/aggbug/47125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/romangol/" target="_blank">RomanGol</a> 2008-04-15 15:23 <a href="http://www.cppblog.com/romangol/archive/2008/04/15/47125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>