<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://shanzhashu.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fshanzhashu.spaces.live.com%2fblog%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>信息产业部专业鉴定室: Blog</title><description /><link>http://shanzhashu.spaces.live.com/blog</link><language>en-US</language><pubDate>Mon, 18 Aug 2008 13:36:12 GMT</pubDate><lastBuildDate>Mon, 18 Aug 2008 13:36:12 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://shanzhashu.spaces.live.com/feed.rss</cf:parentRSS><live:type>blog</live:type><live:identity><live:id>-3973361826460402817</live:id><live:alias>shanzhashu</live:alias></live:identity><image><title>信息产业部专业鉴定室: Blog</title><url>http://blufiles.storage.live.com/y1pSzprDb9Q32l2Gr0R4zU4OYrZnqYLMpCdHILAvjeLNMEynLSerAGYxnknKgHt2q55</url><link>http://shanzhashu.spaces.live.com/blog</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>SUI啊SUI</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1923.entry</link><description>&lt;font size=3&gt;奥运第一个礼拜只见中国的金牌一个劲地拿，到周末居然有二十多了，但大多数赢的时候俺们都在上班，没机会看直播。终于等到了周末，周六上午去医院一趟后赶紧赶回来，路上就听说女单羽毛球保稳的那块金牌产生了，然后下午开始看直播：女网单半决赛，李娜两盘被淘汰；女网双半决赛，郑洁晏紫被淘汰；等到晚上没看赢了德国的中国男篮而看男双羽决赛，蔡赟付海峰输掉了。郁闷地睡到第二天，赶早起来看女子马拉松冲金，周春秀只得到个铜；转到1500看自由泳，中国俩选手张和孙垫底；再转到女子4x100接力，中国也只拿了个铜；郁闷啊看了这么多咋就一个赢的都没有？科长直说俺sui。算啦，中午出去购物，超市里收到小J短信，赶紧电话一问，说埃蒙斯又犯了老毛病，邱健跟上回的老贾一样捡到金牌。难道俺没看中国队就能赢？下午在泳池里又听见了国歌，晚饭跑回来一查，女子赛艇又拿了金牌，体操邹凯也拿了，又没看到！吃饭的时候混双抢铜牌，老是咬紧老是落后，一气之下不看，结果后来赢了；吃完晚饭躲洗碗，刚溜房间里去，结果体操的肖钦又得了个金。神啊，我难道是和中国队对着干的不成？&lt;br&gt;赌咒发誓：倘若晚上男女乒乓、3米板、0丹再栽在我的面前，俺就去北京奥委会自首去，不过估计人家会把俺当疯子给轰出来的。&lt;/font&gt; 
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+SUI%e5%95%8aSUI&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1923.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1923.entry</guid><pubDate>Sun, 17 Aug 2008 12:31:44 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1923/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1923.entry#comment</wfw:comment><dcterms:modified>2008-08-17T14:30:02Z</dcterms:modified></item><item><title>又被点名了</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1916.entry</link><description>&lt;p&gt;又被考察团团长点名了，而且问题多达三十八个，真三八啊。&lt;br&gt;&lt;p&gt;没的说，捧场。&lt;p&gt;1.当你不高兴的时候，你喜欢做什么？&lt;br&gt;  开骂然后加仓。&lt;br&gt;&lt;br&gt;2.最让你迷惘的事情是什么？&lt;br&gt;  为啥股市跌成这样嗫？&lt;br&gt;&lt;br&gt;3.2008年最大的心愿是什么？&lt;br&gt;  风调雨顺国泰民安股市大涨买个破房。&lt;br&gt;&lt;br&gt;4.你现在住在哪个城市，如果能够选择，你希望住在哪里？&lt;br&gt;  上海。布拉索夫。&lt;br&gt;&lt;br&gt;5.如果现在可以让你随心所欲去旅行，你想去哪？&lt;br&gt;  也想去太空。&lt;br&gt;&lt;br&gt;6.你相信命运么? 你会为了改变自己的命运抗争么？&lt;br&gt;  不可知论，也就没抗争的说法了。&lt;br&gt;&lt;br&gt;7.最不喜欢什么类型的人？&lt;br&gt;  欠钱不还还大找借口的废话特多的男人。&lt;br&gt;&lt;br&gt;8.会不会做饭？你希望你的伴侣会做饭吗？&lt;br&gt;  会。希望。&lt;br&gt;&lt;br&gt;9.感触最深的一本书或影片的是？为什么？&lt;br&gt;  红楼梦&lt;br&gt;&lt;br&gt;10.你会选择你爱的人还是爱你的人？为什么？&lt;br&gt;   选择两个行不？&lt;br&gt;&lt;br&gt;11.当你遇到跟你很合不来的同事或者同学时（就是很不服你所做的事情和看法的那&lt;br&gt;种）而且你们还要经常在一起干活，你会怎样处理？&lt;br&gt;   一边合作一边鄙视它。&lt;br&gt;&lt;br&gt;12.你最喜欢你伴侣的什么？如果没有，你希望你的伴侣具有什么品质。&lt;br&gt;   胸围。&lt;br&gt;&lt;br&gt;13.给你一种能力去改变（或提升）自己，你选择什么？&lt;br&gt;   选择能给予提升能力的能力。&lt;br&gt;&lt;br&gt;14.你会出于什么样的理由结婚? 或者是出于什么样的理由单身？&lt;br&gt;   八月十八星期八和九月九的酒。&lt;br&gt;&lt;br&gt;15.和恋人分手了你会把对方的手机，MSN，QQ删掉么，如果删掉为什么？&lt;br&gt;   不会。&lt;br&gt;&lt;br&gt;16.喜欢的人是谁?&lt;br&gt;   美女。&lt;br&gt;&lt;br&gt;17.说说你童年的梦想和现在的理想。&lt;br&gt;   玩游戏机。玩模拟器。&lt;br&gt;&lt;br&gt;18.你觉得，到目前为止，你在多大程度上对生活是满意的？&lt;br&gt;   除了钱不满意其他都满意。&lt;br&gt;&lt;br&gt;19.你最欣赏的人是？为什么？&lt;br&gt;   芙蓉姐姐。她的勇气谁比的上？&lt;br&gt;&lt;br&gt;20.你有非常非常贴心的朋友吗?&lt;br&gt;   有。&lt;br&gt;&lt;br&gt;21.如果可以规划你的人生，你会选择去规划还是顺其自然？&lt;br&gt;   顺其自然地规划。&lt;br&gt;&lt;br&gt;22.给你最深感动的一件事是什么？&lt;br&gt;   公元钟熄灭的那一刻……&lt;br&gt;&lt;br&gt;23.喜欢孤单的感觉么？为何？&lt;br&gt;   不喜欢孤单也不喜欢嘈杂。&lt;br&gt;&lt;br&gt;24.一年四季，你最喜欢哪个季节&lt;br&gt;   秋天。&lt;br&gt;&lt;br&gt;25.喜欢养宠物么，如果有条件的话？&lt;br&gt;   不喜欢养只喜欢玩。&lt;br&gt;&lt;br&gt;26.有的时候你非常想得到的东西，得不到，怎么想？&lt;br&gt;   使劲想。&lt;br&gt;&lt;br&gt;27.对自己的缺点用不超过10个字总结一下&lt;br&gt;   一二三四五六七八九。&lt;br&gt;&lt;br&gt;28.你最喜欢的明星是谁？&lt;br&gt;   现在没了。&lt;br&gt;&lt;br&gt;29.用一种颜色来代表你现在的生活状态，那么它是哪种颜色呢?&lt;br&gt;   女色。&lt;br&gt;  &lt;br&gt;30.现在你最想做的一件事情是什么？&lt;br&gt;   马上治好口腔溃疡。&lt;br&gt;&lt;br&gt;31.对自己的样貌作一个评价吧。&lt;br&gt;   玉树临疯。&lt;br&gt;&lt;br&gt;32.喜欢苦的东西么，为什么？&lt;br&gt;   不喜欢。&lt;br&gt;&lt;br&gt;33.民已食为天,你最喜欢的水果和菜是什么?&lt;br&gt;   西瓜。菜太多说不来。&lt;br&gt;&lt;br&gt;34.最喜欢说的口头禅?它的典故或来源?&lt;br&gt;   tmd又跌了！来自最近一年的股市。&lt;br&gt;&lt;br&gt;35.感觉自己最讨人喜欢的地方是?(不可以说你不讨人喜欢)&lt;br&gt;   BT＋猥琐&lt;br&gt;&lt;br&gt;36.当你心情低落时,是如何做调整的?&lt;br&gt;   疯狂加仓&lt;br&gt;&lt;br&gt;37.下辈子想做什么？&lt;br&gt;   证监会主席&lt;br&gt;&lt;br&gt;38.外面晴空万里，你想做点什么事情？&lt;br&gt;   下班回家睡觉。&lt;br&gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%8f%88%e8%a2%ab%e7%82%b9%e5%90%8d%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1916.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1916.entry</guid><pubDate>Tue, 05 Aug 2008 04:22:11 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1916/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1916.entry#comment</wfw:comment><dcterms:modified>2008-08-05T04:22:11Z</dcterms:modified></item><item><title>乱捏联话之一</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1911.entry</link><description>&lt;font face="宋体"&gt;&lt;font size=3&gt;国画大师徐悲鸿当年曾在浙江丽水作画顺便寻访故人，后未逢而怅然远游。然故人亦病，后托信于徐，信辗转至藏外大吉岭，彼时大雪封山人难行，且信无地址，回复亦不能，唯无可奈何尔。&lt;br&gt;当时，好事者曾以“悲鸿绘丽水”出联，后闻大吉岭之事，遂对“喜马拉雅山”，无情流水，严丝合缝，真他妈的牛。&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e4%b9%b1%e6%8d%8f%e8%81%94%e8%af%9d%e4%b9%8b%e4%b8%80&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1911.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1911.entry</guid><pubDate>Thu, 31 Jul 2008 06:15:06 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1911/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1911.entry#comment</wfw:comment><dcterms:modified>2008-07-31T06:15:06Z</dcterms:modified></item><item><title>大饼油条四明治</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1907.entry</link><description>三个角的是三明治，四个角的自然就是四明治了，但一个自产的四明治吃不饱，又补了一份大饼油条，然而后者吃着总没前者爽。早上七点提早起床折腾面包香肠榨菜黄瓜色拉酱凑成四明治，这样新奇的口味以前是没尝过的。人要会感恩会知足，要提前历练做房奴的穷困日子，早晚这四明治会被磨光棱角变成∞明治的。&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%a4%a7%e9%a5%bc%e6%b2%b9%e6%9d%a1%e5%9b%9b%e6%98%8e%e6%b2%bb&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1907.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1907.entry</guid><pubDate>Fri, 25 Jul 2008 07:52:04 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1907/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1907.entry#comment</wfw:comment><dcterms:modified>2008-07-25T07:52:04Z</dcterms:modified></item><item><title>周老虎终于被抓了</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1898.entry</link><description>&lt;div&gt;一副很牛很粗俗的对联：&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;顶叶纸虎啸山林，&lt;/div&gt;
&lt;div&gt;卧槽泥马勒戈壁。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%91%a8%e8%80%81%e8%99%8e%e7%bb%88%e4%ba%8e%e8%a2%ab%e6%8a%93%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1898.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1898.entry</guid><pubDate>Sun, 29 Jun 2008 16:00:05 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1898/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1898.entry#comment</wfw:comment><dcterms:modified>2008-06-29T16:00:05Z</dcterms:modified></item><item><title>转贴：歪批《三国》</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1896.entry</link><description>&lt;p&gt;歪批《三国》 
&lt;p&gt;甲: 说相声的谈今论古，《三国演义》、“东、西汉”、“红楼”、“聊斋”。《水浒传》，什么书都看。 &lt;br&gt;乙: 要提起“三国”，我可知道得最彻底。 &lt;br&gt;甲: 你对“三国”有研究？请问你“三国”里头所有的人物，谁最有能耐？ &lt;br&gt;乙: 能耐最大的就是诸葛亮。 &lt;br&gt;甲: 诸葛亮有何能耐？ &lt;br&gt;乙: 诸葛亮仰面知天文，俯察知地理，明阴阳，懂八卦，运筹帏幄之中，决胜千里之外。抱膝危坐，自比管仲、乐毅；笑做风月，未出茅庐就知有三分天下。诸葛亮乃一国军师，可称得起世之奇才！《三国》里就数诸葛亮能耐。 &lt;br&gt;甲: 诸葛亮要是能耐大，七星灯借寿怎么会死到司马懿手里呢？ &lt;br&gt;乙: 这个……那就是司马懿能耐。 &lt;br&gt;甲: 司马懿有什么能耐？ &lt;br&gt;乙: 司马懿乃是领兵大元帅，统带千军万马，执掌生杀之权，攻、杀、战、守，抽、撤、盘、环，无一不晓。就拿取街亭说吧，不用自己去，派张郃一战成功。司马懿多有能耐！ &lt;br&gt;甲: 司马懿要是有能耐，得了街亭，怎么还叫赵云追得满市街乱跑？ &lt;br&gt;乙: 那么这一说是赵云有能耐。 &lt;br&gt;甲: 赵云有什么能耐？ &lt;br&gt;乙: 赵云是常胜将军，百战百胜，长坂坡前一场大战，单枪独马，敌住曹操八十三万人马，闯出重围，救出阿斗。那是多大的能耐！ &lt;br&gt;甲: 赵云要有能耐，到了当阳桥，为什么还让张飞给断后哪？ &lt;br&gt;乙: 那是张飞有能耐。 &lt;br&gt;甲: 张飞要有能耐，虎牢关战吕布，怎么哥儿仨打人家一个？ &lt;br&gt;乙: 那是吕布有能耐。 &lt;br&gt;甲: 吕布要是有能耐，在白门楼怎么会死在曹操手里？ &lt;br&gt;乙: 那是曹操有能耐。 &lt;br&gt;甲: 曹操有能耐，火烧战船，怎么把胡子都烧没啦？ &lt;br&gt;乙: 要照你这么一说…… &lt;br&gt;甲: 谁有能耐？ &lt;br&gt;乙: 你有能耐。 &lt;br&gt;甲: 我有什么能耐？ &lt;br&gt;乙: 你把我问住了，还没有能耐吗？ &lt;br&gt;甲: 你就知道看人家优点，你不知道人家的缺点。 &lt;br&gt;乙: 缺点我也知道，就是不说。 &lt;br&gt;甲: 为什么？ &lt;br&gt;乙: 得罪那个人干什么？ &lt;br&gt;甲: 你说这话不对，做事情要站稳立场，优点应该提出表扬，缺点应该提出批评。 &lt;br&gt;乙: 噢，优点提出表扬，缺点提出批评，话虽然很对，可是我上哪儿找诸葛亮去呀？ &lt;br&gt;甲: 我没让你找诸葛亮，我是说事情应该这样做。如此看来，你对《三国演义》还是没什么研究。请问你《三国演义》是谁作的？ &lt;br&gt;乙: 罗贯中。 &lt;br&gt;甲: 什么人批过？ &lt;br&gt;乙: 有好几位哪，金批——金圣叹；御批——四帝乾隆；毛批——毛宗岗。 &lt;br&gt;甲: 还有。 &lt;br&gt;乙: 还有什么？ &lt;br&gt;甲: 还有侯批！ &lt;br&gt;乙: 什么侯批？是古人吗？ &lt;br&gt;甲: 不，是今人。 &lt;br&gt;乙: 姓什么叫什么？ &lt;br&gt;甲: 侯宝林。 &lt;br&gt;乙: 噢，就是你呀！ &lt;br&gt;甲: 对啦！ &lt;br&gt;乙: 金批，御批，毛批我全看过，您这侯批我可没看见过。 &lt;br&gt;甲: 可以买一本看看。 &lt;br&gt;乙: 书店有吗？ &lt;br&gt;甲: 不好买。 &lt;br&gt;乙: 缺货？ &lt;br&gt;甲: 不，还没出版哪。 &lt;br&gt;乙: 废话！没出版说它干什么！ &lt;br&gt;甲: 我这可不敢说是批“三国”。 &lt;br&gt;乙: 是什么？ &lt;br&gt;甲: 我这叫与读者共同讨论。 &lt;br&gt;乙: 怎么？ &lt;br&gt;甲: 你也爱看“三国”，我也爱看“三国”，我们在“三国”里头提出点问题，互相研究研究，讨论讨论。 &lt;br&gt;乙: 那好哇！“三国”里头有不知道的，你就问我。 &lt;br&gt;甲: 噢！你都知道？我问你为什么叫“三国”？ &lt;br&gt;乙: 北魏，西蜀，东吴，此为三国。 &lt;br&gt;甲: 十八路诸侯讨董卓，为什么不叫十八国哪？ &lt;br&gt;乙: 那个……他们都没成事。 &lt;br&gt;甲: 三分归一统，为什么不叫一国？ &lt;br&gt;乙: 那不是以后吗？我说的不对吗？那你说为什么叫“三国”？ &lt;br&gt;甲: “三国”里带“三”的节目多，故此叫“三国”。 &lt;br&gt;乙: 全有什么哪？ &lt;br&gt;甲: 拿过来“三国”您看，头本第一回那个目录里头就有个三字。 &lt;br&gt;乙: 有什么？ &lt;br&gt;甲: “宴桃园豪杰三结义”，有三没有？ &lt;br&gt;乙: 有啊！还有什么？ &lt;br&gt;甲: 最后一回：“降孙皓三分归一统”，有三没有？ &lt;br&gt;乙: 就两个三呀？ &lt;br&gt;甲: 还有哪：“虎牢关三战吕布”、“屯土山关公约三事”、“刘玄德三顾茅庐”、“陶公祖三让徐州”、“荆州城公子三求计”、“袁曹各起马步三军”、“三江口曹操折兵”、“定三分隆中决策”、“三江口周瑜纵火”、“诸葛亮智取三城”、“三气周瑜”、“三擒孟获”…… &lt;br&gt;乙: 七擒孟获！ &lt;br&gt;甲: 三擒！ &lt;br&gt;乙: 怎么是三擒哪？ &lt;br&gt;甲: 先有三擒，然后才有七擒，你得经过三擒，才能到七擒哪，不能由二擒就蹦到四上去！ &lt;br&gt;乙: 噢！这么个三擒哪？还有什么？ &lt;br&gt;甲: 三出祁山！ &lt;br&gt;乙: 六出祁山！ &lt;br&gt;甲: 二三得六。 &lt;br&gt;乙: 小九九哇！ &lt;br&gt;甲: 三伐中原。 &lt;br&gt;乙: 哎，九伐中原！ &lt;br&gt;甲:、乙 三三见九。 &lt;br&gt;乙: 我就知道嘛。 &lt;br&gt;甲: 这是明三，“三国”里还有暗三。 &lt;br&gt;乙: 什么叫暗三？ &lt;br&gt;甲: “三国”里有三妻，三不明，三不知去向，三头驴，三张断三桥，文官三丑，武将三俊，三个不知道，还有三个做小买卖的。 &lt;br&gt;乙: 你说这是什么呀？这么乱！你说这话我好有一比。 &lt;br&gt;甲: 比从何来？ &lt;br&gt;乙: 蛤蟆跳井—— &lt;br&gt;甲: 怎么讲？ &lt;br&gt;乙: 不懂（扑通）。 &lt;br&gt;甲: 不懂不要紧，我可以给你讲。 &lt;br&gt;乙: 我先问你什么叫三妻？ &lt;br&gt;甲: 妻是夫妻的妻。头一个是猎户刘安杀妻供主。 &lt;br&gt;乙: 第二个？ &lt;br&gt;甲: 刘备抛妻。刘备要不抛妻，没有《回荆州》。 &lt;br&gt;乙: 第三个？ &lt;br&gt;甲: 吕布贪妻。吕布要不贪妻，没有《白门楼》。 &lt;br&gt;乙: 什么叫三不明？ &lt;br&gt;甲: “三国”里有三个人，他们的姓名不明。 &lt;br&gt;乙: 头一个？ &lt;br&gt;甲: 是有姓无名。 &lt;br&gt;乙: 谁？ &lt;br&gt;甲: 乔阁老。 &lt;br&gt;乙: 噢，东吴的，他不是姓乔名阁老吗？ &lt;br&gt;甲: 不对，阁老是皇亲，说白话就是老丈人，他就是有姓没名。 &lt;br&gt;乙: 有名。 &lt;br&gt;甲: 叫什么？ &lt;br&gt;乙: 乔玄。 &lt;br&gt;甲: 你是在“三国”里头看到的？ &lt;br&gt;乙: 不是。 &lt;br&gt;甲: 哪儿学来的？ &lt;br&gt;乙: 听戏听来的，《甘露寺》里头有。 &lt;br&gt;甲: 我早就知道你是听戏听来的。 &lt;br&gt;乙: 怎么？ &lt;br&gt;甲: 唱戏到台口要报名，就是介绍剧中人物。不能报乔阁老，阁老是老丈人。光报姓不报名也不好听，“老夫，乔——”乔什么呀？因此戏剧演员给他编出个名字叫乔玄。 &lt;br&gt;乙: 他为什么叫乔玄哪？ &lt;br&gt;甲: “三国”原文上没有，历史纲鉴上查不着，这个名字还在那悬（玄）着哪。 &lt;br&gt;乙: 噢，这么个乔玄哪。第二个是谁？ &lt;br&gt;甲: 第二个有名无姓——貂蝉。 &lt;br&gt;乙: 哎，貂蝉有姓。 &lt;br&gt;甲: 姓什么？ &lt;br&gt;乙: 姓貂名蝉。 &lt;br&gt;甲: 不对，她是王司徒的一个歌姬，原文上没姓，就叫貂蝉，是有名无姓。 &lt;br&gt;乙: 第三个人是谁？ &lt;br&gt;甲: 就是“张翼德怒鞭督邮”这是督邮无名无姓。 &lt;br&gt;乙: 哎！那不是姓督名邮吗？ &lt;br&gt;甲: 不对，督邮是当时的官衔，就相当于现在的税务局长。督邮是无姓无名，他刚一露头没等报名，就叫张飞给打回去了。以后再不提他了。我看这个人就是为挨打而来的。 &lt;br&gt;乙: 噢，这是三不明。什么叫三不知去向呢？ &lt;br&gt;甲: 对，有三不知去向，貂蝉不知去向，徐庶不知去向，督邮被打完了可也不知去向。 &lt;br&gt;乙: 啊，还有什么三头驴？ &lt;br&gt;甲: 对，“三国”里头有三头驴。 &lt;br&gt;乙: 头一头？ &lt;br&gt;甲: 吕伯奢骑驴沽酒。 &lt;br&gt;乙: 哎，不错，有。第二头？ &lt;br&gt;甲: 诸葛亮的岳父黄承彦有一头驴。 &lt;br&gt;乙: 他哪有驴呀？ &lt;br&gt;甲: 有啊，在三顾茅庐的时候，不是黄承彦骑驴过小桥吗！有一首《梁父吟》，那里就有一头驴。 &lt;br&gt;乙: 在哪有？ &lt;br&gt;甲: 我念念你听：“一夜北风寒，万里彤云厚，长空雪乱飘，改尽江山旧，仰面观太虚，疑是玉龙斗，纷纷鳞甲飞，顷刻遍字宇宙，骑驴过小桥，独叹梅花瘦。”这里边不是有头驴吗？ &lt;br&gt;乙: 第三头？ &lt;br&gt;甲: 诸葛亮有个哥哥诸葛瑾…… &lt;br&gt;乙: 对！东吴的谋士，号叫子瑜。 &lt;br&gt;甲: 他长的是什么相貌？ &lt;br&gt;乙: 他长的是驴脸。 &lt;br&gt;甲: 哎，长脸膛，大下巴，长得跟驴一样。哎，他，他，他就算一头驴。 &lt;br&gt;乙: 啊？拿人比驴，这叫什么话呀！ &lt;br&gt;甲: 哎！他是有一头驴。有一天东吴的孙权大宴群臣，内中就有诸葛子瑜，他是带他的儿子去的。他儿子叫诸葛恪，那年才七岁，一块儿去了。在赴宴的时候，文武百官跟诸葛子瑜开玩笑，一看他那脸长得跟驴脸似的，就拉过来一头驴，在那驴脑门上写了四个字：“诸葛子瑜”，大家一看，哄堂大笑。你说诸葛子瑜急又不能急，这是开玩笑；不急吧，当众受辱。正在难受的时候，他儿子诸葛恪一看，他爸爸面红耳赤，小孩子有办法，拿起笔在驴头上那四个字底下又添了两个字。 &lt;br&gt;乙: 什么字？ &lt;br&gt;甲: “之驴”这样一念就好听了：“诸葛子瑜之驴”，说明这头驴是他们家的。吃完喝完了，还把这头驴拉他们家去啦。 &lt;br&gt;乙: 噢，这是三头驴。那三张断三桥哪？ &lt;br&gt;甲: 第一，张飞喝断当阳桥。 &lt;br&gt;乙: 二？ &lt;br&gt;甲: 张任断过金雁桥。 &lt;br&gt;乙: 三？ &lt;br&gt;甲: 威镇逍遥津，张辽断过小石桥。 &lt;br&gt;乙: 文官三丑？ &lt;br&gt;甲: 夏侯敦是猴相，诸葛瑾是驴相，庞统是七孔朝天，这是文官三丑。 &lt;br&gt;乙: 武将三俊哪？ &lt;br&gt;甲: 吕布、赵云、周瑜，这是武将三俊。 &lt;br&gt;乙: 还有什么？ &lt;br&gt;甲: 还有三个不知道，问谁谁也不知道。 &lt;br&gt;乙: 你不知道问我呀，我全知道。 &lt;br&gt;甲: 你知道？我问你：周瑜他姥姥家姓什么？ &lt;br&gt;乙: 不知道。 &lt;br&gt;甲: 诸葛亮他姥姥家姓什么？ &lt;br&gt;乙: 不知道。 &lt;br&gt;甲: 张飞他姥姥家姓什么？ &lt;br&gt;乙: 也不知道。 &lt;br&gt;甲: 哎，这就是三不知道。你不知道，大家也不知道。 &lt;br&gt;乙: 那你知道吗？ &lt;br&gt;甲: 我当然知道。 &lt;br&gt;乙: 周瑜他姥姥家姓什么？ &lt;br&gt;甲: 姓纪。 &lt;br&gt;乙: 诸葛亮他姥姥家姓什么？ &lt;br&gt;甲: 姓何。 &lt;br&gt;乙: 张飞他姥姥家姓什么？ &lt;br&gt;甲: 姓吴。 &lt;br&gt;乙: “三国”原文没有哇！ &lt;br&gt;甲: 有，周瑜在临死的时候，仰面长叹，说了一句。 &lt;br&gt;乙: 说什么？ &lt;br&gt;甲: 说：“既生瑜而何生亮？”这就是说，纪氏老太太生的周瑜，何氏老太太生的诸葛亮。 &lt;br&gt;乙: 哎，不对，人家是说既然生周瑜何必再生诸葛亮！ &lt;br&gt;甲: 我就这么体会！ &lt;br&gt;乙: 好，那张飞他姥姥家为什么姓吴哪？ &lt;br&gt;甲: 你没看老太太管小孩儿，不是有那么一句话嘛：“你这个孩子，总出去惹祸！真是无（吴）事（氏）生非（飞）！”这就是吴氏老太太生的张飞！ &lt;br&gt;乙: 噢，这么讲啊，像话吗！还有什么？ &lt;br&gt;甲: 还有三个做小买卖的。 &lt;br&gt;乙: 第一个？ &lt;br&gt;甲: 刘备卖过草鞋。 &lt;br&gt;乙: 不错，织席贩履嘛！第二个？ &lt;br&gt;甲: 张飞卖肉。 &lt;br&gt;乙: 对，屠户出身嘛。第三个？ &lt;br&gt;甲: 你没听明白吗？刘备卖草鞋。 &lt;br&gt;乙: 唉！我问你第三个？ &lt;br&gt;甲: 啊！是啊！张飞卖肉。 &lt;br&gt;乙: 哎！你等一等。第一个是刘备卖草鞋，第二个是张飞卖肉，这第三个哪？ &lt;br&gt;甲: 啊，有啊，你别着急呀！ &lt;br&gt;乙: 第三个？ &lt;br&gt;甲: 第三个……哎，赵云…… &lt;br&gt;乙: 赵云卖什么呀？ &lt;br&gt;甲: 赵云卖年糕嘛！ &lt;br&gt;乙: 赵云多会儿卖年糕？ &lt;br&gt;甲: 你看过《天水关》这出戏吗？ &lt;br&gt;乙: 看过呀！ &lt;br&gt;甲: 《天水关》这出戏，姜维在校场一传令，那几句（流水板），就把赵云卖年糕给唱出来啦。 &lt;br&gt;乙: 怎么唱的？ &lt;br&gt;甲: （唱）“这一班五虎将俱都丧了，只剩下赵子龙老迈（卖）年（年）高（糕）。”他老卖年糕！ &lt;br&gt;乙: 去你的吧！
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e8%bd%ac%e8%b4%b4%ef%bc%9a%e6%ad%aa%e6%89%b9%e3%80%8a%e4%b8%89%e5%9b%bd%e3%80%8b&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1896.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1896.entry</guid><pubDate>Fri, 20 Jun 2008 08:29:53 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1896/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1896.entry#comment</wfw:comment><dcterms:modified>2008-06-20T08:29:53Z</dcterms:modified></item><item><title>诡异！</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1883.entry</link><description>&lt;div&gt;&lt;font size=3&gt;前段时间台式机出毛病了，偶尔跑着跑着就死机，死机的症状一般是硬盘灯持续亮着，然后就蓝屏。开始以为中毒了或者中木马了，杀了一回没见着。后来逐渐感觉到是进行比较大的硬盘操作时死机的概率大些，比如复制一电影等，便怀疑杀软的监视文件的功能有问题，于是卸掉卡巴裸奔，情况果然好些，但仍然会死。接着怀疑是硬盘文件系统坏了，用CHKDSK能查出几个问题，也能修复，但下回仍旧会死机。于是凄凉地怀疑硬盘可能坏了，只有凑合着继续用。终于有一次死机后Windows少了n多系统文件，CHKDSK也找不回来了，只有重装系统。重装后好了很多，但陆续装上一堆应用软件后，死机的概率越来越大，总怀疑有木马病毒，用IceSword查内核，有几个挂接NTDLL的，是DaemonTool虚拟光驱与360安全卫士。尝试着卸掉360再裸奔，果然几天不死机了，以为找到了原因，沾沾自喜的同时还很专业地抱怨360的内核驱动兼容性差。岂料过几天又开始死了，晕！再卸掉DaemonTool，又安静了几天，这回不敢乱抱怨了，还是静观其变为好。果然过了几天老毛病又开始犯，而且越来越厉害，大有又要重装之势。幸亏上回刚重装好一堆东西比较稳定时做了一个几个G的Ghost，花十几分钟恢复回来也不太费事。一恢复又好些，但跑着跑着又有老毛病重犯的趋势，又猜可能天热了CPU过热引发死机，下了个CPU COOL，看温度也不过20多度，不像，不过为保险起见还是拆开机箱拿风扇吹，但仍旧无效。快抓狂时在敞开的机箱里瞎捣腾，发现主板的串口硬盘线略有松动，难道是它？？？于是插紧了一下，重启，没死机；等了等，还没死；折腾折腾，仍然不死；陆续玩了半个月了，死机蓝屏的迹象一次都没复现。神啊，老子以后要是被查出有啥神经方面的毛病，就是这个硬盘线插头折腾的！&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e8%af%a1%e5%bc%82%ef%bc%81&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1883.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1883.entry</guid><pubDate>Mon, 02 Jun 2008 08:48:21 GMT</pubDate><slash:comments>6</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1883/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1883.entry#comment</wfw:comment><dcterms:modified>2008-06-02T08:48:21Z</dcterms:modified></item><item><title>转贴韩寒的一段话</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1879.entry</link><description>&lt;div&gt;&lt;font size=3&gt;转贴。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;“另外，我还想继续说一个事情，我依然坚持我的向有关部门捐款为0，这是我个人的选择。我也依然非常反对逼捐和搞捐款的排名，很多人在背后冷言冷语，有些个人和公司出于善心，追加了捐款，那些人就自以为是自己的功劳，并把这些钱下意识记在自己的账上。他们都是道德的小人，自己制定道德的准绳。在大家都忙着做善事没空的时候，他们闲着，指指点点，我朋友说，他发现这些人都喜欢重复发言，反复变换马甲，在各个地方说一样的风凉话，足以见得他们是闲到一种什么样的程度。他们体力和脑力都非常充沛活跃，网监部门应该把他们登记在案，以后有灾难的时候派他们上场。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;前一阵子盛传的肯德基没捐款，麦当劳没捐款，我当时就和朋友说，首先，他们如果没捐款，也不应该受到指责，这是他们的权利，其次，肯德基可能是以百胜的名义捐的。因为这些我么熟知的国际快餐都属于百胜集团。事实证明，的确是以百胜集团的名义捐款了一千多万,而麦当劳也是。但是，一些丐帮人员居然在某一个城市，去肯德基麦当劳门前闹事，这才是添乱和丢脸。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;一旦捐款变味，会让做善事者心里很不舒服。比如这次地震，第一批捐款的人应该是最积极的，但到最后，他们都会因为数额少而被人骂。很多人也会借机对自己不喜欢的人传播谣言，这些都是对好心人的打击。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;做善事者，内心一定要得到宽慰，如果做了善事还要备受一些什么都没做的人的指责，好人会越来越少，做事会越来越谨慎。”&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e8%bd%ac%e8%b4%b4%e9%9f%a9%e5%af%92%e7%9a%84%e4%b8%80%e6%ae%b5%e8%af%9d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1879.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1879.entry</guid><pubDate>Fri, 23 May 2008 09:10:09 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1879/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1879.entry#comment</wfw:comment><dcterms:modified>2008-05-23T09:10:09Z</dcterms:modified></item><item><title>地震</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1876.entry</link><description>&lt;p&gt;&lt;font size=3&gt;川汶一震罢，烽烟满地愁。&lt;br&gt;丹景成绝景，泥流伴石流。&lt;br&gt;天道无刍狗，人伦有方舟。&lt;br&gt;勉尽些微事，来日祭荒丘。&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%9c%b0%e9%9c%87&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1876.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1876.entry</guid><pubDate>Thu, 15 May 2008 15:24:58 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1876/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1876.entry#comment</wfw:comment><dcterms:modified>2008-05-15T15:24:58Z</dcterms:modified></item><item><title>Sparc 平台上的 FlexLM 7.0 用户滤波函数分析</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1868.entry</link><description>&lt;div&gt;&lt;font face="Courier New" size=2&gt;Sparc 平台上的 FlexLM 7.0 用户滤波函数分析&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;作为一个比较老旧的保护工具，FlexLM的初级保护已经被分析的差不多了，默认情况下内存中能截到明文的签名，这点很多高手的文章中都有提到。但俺近日在分析一款SunOS Sparc平台下的FlexLM 7.0时遇上了 user_crypt_filter 机制，这种机制会对签名加以变形运算，导致内存中不会出现明文，给破解的捕获增加了一些难度。后来参考Nolan Blender大牛的文章，总算破掉了这个用户滤波函数的保护，在此写出来总结一下供有相同需要的朋友参考与讨论。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;本文没有提到到具体的软件名称，也不涉及到Feature、Vendor与版本号的跟踪捕获，甚至也和抓取VendorKey和加密种子等没有关系。另外Sparc平台的汇编可能大伙都不熟悉，这儿尽量多加以解释。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;工具：DDD+GDB、IDA&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;一、按传统方法定位明文比较处。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;参考laoqian的《制作Flexlm license总结》的文章，以及laowanghai的《LabWindows CVI 8.0》中列出来的详尽x86汇编代码，通过在IDA中搜索常数66D8B337，可以定位到几个地方。以下是laowanghai的《LabWindows CVI 8.0》文章中列出的部分x86的代码供参考：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;105C9CDB      894D F4                    mov dword ptr ss:[ebp-C],ecx&lt;br&gt;105C9CDE    ^ E9 EEFAFFFF                jmp CVI_1.105C97D1&lt;br&gt;105C9CE3      817D 18 37B3D866           cmp dword ptr ss:[ebp+18],66D8B337&lt;br&gt;105C9CEA      0F85 96000000              jnz CVI_1.105C9D86&lt;br&gt;105C9CF0      33D2                       xor edx,edx&lt;br&gt;……&lt;br&gt;105C9D86      C785 78FEFFFF 08000000     mov dword ptr ss:[ebp-188],8&lt;br&gt;105C9D90      817D 18 37B3D866           cmp dword ptr ss:[ebp+18],66D8B337&lt;br&gt;105C9D97      75 0F                      jnz short CVI_1.105C9DA8&lt;br&gt;……&lt;br&gt;105C9EB0      8B95 30FEFFFF              mov edx,dword ptr ss:[ebp-1D0]&lt;br&gt;105C9EB6      81E2 FF000000              and edx,0FF&lt;br&gt;105C9EBC      8B85 7CFEFFFF              mov eax,dword ptr ss:[ebp-184]&lt;br&gt;105C9EC2      33C9                       xor ecx,ecx&lt;br&gt;105C9EC4      8A88 98358A10              mov cl,byte ptr ds:[eax+108A3598]&lt;br&gt;105C9ECA      3BD1                       cmp edx,ecx                     ; 与正确SIGN逐字节的比较&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;这里，比较之处前面一个and edx,0FF比较的显目，可以作为一个小标志。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;类似的，在我们对付的SPARC平台下的软件，其比较代码也类似：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; loc_3515CC:                             ! CODE XREF: sub_3508E4+6B0j&lt;br&gt;.text:003515CC                                         ! sub_3508E4+CE0j&lt;br&gt;.text:003515CC                 ld      [%fp+arg_54], %o5&lt;br&gt;.text:003515D0                 set     0x66D8B337, %o7 ! 绝对是这儿的常数&lt;br&gt;.text:003515D8                 cmp     %o5, %o7&lt;br&gt;.text:003515DC                 be      loc_3515EC&lt;br&gt;.text:003515E0                 nop&lt;br&gt;……&lt;br&gt; loc_351684:                             ! CODE XREF: sub_3508E4+D00j&lt;br&gt;.text:00351684                 mov     8, %o7          ! 也是这儿的常数&lt;br&gt;.text:00351688                 st      %o7, [%fp+var_8]&lt;br&gt;.text:0035168C                 ld      [%fp+arg_54], %l0&lt;br&gt;.text:00351690                 set     0x66D8B337, %l1&lt;br&gt;.text:00351698                 cmp     %l0, %l1&lt;br&gt;.text:0035169C                 be      loc_3516AC&lt;br&gt;.text:003516A0                 nop&lt;br&gt;……&lt;br&gt;.text:003517F8 loc_3517F8:                             ! CODE XREF: sub_3508E4+EE0j&lt;br&gt;.text:003517F8                 ld      [%fp+var_4_idx], %o3&lt;br&gt;.text:003517FC                 set     byte_4DD515, %o4&lt;br&gt;.text:00351804                 ldub    [%o3+%o4], %o5  ! ldub取一位字节，相当于同时做了上面的and 0xff了&lt;br&gt;.text:00351808                 ldub    [%fp+var_180_oursign+3], %o7&lt;br&gt;.text:0035180C                 cmp     %o7, %o5        ! 是这儿的比较&lt;br&gt;.text:00351810                 bne     loc_351820&lt;br&gt;.text:00351814                 nop&lt;br&gt;.text:00351814&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;由x86与Sparc的汇编代码对比可以看出，.text:0035180C处确实是我们传入的伪造签名值（我传的是1234567890AB）与正确签名值的比较之处，byte_4DD515这个地址所指的一片内存区域，应该是我们需要的正确签名。于是在0035180C处下断，第一次来到此处时查看0x4DD515地址的内容，得到六个字节EEB53723B248。想当然地拿它放到license文件里头一试，很不幸，通不过。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;于是开始了摸索，在0035180C之前下断，逐步来，发现0035180C之前有一处很关键的代码：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;.text:003517CC loc_3517CC:                             ! CODE XREF: sub_3508E4+ED8j&lt;br&gt;.text:003517CC                 ld      [%fp+arg_44_job], %o0&lt;br&gt;.text:003517D0                 ld      [%o0+0x234], %g1 ! Job偏移234处是啥？原来是user_crypt_filter函数地址。&lt;br&gt;.text:003517D4                 ld      [%fp+var_4_idx], %o1&lt;br&gt;.text:003517D8                 set     byte_4DD515, %o2&lt;br&gt;.text:003517E0                 add     %o1, %o2, %o1   ! char*，指向正确的未filter的内容&lt;br&gt;.text:003517E4                 ldub    [%fp+var_180_oursign+3], %o3 ! 我们的sign的字符&lt;br&gt;.text:003517E8                 ld      [%fp+arg_44_job], %o0 ! Job！&lt;br&gt;.text:003517EC                 ld      [%fp+var_4_idx], %o2 ! Index？&lt;br&gt;.text:003517F0                 call    %g1             ! 3323a0,user_crypt_filter，结果放在o1指的内容&lt;br&gt;.text:003517F4                 nop&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;那个call %g1是对解出的明文密码进行的一次变换。刚才抓到的六个字节EEB53723B248，其中EE是已经经过了第一次变换的结果，变换出来的结果和我们传入的伪造签名的第一个字节12不一致，因此出错。如果在003517F0之前下断查看byte_4DD515的内容，则可得到未经变换的第一个字节值。抓出的初始的正确签名值是C1B53723B248，但如果拿这个签名值去license文件里头试的话仍然通不过，因为这串签名值还会经过一次变换，这个变换便是臭名昭著的user_crypt_filter：用户滤波函数。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;二、分析用户滤波函数&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;查FlexLM的资料得知，user_crypt_filter是对签名字符进行的进一步可逆变换机制，包括生成时的user_crypt_filter解码函数和user_crypt_filter_gen编码函数。我们的任务，是根据user_crypt_filter函数的实现，反推出user_crypt_filter_gen函数来。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;从代码中以及从大牛们的破解资料中可得知，user_crypt_filter 附近的调用机制基本上是：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;for (i = 0; i &amp;lt; j; i++) /* compare user-input and real checksums */&lt;br&gt;{&lt;br&gt;  ......&lt;br&gt;  if (user_crypt_filter)&lt;br&gt;    (*user_crypt_filter)(job, &amp;amp;x, i, y[i]); // 使用了滤波函数进行进一步的对比！&lt;br&gt;    &lt;br&gt;  if (x != y[i]) &lt;br&gt;    return 0;&lt;br&gt;}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;而网上查到的很多中文文章中的FlexLM都是没用user_crypt_filter的，也就是user_crypt_filter为false而跳过(*user_crypt_filter)指针所指函数的变换，因此下面的x != y[i]便是正确签名字符与我们输入的伪造签名字符的明文比较。而我们碰到的情况是会调用user_crypt_filter的函数的。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;user_crypt_filter 的函数原型为：&lt;br&gt;user_crypt_filter(job, char* KeySign, int index, char OurChar);&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;其中job在函数体内基本无用。KeySign为传入的未变换的签名的地址（下面称为原始签名），index为此字符在密文中的位置，如签名为1234567890AB，则12的index为0，34的为1，以此类推。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;user_crypt_filter是逐个处理字符的，它根据未变换的原始签名字符、此字符的位置、以及我们传入的伪造签名字符进行一系列的运算返回一个字符，这个字符必须等于我们传入的伪造签名字符。这么说可能有点绕，换种说法就是：未变换的原始签名字符、此字符的位置、以及变换后的签名字符三者必须符合一定的运算法则，user_crypt_filter函数拿我们传入的伪造签名字符作为验证来和原始签名字符参与运算，如果运算通过，则表示伪造的签名字符是正确的变换后的签名字符，那么就将此正确的签名字符返回供上层代码(x != y[i])比较，其实此时已经无需比较了。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;可以看出，user_crypt_filter函数中不会出现我们需要的正确签名字符，只有当我们传入的伪造签名字符等于正确签名字符时才会验证通过，才会返回正确签名字符。下面我们要搞清楚的是user_crypt_filter函数究竟对未变换的原始签名字符、此字符的位置、以及我们传入的伪造签名字符三者进行了怎样的变换，从而努力反推出来如何根据未变换的原始签名字符以及此字符的位置计算正确的签名字符。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;user_crypt_filter函数非常长，从.text:003323A0 到.text:003374B8，反汇编代码有七千多行，很是吓人。不过经过大致浏览，可以看出它是根据传入的Idx的范围0到19有比较重复的20大段代码，20大段里头每大段会对字符进行异或并对其8位进行处理，共20加160处变换，搞明白了它做啥就好办了。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;首先是将传入的字符异或，比如我们传入的Idx是0的话：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;.text:003324E0                 ld      [$XADqrkBrM9j3y7__num0], %l0&lt;br&gt;.text:003324E4                 cmp     %l1, %l0&lt;br&gt;.text:003324E8                 bne     loc_332504&lt;br&gt;.text:003324EC                 nop&lt;br&gt;.text:003324EC&lt;br&gt;.text:003324F0                 ldub    [%fp+var_2_GoodChar_xor], %l2&lt;br&gt;.text:003324F4                 sethi   %hi(unk_496800), %l0&lt;br&gt;.text:003324F8                 ldub    [$XADqrkBrM9j3y7__x_0], %l1 ! &lt;br&gt;// 取出num0对应的某常量值（x_0）和GoodChar一异或，存入局部变量 GoodChar_Xor。&lt;br&gt;.text:003324FC                 xor     %l2, %l1, %l0&lt;br&gt;.text:00332500                 stb     %l0, [%fp+var_2_GoodChar_xor]&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;根据传入的Idx的不同，将未变换的原始签名字符和某一值进行异或，得到临时变量GoodChar_xor。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;然后启用另外一个Char变量，这里命名为TmpChar，用来挨个检查GoodChar_xor的位，比如这儿是检查其中一位：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; loc_332740:                             ! CODE XREF: user_crypt_filter+384j&lt;br&gt;.text:00332740                 ld      [%fp+arg_4C_Idx], %l1&lt;br&gt;.text:00332744                 sethi   %hi(unk_496800), %l0&lt;br&gt;.text:00332748                 ld      [$XADqrkBrM9j3y7__num8], %l0&lt;br&gt;.text:0033274C                 cmp     %l1, %l0&lt;br&gt;.text:00332750                 bne     loc_3327BC // 如果此字符的index是8，那么检查&lt;br&gt;.text:00332754                 nop&lt;br&gt;.text:00332754&lt;br&gt;.text:00332758                 ldub    [%fp+var_2_GoodChar_xor], %l2&lt;br&gt;.text:0033275C                 sethi   %hi(unk_496800), %l0&lt;br&gt;.text:00332760                 ld      [$XADqrkBrM9j3y7__bit3], %l1&lt;br&gt;.text:00332764                 andcc   %l2, %l1, %l0&lt;br&gt;.text:00332768                 be      loc_332784  // 如果异或后的字符的bit3位是1 则执行下面的，&lt;br&gt;.text:0033276C                 nop&lt;br&gt;.text:0033276C&lt;br&gt;.text:00332770                 ldub    [%fp+var_1_TmpChar], %l2&lt;br&gt;.text:00332774                 sethi   %hi(unk_496800), %l0&lt;br&gt;.text:00332778                 ld      [$XADqrkBrM9j3y7__bit4], %l1  &lt;br&gt;// 如果异或后的字符的bit3位是1，则将临时变量TmpChar的bit4置为1，&lt;br&gt;.text:0033277C                 or      %l2, %l1, %l0&lt;br&gt;.text:00332780                 stb     %l0, [%fp+var_1_TmpChar]&lt;br&gt;.text:00332780&lt;br&gt;.text:00332784&lt;br&gt;.text:00332784 loc_332784:                             ! CODE XREF: user_crypt_filter+3C8j&lt;br&gt;.text:00332784                 ldub    [%fp+var_1_TmpChar], %l1&lt;br&gt;.text:00332788                 sethi   %hi(unk_496800), %l0&lt;br&gt;.text:0033278C                 ld      [$XADqrkBrM9j3y7__bit4], %l2&lt;br&gt;.text:00332790                 and     %l1, %l2, %l1&lt;br&gt;.text:00332794                 ldub    [%fp+var_3_OurChar], %l0&lt;br&gt;.text:00332798                 and     %l0, %l2, %l0&lt;br&gt;.text:0033279C                 cmp     %l1, %l0&lt;br&gt;.text:003327A0                 be      loc_3327BC // 然后检查我们伪造的签名字符的bit4，和TmpChar的bit4是否相同。&lt;br&gt;.text:003327A4                 nop&lt;br&gt;.text:003327A4&lt;br&gt;.text:003327A8                 ld      [%fp+arg_48_charX], %l1&lt;br&gt;.text:003327AC                 ldsb    [%l1], %l0&lt;br&gt;.text:003327B0                 btog    -0x3E, %l0 // 在俩bit不同的情况下，返回垃圾值3E&lt;br&gt;.text:003327B4                 ba      locret_3374B8&lt;br&gt;.text:003327B8                 stb     %l0, [%l1]&lt;br&gt;.text:003327B8&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;以上是对Index为8时的未签名字符bit3位的判断检查过程：如果GoodChar_xor的bit3是1，则TmpChar的bit4也置一，因为TmpChar原始为0，因此bit4原始也为0，所以这一步就是把GoodChar_xor的bit3搬移到了TmpChar的bit4上。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;然后TmpChar的bit4和我们传入的伪造签名字符OurChar的bit4进行比较，相同的话这位检查通过，继续检查下一位，否则返回一个垃圾值-0x3E用以迷惑俺们。总的来说，这步就是检查异或后的GoodChar_xor的bit3是否等于伪造签名字符的bit4，等的话才通过。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;参考Nolan Blender的文章，这里检查一个bit的过程用C代码描述如下（这里是index为0时检查GoodChar_xor的bit2与TmpChar的bit5是否相等的情况）：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;if (idx == num0)&lt;br&gt;{&lt;br&gt;  if (GoodChar_xor &amp;amp; bit2) TmpChar |= bit5; &lt;br&gt;  // 如果inc_c的2置位，那么把另外一个C的5置位，相当于2位换到5位去&lt;br&gt;  if ((TmpChar &amp;amp; bit5) != (OurChar &amp;amp; bit5)) { *KeySign = 0xxx; return; // 不等则返回垃圾}&lt;br&gt;  // 其实就是GoodChar_xor的bit2要和输入签名字符的bit5相等。&lt;br&gt;}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;以下还有很多类似的检验，对于每一个index，都要检查GoodChar_xor的8个bit和OurChar的8个bit是否相同，但这8个bit并不是顺序上一一对应，而是乱序（permute）了。比如GoodChar_xor的bit0应该等于OurChar的bit3、GoodChar_xor的bit2必须等于OurChar的bit7，等等。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;由此可知，只要将GoodChar_xor按user_crypt_filter中特定的index处所指明的bit置换规则，把各个bit换一下，则可得到解密后的明文签名字符。这也就是说，如果我们在代码中找到了针对一个index的字符的八条位置换规则，如GoodChar_xor的bit0应该等于OurChar的bit3、GoodChar_xor的bit2应该等于OurChar的bit7等共八条，那么我们只要新起一个变量TmpChar，将GoodChar_xor的bit0放到变量TmpChar的bit3，GoodChar_xor的bit2换到TmpChar的bit7，换过8个bit后，这个TmpChar的每一位必然等于解密后的明文签名字符OurChar。这就是user_crypt_filter检查运算的逆运算！&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;三、编写逆运算程序&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;逆运算分析出来了，就可以写还原程序了。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;这儿参考了Nolan Blender的思想，将0到19个index，每个index所对应的8位bit置换规则写成一个大数组，共一百六十项，从七千多行汇编代码中整理出来相当费力，但所幸只是体力活儿。而且如果是短的签名的话，只要搜集0到5的index所对应的四十八条bit置换规则即可。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;以下代码用Delphi实现：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;type&lt;br&gt;  TShiftVals = array[0..7] of Integer;&lt;br&gt;  TPermute = packed record&lt;br&gt;    shiftvals: TShiftVals;&lt;br&gt;  end;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;PerTab: array[0..19] of TPermute = // 搜集得到的位置换规则数组&lt;br&gt;(           // BIT  0 1 2 3 4 5 6 7&lt;br&gt;       (shiftvals: (0,4,5,3,1,2,6,7)), // idx 00 //&lt;br&gt;       (shiftvals: (4,0,5,2,1,3,6,7)), // idx 01 //&lt;br&gt;       (shiftvals: (7,1,3,4,0,5,2,6)), // idx 02 //&lt;br&gt;       (shiftvals: (4,7,3,6,1,5,2,0)), // idx 03 //&lt;br&gt;       (shiftvals: (0,3,7,4,2,5,6,1)), // idx 04 //&lt;br&gt;       (shiftvals: (4,3,5,6,7,0,1,2)), // idx 05 //&lt;br&gt;       (shiftvals: (2,7,4,0,6,5,3,1)), // idx 06 //&lt;br&gt;       (shiftvals: (4,5,1,7,0,3,6,2)), // idx 07 //&lt;br&gt;       (shiftvals: (1,0,5,4,3,6,7,2)), // idx 08 //&lt;br&gt;       (shiftvals: (2,7,5,3,0,6,1,4)), // idx 09 //&lt;br&gt;       (shiftvals: (3,5,7,0,6,4,2,1)), // idx 10 //&lt;br&gt;       (shiftvals: (7,6,5,0,4,3,2,1)), // idx 11 //&lt;br&gt;       (shiftvals: (3,4,5,6,0,2,1,7)), // idx 12 //&lt;br&gt;       (shiftvals: (0,4,6,3,5,2,1,7)), // idx 13 //&lt;br&gt;       (shiftvals: (1,5,0,2,6,3,4,7)), // idx 14 //&lt;br&gt;       (shiftvals: (2,6,5,7,4,3,1,0)), // idx 15 //&lt;br&gt;       (shiftvals: (2,3,0,5,1,7,6,4)), // idx 16 //&lt;br&gt;       (shiftvals: (1,7,4,2,3,0,6,5)), // idx 17 //&lt;br&gt;       (shiftvals: (1,5,2,3,4,7,6,0)), // idx 18 //&lt;br&gt;       (shiftvals: (3,0,6,7,4,5,2,1))  // idx 19 //&lt;br&gt;);&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;如 (shiftvals: (0,4,5,3,1,2,6,7)), // idx 00 //，表示对于index为0的字符，其bit0位置换到bit0位（两位可以相同），bit1置换到bit4，bit2置换到bit5，等等以此类推。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;另外还有一次异或，此异或的数字也是常数，根据index不同而不同，是上文代码中的x_0等形式的变量。总结得出一个异或数组：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;var&lt;br&gt;  xorvals: array[0..19] of Integer =&lt;br&gt;  (&lt;br&gt;    $1E, $16, $3E, $24,&lt;br&gt;    $04, $1E, $1E, $13,&lt;br&gt;    $15, $0C, $2D, $33,&lt;br&gt;    $3D, $21, $26, $2E,&lt;br&gt;    $12, $34, $01, $2B&lt;br&gt;  );&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;然后写一个解密函数与bit置换函数（参考了：Nolan Blender的思想）&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;// 传入计算来的原始的签名字符与位置，返回变换后的正确签名字符&lt;br&gt;function user_crypt_filter_gen(inchar: Char; idx: Integer): Char;&lt;br&gt;var&lt;br&gt;  tmpchr: Char;&lt;br&gt;begin&lt;br&gt;  tmpchr := Chr(Ord(inchar) xor xorvals[idx]); // 先异或还原&lt;br&gt;  Result := Permute(tmpchr, PerTab[idx].shiftvals); // 再置换位置&lt;br&gt;end;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;// 将传入字符按大数组表内的规则进行置换位置&lt;br&gt;function permute(inchar: Char; shiftvals: TShiftVals): Char;&lt;br&gt;var&lt;br&gt;  outval: Integer;&lt;br&gt;  i: Integer;&lt;br&gt;  shbit: Integer; // Test bit */&lt;br&gt;begin&lt;br&gt;  outval := 0;&lt;br&gt;  shbit := 1;&lt;br&gt;  for i := 0 to 7 do&lt;br&gt;  begin&lt;br&gt;    if ((Ord(inchar) and shbit) &amp;lt;&amp;gt; 0) then&lt;br&gt;    begin&lt;br&gt;      outval := outval or (1 shl (shiftvals[i]));&lt;br&gt;    end;&lt;br&gt;    shbit := shbit shl 1;&lt;br&gt;  end;&lt;br&gt;  Result := Chr(outval and $FF);&lt;br&gt;end;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;然后，利用上面两个写好的函数对抓出的未变换签名值C1B53723B248进行运算：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;procedure TForm1.FormCreate(Sender: TObject);&lt;br&gt;begin&lt;br&gt;  Edit1.Text := IntToHex(Ord(user_crypt_filter_gen(#$C1, 0)), 2)+&lt;br&gt;    IntToHex(Ord(user_crypt_filter_gen(#$B5, 1)), 2) +&lt;br&gt;    IntToHex(Ord(user_crypt_filter_gen(#$37, 2)), 2) +&lt;br&gt;    IntToHex(Ord(user_crypt_filter_gen(#$23, 3)), 2) +&lt;br&gt;    IntToHex(Ord(user_crypt_filter_gen(#$B2, 4)), 2) +&lt;br&gt;    IntToHex(Ord(user_crypt_filter_gen(#$48, 5)), 2);&lt;br&gt;end;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;运行程序后，Edit1.Text中得到生成的正确签名值FB999098AEAA。拿这串签名填入license文件中，测试通过。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;再次跟踪user_crypt_filter可知，比如对index为0的情况，传入原始字符C1与index 0，C1与1E异或后的值经过八次位置换得到FB，和我们传入的FB相等，因此通过，返回FB（只要有一位不等，就会返回垃圾值，外部的比较必然通不过）。user_crypt_filter外部再用返回的FB与我们传入的FB比较，自然相等，也就通过了。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;四、总结&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;user_crypt_filter的核心是字符的位置换规则，需要通篇阅读代码以总结出一百六十个位置换规则来，这一点比较的耗体力并且不能出错，否则通不过的情况下再次调试就需要跟入七千多行的user_crypt_filter以找到出错点，这体力耗费的就不是总结位置换规则所能比的了。俺在总结过程中还好没在位置换规则中出错，但搞错了一位xorvals中的异或值，事后查起来也耗了一点力气，等到所幸最后还是找出来的时候已经快累趴下了。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" size=2&gt;参考资料：&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.woodmann.com/crackz/Tutorials/Nbufilt.htm"&gt;&lt;font face="Courier New" size=2&gt;http://www.woodmann.com/crackz/Tutorials/Nbufilt.htm&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font face="Courier New" size=2&gt;laoqian的《制作Flexlm license总结》的文章&lt;br&gt;laowanghai的《LabWindows CVI 8.0》&lt;br&gt;其他看雪论坛的精华文章&lt;br&gt;&lt;/font&gt;&lt;a href="http://www-curri.u-strasbg.fr/documentation/calcul/doc/ProPack/3SP1/docs/doc/lmsgi-9.2.3/flexref/chap21.htm"&gt;&lt;font face="Courier New" size=2&gt;http://www-curri.u-strasbg.fr/documentation/calcul/doc/ProPack/3SP1/docs/doc/lmsgi-9.2.3/flexref/chap21.htm&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+Sparc+%e5%b9%b3%e5%8f%b0%e4%b8%8a%e7%9a%84+FlexLM+7.0+%e7%94%a8%e6%88%b7%e6%bb%a4%e6%b3%a2%e5%87%bd%e6%95%b0%e5%88%86%e6%9e%90&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1868.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1868.entry</guid><pubDate>Fri, 25 Apr 2008 15:49:10 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1868/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1868.entry#comment</wfw:comment><dcterms:modified>2008-04-25T15:50:19Z</dcterms:modified></item><item><title>骂一通无知的粪青和无耻的冷漠者</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1862.entry</link><description>&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;最近网络不平静的很，垃圾消息充斥着QQ与MSN，一群群粪青的本性在垃圾中暴露无遗：冲动、无知、排异、意淫。喊抵制是弱者的叫嚣，比弱者的叫嚣更可悲的是认识不到自己是弱者。敏感的自尊受了刺激却又找不到藏独分子出气，于是拿一家本地化已经相当严重的超市开刀，且不说打砸抢的提议本身就可笑，即使有那么一批稍许清醒的人提倡静静的抵制，这种提议也被淹没在积极购物不付款等损毁性的馊主意中。随着恶意降临的还有无知与意淫，什么捏造的令人呕吐的李白的诗，什么法国政府拨款二千万美金，无数缺乏起码思考能力的粪青们被利用了还不自知，还在积极无偿地宣传家乐福的五一促销活动。更无知的还有老一套的网站攻击，先是南联盟时期发动网民Ping美国，再是现在发动网民刷新CNN网站，中国那点儿可怜的出口带宽被挤得一塌糊涂，只平白无故替对手增加了访问量，没准其Alexa排名还会因此上升。——我们的网民啊，我们的年轻人啊，我们什么时候才能冷静一点地思考？有些人MSN/QQ好友栏里头明明没一个外国人，却叫嚣着改昵称改头像让全世界看华人的团结？中国在世界上的地位很低四处是敌，要获得敌人的尊重比从敌人处得到嘲弄和蔑视难得多。现在的闹剧，你们以为得到的是什么？一盘散沙是粪青的最大特征，从来没法凝聚起来做实事，从来以为一时的口眼之快就是爱国。中国这位母亲需要的是每一个位儿女的踏实奉献，而不是粉墨登场地——事实上，登场的档次根本算不上，除非真去打砸抢——出演让国内外都感到可笑的闹剧。一边体育不要和政治挂钩，一边经济和政治又在挂钩，中国是美国国债的第二大股东，中东地区有没闹着抵制俺们的加班中兴与跳楼华为？如果你说抵制日货是习惯没法改了，那么以前为抵制日货而买美法等货的人怎么现在也成了粪青的眼中钉人中奸？和自己的切身利益无关的人容易跟着瞎起哄，起哄完毕一转身继续屁颠屁颠地照样吃吃买买地亲美亲法，这就是俺们的抵制？&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;第二类该骂的是那些貌似冷静实则冷漠的无耻者。国家不关你的事，民族不关你的事，奥运不关你的事，就钱关你的事。如果您是低保户无法糊口，这种现象俺能理解，可你丫还不是装白领上班上网玩MSN？你可以问国家民族是什么，可以问如果是一块面包它有多大，也可以问如果是一件衣服它有多暖和，更可以问如果是一间房子能不能为我们挡住风雨，但你又是什么？你是游荡的无业民？你是吃喝的啃老族？还是说你是只会索取不会奉献的寄生虫？一个国家不能只靠雇佣军战斗，一个青年也不能只靠冷漠来活着。别告诉你丫不想做青年，五四歇半天丫还不是屁颠屁颠地羡慕得捶胸顿足？死水一样的冷漠者和洪水一样的粪青同样可恶，后者是无知，前者则是无耻。不是一般的无耻，还是很黄很暴力很傻很天真很不和谐的无耻！&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;骂完了，该干啥还干啥。请随便对号入座来着。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e9%aa%82%e4%b8%80%e9%80%9a%e6%97%a0%e7%9f%a5%e7%9a%84%e7%b2%aa%e9%9d%92%e5%92%8c%e6%97%a0%e8%80%bb%e7%9a%84%e5%86%b7%e6%bc%a0%e8%80%85&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1862.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1862.entry</guid><pubDate>Wed, 23 Apr 2008 05:17:36 GMT</pubDate><slash:comments>7</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1862/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1862.entry#comment</wfw:comment><dcterms:modified>2008-04-23T05:18:25Z</dcterms:modified></item><item><title>早晨路上联诗</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1853.entry</link><description>&lt;div&gt;&lt;font size=3&gt;笑死俺了，原来室友们都这么有才：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;上海四月雨茫茫，&lt;br&gt;吃喝嫖赌诸事忙。&lt;br&gt;三把小伞上班去，&lt;br&gt;到了路上变色狼。&lt;br&gt;牛仔包臀弹性好，&lt;br&gt;黑发披肩瀑布长。&lt;br&gt;两只手套玩细腻，&lt;br&gt;一根宽粉笑疯狂。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e6%97%a9%e6%99%a8%e8%b7%af%e4%b8%8a%e8%81%94%e8%af%97&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1853.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1853.entry</guid><pubDate>Wed, 16 Apr 2008 01:32:14 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1853/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1853.entry#comment</wfw:comment><dcterms:modified>2008-04-16T01:33:50Z</dcterms:modified></item><item><title>迎风喝豆花的恶果</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1796.entry</link><description>&lt;div&gt;&lt;font size=3&gt;近日早餐比较喜欢吃摊韭菜煎蛋饼与咸豆腐花，时常伙同俩室友晚起坐在那儿饕餮而不管是否迟到。只是卖豆花的老板不知道没钱租场地了还是怎么的，原先的店面愣是锁着空着，只在外头路边摆下一长条木桌供人挤坐着匆忙地吃。这天一早风很大，照例俺们仨挤在桌子角边，吃得差不多时，对面的一女的没吃完就不厚道的起身离开，那挡风的身板一走，她没喝完的豆花碗被风一吹哗啦就朝这边盖过来洒了俺们一腿，我靠！悻悻然地放下餐具找纸来擦，刚放下，室友自己没喝完的豆花碗被风一吹哗啦又朝这边盖过来又洒了俺们一身！我靠！俺们赶紧站起身来胡乱擦，这时，第三个俺的没喝完的豆花碗被风一吹哗啦啦地又盖了过来……&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e8%bf%8e%e9%a3%8e%e5%96%9d%e8%b1%86%e8%8a%b1%e7%9a%84%e6%81%b6%e6%9e%9c&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1796.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1796.entry</guid><pubDate>Wed, 02 Apr 2008 06:33:42 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1796/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1796.entry#comment</wfw:comment><dcterms:modified>2008-04-02T06:33:42Z</dcterms:modified></item><item><title>Sparc平台下的FlexLM 4.1明文比对破解</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1792.entry</link><description>&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;font face=Arial&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;网上关于破解 FlexLM 的文章大多是 Windows 平台的，而且版本很高。但近日俺碰到的一款 SunOS Sparc 平台上的软件也是 FlexLM 保护，这可是个希罕物件，又加上整个公司只买了 2 个 License，一块用的时候俺基本轮不上，于是就带着尝试的想法拿它开刀。IDA 反了反这个 ELF 格式的主程序文件，字符串中看见是 FlexLM 4.1 版的，而且程序的字符串块没被 strip 掉，FlexLM 的相关函数名居然都在，省掉了找 Unix 下的 FlexLM SDK 的Signature 的麻烦。而且，这个 4.1 的版本由于相当低，其密文字符串的对比居然是明码标价，实在不符合其商业产品的特性（不过这也是事后才知道的）。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;工具：IDA，DDD/GDB；&lt;br&gt;方法：静态阅读＋动态跟踪。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;网上找不到 FlexLM 4.1 的 SDK，但能找到的比较全的 FlexLM 4.0 的开发帮助：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;a href="http://wwweic.eri.u-tokyo.ac.jp/computer/manual/lx/SGI_Developer/books/FLEXlm_PG/sgi_html/index.html"&gt;&lt;font face=Arial size=2&gt;http://wwweic.eri.u-tokyo.ac.jp/computer/manual/lx/SGI_Developer/books/FLEXlm_PG/sgi_html/index.html&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;这个对破解很有作用。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;先恶补一下基础知识：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=Arial size=2&gt;一、Sparc 平台的寄存器架构与汇编规则&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;Sparc 的 CPU 有很多寄存器，但针对任一进程的任一时刻来说只开放 32 个，以寄存器窗口的方式切换。一般它的寄存器可命名为 r0 到 r31，但一般以其别名来命名，如下：&lt;/font&gt;&lt;/div&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;1. 全局寄存器(8个) －对所有程序可见。命名为 %g0 ～ %g7 ＝ %r0 ～ %r7&lt;br&gt;2. 输出寄存器(8个) －函数返回值，输出寄存器是下一个窗口的输入寄存器。命名为 %o0 ～ %o7，等同于 %r8 ～ %r15&lt;br&gt;3. 局部寄存器(8个) －仅本函数可见。命名为 %l0 ～ %l7，等同于 %r16 ～ %r23&lt;br&gt;4. 输入寄存器(8个) －本函数的输入参数，来自于上一窗口的输出寄存器。命名为 %i0 ～ %i7，等同于 %r24 ～ %r31&lt;/font&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;通过 call 指令进行函数调用时，函数开始可调用 save 指令分配相应的栈空间并进行窗口切换，这个窗口切换会将切换前的 o 系列寄存器映射为切换后的 i 系列寄存器，函数返回时通过 restore 指令切换回来。这条规则要记住，否则进入函数前后参数和返回值都不知道去哪儿找。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;一般进入函数之前给 o0 到 o5 寄存器赋值作为传入参数（不够则用堆栈），进入函数之后访问对应的 i0 到 i5 便可访问对应的传入参数，函数内部给 o0 赋值可作为返回值使用。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;此外 Sparc 还有一些其他特点：访存用 ld/st 指令，和寄存器之间操作数据不同；跳转指令是 b(ranch)，后缀表示各种条件，和 80x86 平台下的 j 系列一样；call 与 b 跳转指令后都有一个 nop，估计是给 Sparc 的指令预取机制或者跳转预判断机制准备的。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=Arial size=2&gt;二、GDB/DDD 常用命令：&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;font face=Arial&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;Data Display Debugger（DDD）是 Unix 平台下基于 GDB 的一款图形化调试工具，虽然用起来没 OllyDbg 等方便，但毕竟比 gdb 的纯命令行好得多，至少不需要频繁敲 disas 命令来查看反汇编代码，而且还可方便设置多个 display 来查看寄存器值，也不需要频繁敲 info reg o0 之类的命令。因此凑合着用它了。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;对调试汇编代码比较有用的 gdb 命令有以下：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;b main&lt;br&gt;b *0x27aaa&lt;br&gt;在某命名函数处或在某地址处设置断点。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;bt&lt;br&gt;查看此刻的调用堆栈。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;info reg o0&lt;br&gt;查看某寄存器值，如果只敲 info reg，则打印所有寄存器值。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;stepi/nexti&lt;br&gt;单步执行机器代码。注意不是 step/next，后者是单步执行源码。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;disable 1&lt;br&gt;禁用第一个断点。如只敲 disable 则禁用所有断点。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;enable 1&lt;br&gt;使能第一个断点。如只敲 enable 则使能所有断点。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;x /8xb 0x45678&lt;br&gt;从地址 0x45678 处开始查看 8 个 byte，以 HEx 的方式显示。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;x /s $o1&lt;br&gt;查看 o1 寄存器内容所指内存处的内容，以字符串方式显示。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;set $o1=0&lt;br&gt;将寄存器 o1 值设置为 0。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;r、c、k&lt;br&gt;这三个命令的功能分别为：运行被调试程序、中断后继续运行、中止被调试程序。&lt;/font&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=Arial size=2&gt;三、FlexLM 解密过程&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;用 IDA 反汇编看，程序一开始经过必要的初始化后，便会调用 l_init 开始 FlexLM 的检查，此间暴露了 Vendor Name、Feature 名，版本号等（见下）。然后程序逐步会进入核心的 lc_checkout 函数。如需要爆破，则修改 lc_checkout 的返回值即可，但俺的目的是想获得真正能用的 License，因此继续。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;.text:00017194 loc_17194: ! &amp;lt;suspicious&amp;gt;               ! CODE XREF: main+5DC&amp;#24;j&lt;br&gt;.text:00017194                 sethi   %hi(0x50800), %i0 ! &amp;lt;suspicious&amp;gt;&lt;br&gt;.text:00017198                 sethi   %hi(0x50800), %i1 ! &amp;lt;suspicious&amp;gt;&lt;br&gt;.text:0001719C                 st      %g2, [prog]&lt;br&gt;.text:000171A0                 mov     1, %g2&lt;br&gt;.text:000171A4                 sethi   %hi(0x4C000), %o0 ! &amp;lt;suspicious&amp;gt;&lt;br&gt;.text:000171A8                 st      %g2, [num_lic]&lt;br&gt;.text:000171AC                 set     lm_job, %l5&lt;br&gt;.text:000171B0                 set     s_Lic_sunw, %o1 ! &amp;quot;lic.SUNW&amp;quot;&lt;br&gt;.text:000171B8                 add     %l5, 4, %o2     ! int&lt;br&gt;.text:000171BC                 ld      [lm_job], %o0   ! int&lt;br&gt;.text:000171C0                 call    lc_init&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;lc_init 函数调用前需要传入 Vendor Name，此处得知是“lic.SUNW”。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;.text:0001732C loc_1732C:                              ! CODE XREF: main+714&amp;#24;j&lt;br&gt;.text:0001732C                                         ! main:loc_172D0&amp;#24;j&lt;br&gt;.text:0001732C                 st      %g2, [%sp+0xB10+var_AB4]&lt;br&gt;.text:00017330                 set     s_Stack_1, %o1  ! &amp;quot;STACK&amp;quot;&lt;br&gt;.text:00017338                 sethi   %hi(sccsid_4), %g2&lt;br&gt;.text:0001733C                 ld      [%l5], %o0&lt;br&gt;.text:00017340                 set     s_8_0, %o2      ! &amp;quot;8.0&amp;quot;&lt;br&gt;.text:00017344                 sethi   %hi(0x4C000), %g2 ! &amp;lt;suspicious&amp;gt;&lt;br&gt;.text:00017348                 ld      [%i1+0x13C], %o3&lt;br&gt;.text:0001734C                 set     code, %o5&lt;br&gt;.text:00017350                 call    lc_checkout&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;Feature 名是“STACK”，版本号（Version Number）是“8.0”。&lt;br&gt;然后可根据看到的 Feature 名、Vendor Name 和 Version Number 构造了一个就一行的 license.dat 文件：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;FEATURE STACK lic.SUNW 8.0 1-jan-0000 uncounted 1234567890ABCDEF HOSTID=ANY&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;构造此 license 文件的目的是构造针对此 Feature 的无时间限制、无数量限制、无运行主机限制的完全 license。当然，其中签名部分是瞎凑的，目的是为了跟踪到和正确签名的比对的部分。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;构造完文件后，将环境变量 LM_LICENSE_FILE 指向此文件 /tmp/license.dat&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;export LM_LICENSE_FILE=/tmp/license.dat&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;根据网上翻译的 FlexLM 9.2 的解密文章，lc_checkout 内部最终会调用 l_string_key 函数来进行比较，但资料里说 9.2 版的 FlexLM SDK 已经在此函数上做了部分手脚，会用伪造的签名来蒙混跟踪者，只有无签名返回时才是正确的场合。根据此点，咱在 l_string_key 函数中还真绕了不少弯路（弯路部分略）。后来跟踪的事实证明，FlexLM 4.1 版本中还没有此狡猾的机制，而是非常直白的调用 l_string_key，并在 l_crypt_private 返回时便能生成正确的明文签名。获得 l_crypt_private 的结果后，上级的 good_lic_key 再调用 strncmp 进行比较，从而得到比对的结果，这就是 FlexLM 4.1 的核心对比。&lt;br&gt;FlexLM 9.2 或者其他版本估计是察觉到了此问题，便将比对隐藏起来了，但仍然保留着 strncmp 来混淆视听。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;中断在 l_string_key 中时，用bt查看调用堆栈得到以下信息：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;#0  0x000277d8 in l_string_key ()&lt;br&gt;#1  0x00027770 in l_crypt_private ()&lt;br&gt;#2  0x0001ce98 in good_lic_key ()&lt;br&gt;#3  0x0001c4a4 in lm_start_real ()&lt;br&gt;#4  0x0001b61c in lc_checkout ()&lt;br&gt;#5  0x00017358 in main ()&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;在此，无需刻舟求剑地在 l_string_key 处直接下断以企图获取正确签名值，而应该返回至 l_crypt_private 被调用的地方：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;.text:0001CE80                 mov     %o0, %o2&lt;br&gt;.text:0001CE84                 add     %fp, var_20, %o3&lt;br&gt;.text:0001CE88                 ld      [%fp+arg_48], %o1&lt;br&gt;.text:0001CE8C                 ld      [%fp+arg_44], %o0&lt;br&gt;.text:0001CE90                 call    l_crypt_private&lt;br&gt;.text:0001CE94                 nop&lt;br&gt;.text:0001CE94&lt;br&gt;.text:0001CE98                 st      %o0, [%fp+s1]&lt;br&gt;.text:0001CE9C                 ld      [%fp+arg_48], %o1&lt;br&gt;.text:0001CEA0                 inc     0x48, %o1       ! s2&lt;br&gt;.text:0001CEA4                 ld      [%fp+s1], %o0   ! s1&lt;br&gt;.text:0001CEA8                 mov     0x14, %o2       ! n&lt;br&gt;.text:0001CEAC                 call    _strncmp&lt;br&gt;.text:0001CEB0                 nop&lt;br&gt;.text:0001CEB0&lt;br&gt;.text:0001CEB4                 tst     %o0&lt;br&gt;.text:0001CEB8                 bne     loc_1CEC8&lt;br&gt;.text:0001CEBC                 nop&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;这里，strncmp 的两个参数 s1 和 s2，一个是我们输入的错误 license，一个是它计算出来的正确 license。在 0001CEAC 处中断时用 GDB 的 x /s $o0 和 x /s $o1 命令可看到正确的签名值 8503E11B1950D9B5AA12。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;最后，无限制的 License 文件生成如下：&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;FEATURE STACK lic.SUNW 8.0 1-jan-0000 uncounted 8503E11B1950D9B5AA12 HOSTID=ANY&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;保存此文件后退出 DDD，再次运行程序，一切 OK。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face=Arial size=2&gt;四、总结&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=Arial size=2&gt;FlexLM 4.1 的保护方式很薄弱，估计其低版本如 2.6 等也一样。如果 Unix 平台下编译的程序符号表还在的话，简直就是中门大开引狼入室。破解者无需 FlexLM 4.1 的 SDK，也不用寻找什么 seed 什么 key，找到 Feature、版本号和 Vendor Name 后就能在程序中直接跟踪到明文的签名，所以本文写到后来也就变成了初级水平了。&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+Sparc%e5%b9%b3%e5%8f%b0%e4%b8%8b%e7%9a%84FlexLM+4.1%e6%98%8e%e6%96%87%e6%af%94%e5%af%b9%e7%a0%b4%e8%a7%a3&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1792.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1792.entry</guid><pubDate>Wed, 26 Mar 2008 15:10:27 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1792/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1792.entry#comment</wfw:comment><dcterms:modified>2008-03-26T15:16:58Z</dcterms:modified></item><item><title>新春对诗</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1755.entry</link><description>&lt;font size=3&gt;连绵阴雪终放晴，怀揣忐忑我出门，有惊无险终上车，和谐社会和谐行。&lt;br&gt;小样扛包往西行，不怕天灾不怕冰，只盼火车不晚点，一路开走就不停。&lt;br&gt;车轮滚滚终开启，正点发车不足喜，若能来日准时到，烧香三炷拜总理。&lt;br&gt;恭送科长返家乡，一路山高水又长，若能安然准时到，来日熊猫大烧香。&lt;br&gt;熊猫烧香固然强，我的本领胜一场，周老能拍华南虎，我让老虎端着香。&lt;br&gt;老虎端香不足奇，众人和谐泰山移，保您拽得像城管，一天能叫三回鸡。&lt;br&gt;一梦关河度如飞，穿山越岭鬼难追，晨来欲知君到处，究竟准点还是亏？&lt;br&gt;醒来车停小站处，打听已离鹰潭多。今天定在宜春落，乐观估计还不错。&lt;br&gt;千里返家百里停，近乡咫尺不得行。若有拔山填海力，扛着火车跑宜春。&lt;br&gt;白雪皑皑铺大地，本是美景今不是，如牛列车终又启，爬行十分却再停。&lt;br&gt;冬雪片片扑面寒，稳健列车开漫长，要是实在不想等，跳下车去继续扛。&lt;br&gt;绵延铁轨本是路，如今改做停车铺，我若能扛火车走，翻山越岭加速度。&lt;br&gt;工会貌似又发卡，补贴俺们做牛马，为何还没轮到咱？难道认为俺太傻？&lt;br&gt;做牛马不如卖傻，发张卡不够塞牙，要轮你飞黄腾达，踢阿朗高谋他家。&lt;br&gt;斯马特卡又一千，店子虽多不沾边，可惜打折不提现，否则现金多安全。&lt;br&gt;有卡总比没卡好，消费多了省汉堡，细水长流一核算，天上人间都能搞。&lt;br&gt;吃饱盒饭虽不饥，车停路顿人更疲，此刻已知乡路近，安心打盹可将息。&lt;br&gt;天寒地冻车行阻，吃东喝西价钱高，幸有先知早预见，袋里藏着小面包。&lt;br&gt;行百里者半九十，为了目的要坚持。没准高速已封路，去坐汽车会更迟。&lt;br&gt;千难万险终抵达，艰辛不比长征差。晚点七时不用怕，坚持最后必到家。&lt;br&gt;长路漫漫见曙光，熬到白头终返乡。春来苦尽得硕果，家在村头大树旁。&lt;br&gt;蜜酒淡泊色正娇，半斤下肚腹中烧。已知难躲席后吐，抓杯再向众人邀。&lt;br&gt;曲径入山天如洗，青竹听雨夜已高。掐指酒程到何日，还剩六天继续熬。&lt;br&gt;冰雪无情人有情，一声祝福传真心，新春快乐人如意，来年更上楼一层。&lt;/font&gt;
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e6%96%b0%e6%98%a5%e5%af%b9%e8%af%97&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1755.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1755.entry</guid><pubDate>Wed, 13 Feb 2008 15:08:36 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1755/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1755.entry#comment</wfw:comment><dcterms:modified>2008-02-13T15:08:36Z</dcterms:modified></item><item><title>雪灾随写</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1752.entry</link><description>&lt;div&gt;&lt;font size=3&gt;　　暴雪，红警。&lt;br&gt;　　凌晨五点。&lt;br&gt;　　推开水汽迷蒙的窗户，黑暗中昏黄的路灯光混合着一整夜飘落的雪花，铺在厚厚堆积的雪层上，呈现出一种奇怪的亮色。寒意夹杂着冰雪的气味扑面而来。远处偶然汽车驶过，轮胎使劲挤压着路上冻了一夜的冰渣，黎明的静谧里，只有这种声音能穿破夜色刺入耳朵。&lt;br&gt;　　黎明的晨曦是冰冷的，连夜的雪花刚降临尘世，似乎保持着处子般超然的纯洁，然而楼下的路上和草坪上很早就留下了显眼的脚印。莫道君行早，寒气也挡不住早起的人，于是雪中的这份平静被悄然打破了，路面的雪踏上去滋滋轻响，像微风扫过树梢。路灯光影中，能看见飘扬的雪花在伞上盘旋。&lt;br&gt;　　大路旁的花坛后面，是没有竣工的工地。路边的夹竹桃树冠盖着白色的盖头，身后深绿色的楼房在黎明灯光中显得相当颓废。大路对面慢腾腾开来了去地铁站的公交车，车里开了空调，湿热一片，爬上车便觉得眼前雾气蒙蒙。待驶到目的地下车时，那种重逢的寒意猛地驱散了车上的湿热，让人忍不住打了个寒噤。&lt;br&gt;　　忽然想起两句诗，而且习惯性地改了几个字：&lt;br&gt;　　“楼盘夜雪瓜州渡，铁路秋风大伞关。”&lt;br&gt;　　可惜很多字仍不贴切。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;　　地铁没有受暴雪影响，哗啦啦地照样准时，车厢里还没几个人。在来回的车里坐着，在站台上坐着，寒意又来了。地下看不到地面上的天色，不过从人流能看出天已经放亮。努力将自己塞在人堆里，倒是没有刚才的寒意了。&lt;br&gt;　　重新回到地面时天已大亮，地面上也看不见高架路上的车流，但地面拥挤的公交车说明现在已是高峰期。人行天桥的台阶和桥面上铺了麻袋和塑料垫，人都在小心翼翼地走着。雪已经停了，冷风偶尔吹下头顶高架桥边花坛枝叶上的点点雪粉，在天桥上头飞舞。&lt;br&gt;　　封路，封桥，断电，断水，晚点，停开，灾难降临时才意识到离身边的生活是多么的近。天桥上看下去，路上的汽车挤做一堆，等车的人群望眼欲穿也等不来自己的车。路边绿地里树丛的细细枝条上附着一丝丝的雪，光秃秃的“穷”枝玉叶，还算一景。&lt;br&gt;　　大自然已开始反扑。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e9%9b%aa%e7%81%be%e9%9a%8f%e5%86%99&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1752.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1752.entry</guid><pubDate>Thu, 31 Jan 2008 10:59:19 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1752/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1752.entry#comment</wfw:comment><dcterms:modified>2008-01-31T11:00:16Z</dcterms:modified></item><item><title>《杜鹃山》选段之《家住安源》赚钱版</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1740.entry</link><description>&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;『主任』&lt;br&gt;【反二黄中板】&lt;br&gt;　　家住安源萍水头，&lt;br&gt;　　和谐号，不停留。&lt;br&gt;　　背井离乡向闹市，&lt;br&gt;　　挨踢苦力做马牛。&lt;br&gt;【西皮慢板】&lt;br&gt;　　汗水流尽刚糊口，&lt;br&gt;　　不知冬夏与春秋。&lt;br&gt;　　万恶资本家将我们宰，&lt;br&gt;　　吐不尽满腹苦水，&lt;br&gt;　　一腔冤仇。&lt;br&gt;【西皮二六】&lt;br&gt;　　还有那无能的工会，&lt;br&gt;　　只知窝里斗、拉山头。&lt;br&gt;　　一点不把工人的福利谋。&lt;br&gt;【西皮摇板】&lt;br&gt;　　到如今，逃的逃，溜的溜。&lt;br&gt;　　苦中苦，愁中愁。&lt;br&gt;　　连眼见煮熟的一等奖，&lt;br&gt;　　也能变成鸭子开步走。&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;【白】如何是好，如何是好？&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;br&gt;『鉴定科长』【白】反了！&lt;br&gt;『后勤处长』【白】反了！！&lt;br&gt;『金融司长』【白】反了！！！&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;『主任』&lt;br&gt;【二黄摇板】&lt;br&gt;　　人在屋檐下，&lt;br&gt;　　不得不低头。&lt;br&gt;　　呜呼呀……&lt;br&gt;【原板】&lt;br&gt;　　只盼那红线再破盘，&lt;br&gt;　　只盼那革命再重来，&lt;br&gt;【西皮流水】&lt;br&gt;　　一朝暴动风雷骤，&lt;br&gt;　　明灯照亮咱心头。&lt;br&gt;　　才懂得，翻身必须钱在手，&lt;br&gt;　　不赚大钱誓不休！&lt;br&gt;　　不赚大钱哪……&lt;br&gt;　　誓不休！&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e3%80%8a%e6%9d%9c%e9%b9%83%e5%b1%b1%e3%80%8b%e9%80%89%e6%ae%b5%e4%b9%8b%e3%80%8a%e5%ae%b6%e4%bd%8f%e5%ae%89%e6%ba%90%e3%80%8b%e8%b5%9a%e9%92%b1%e7%89%88&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1740.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1740.entry</guid><pubDate>Fri, 28 Dec 2007 08:05:41 GMT</pubDate><slash:comments>7</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1740/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1740.entry#comment</wfw:comment><dcterms:modified>2007-12-28T08:05:41Z</dcterms:modified></item><item><title>出国三十二之新鲜回锅的海龟</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1703.entry</link><description>&lt;font size=3&gt;　　尽管悄无声息地又飞越了南斯拉夫匈牙利亚得里亚海直扑亚平宁半岛，尽管经过一两个小时的短暂飞行后在下午时分抵达了阳光灿烂的米兰，尽管机舱内基本不停地充斥着小孩撕心裂肺的哭闹，尽管机窗外还能看见高耸入云的阿尔卑斯山，可是罗马尼亚，还是要彻底的别了。蒂米什瓦拉小城在我们离开那日幸运地下起了雪，久违的雪雨将萧瑟秋意一扫而光，住宅楼前还有串串饱满的紫葡萄挂在雪下显示着它的生命力，远处乡村公墓的成群十字架在雪的笼罩下气氛愈发厚重，凝滞得让四处拍照的人不敢推开铁的墓门。小城东北角的机场也笼罩在雪下，不过这一层小雪没给热气腾腾的候机室带来那怕一丁点寒意，也丝毫不影响小客机的腾空起飞。小飞机一路上越过云层时不时地看见地面上起伏的雪山。亚平宁半岛境内，远处和飞机平行的天边横着一道钢铁般的灰线，愈飞愈近时才看清楚是覆盖着皑皑白雪的连绵山脉，主峰几乎和飞机的飞行高度相当。等到降落在米兰后，原本在机窗外看得很清楚的峰顶却远远地退让在天边的雾色中，几乎看不见轮廓。——阿尔卑斯山以这种方式初见，也算是稀奇了。&lt;br&gt;　　飞机颠簸时忽然惦念着行李箱中的酒是否会撞破，于是便也想起出发前一天去Recas酒庄买酒的情形了。Recas酒庄在蒂米什瓦拉东面几十公里的乡村小山坡上，很久以前听到流言说里头的年份酒比较便宜，便想前往见识，偏偏交通困难难以成行。当时听说它附近整片山坡全是葡萄园，无法想像这么一大片葡萄园枝头挂满果实拼命采摘送到酒厂酿酒的繁忙样子。及最后一工作日终于成行时却已是初冬，山坡上只剩枯枯的葡萄藤趴在光秃秃的架子上，一片空旷和萧索。幸亏酒庄还是酒庄，亮丽地立在山上迎接买酒的客人。然而陈列室里的扑满灰尘的年份酒却较贵，七三年的干白二百五十LEI，九二年的也要一百五，比先前听到的七十年代四五十LEI一瓶的谣言价贵了许多。后来下去地下的酒窖参观了一回，锁着的铁门内的铁架子上塞着许多黑色玻璃瓶，也看不出哪些是哪些年的。最后买了点儿普通酒，算不白来一回。&lt;br&gt;　　离开的前夜，我们在蒂米什瓦拉西南角旅馆附近的中国餐馆聚餐了最后一顿，还颇为难得地喝了一盆萝卜肉丸子汤和一碟炸水饺。吃完后在领队的“胁迫”下大伙把剩下的LEI全交出去付了帐，反正我们几个也提前计算好了只剩下这么些LEI，别人如何盈亏就不得而知了。然而纪念性质的货币还是得留的，像成套的硬币，象征性的小面额纸币，零碎的分币，大部分都携带了一点准备带出境，我还准备给同事们一人发一个一BAN的铜币留作纪念，比较的好玩。入境时倒是没怎么检查，虽然出境以及过米兰时还被勒令解开皮带接受安检，可我腰上挂的钥匙忘记取了，直挺挺地过去也不见它响，足见其可靠性。浦东机场入境时则更松，随便填个单子，签证一盖章，挑到行李推着就出去了，它抽检行李也没抽到我们，还白担心了一场。&lt;br&gt;　　飞机上的十个小时依然难熬，然而迎着朝阳飞行，天亮的很快，舷窗外一小片天空由暗黑变暗蓝变紫红变深红变淡红，不过还没等看见太阳升起，天就全亮了。天亮时基本已差不多由蒙古飞入了中国领空，剩下一个半小时就在干等降落。机舱内的大屏幕上显示飞机逐渐越过北京、济南、长江、南京、无锡、苏州，终于进入了上海浦东并开始调头，飞机高度在下降，舷窗外景色也逐渐清晰。中国，中国，中国，我们回来了！&lt;/font&gt;
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%b8%89%e5%8d%81%e4%ba%8c%e4%b9%8b%e6%96%b0%e9%b2%9c%e5%9b%9e%e9%94%85%e7%9a%84%e6%b5%b7%e9%be%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><category>罗马尼亚游记</category><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1703.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1703.entry</guid><pubDate>Thu, 22 Nov 2007 12:11:28 GMT</pubDate><slash:comments>10</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1703/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1703.entry#comment</wfw:comment><dcterms:modified>2007-11-22T12:24:08Z</dcterms:modified></item><item><title>出国三十之神秘的礼物</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1699.entry</link><description>&lt;div&gt;&lt;/div&gt;&lt;font size=3&gt;　　培训即将结束，这天一大早小头头米霍拉就神神秘秘地说要给我们特殊的礼物，然而某位贪婪成性的女同事可耻滴强占了俺们两位男士的名额，一人独捞了几大袋礼物洋洋得意地自我秀，俺便也懒得管它是啥东西。下午开了个小总结会，然后米霍拉就请俺们几个一块去他们办公室，说还又给我们每人准备了一件礼物，拿来一看，是个狭长的画框，正面各种植物叶片标本镶嵌成一棵树的模样，塑封在黑木框中，背面是组里十来个罗马尼亚同事的签名，不错，很有纪念意义。Ady这小子还歪歪扭扭地签了个中文名“艾迪”，迪字一捺还带曲里拐弯的，真牛啊。期间Zeno来问如何写他的中文名，我记得以前送给他们的明信片上都写了，便让他找出来，指着“吉诺”俩字说就是这个。Nico顺便也问明信片上写的她看不懂的“来自中国的祝福”是啥意思，我说就是Best Wishes From China，她恍然大悟，说当时Zeno给她解释的是Would you marry me？哈哈笑死我了。&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%b8%89%e5%8d%81%e4%b9%8b%e7%a5%9e%e7%a7%98%e7%9a%84%e7%a4%bc%e7%89%a9&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><category>罗马尼亚游记</category><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1699.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1699.entry</guid><pubDate>Thu, 15 Nov 2007 20:56:02 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1699/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1699.entry#comment</wfw:comment><dcterms:modified>2007-11-15T20:56:02Z</dcterms:modified></item><item><title>出国二十九之异国的生日</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1692.entry</link><description>&lt;div&gt;&lt;font size=3&gt;　　以前压根就没出过国，现在出来了一趟，时间段居然挺巧合地覆盖到了生日。在异国他乡过生日是啥感觉？没啥感觉。前日是小头头米霍拉的生日，在公司里大搞了一场，买了很多零食饮料请大家挤去办公室里吃喝，我这种没钱的平民自认没法比，就低调一点了。——正好今天也是个好日子，CnPack 专家包日用户数刚突破了五千，都是俺带来的好运啊。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%ba%8c%e5%8d%81%e4%b9%9d%e4%b9%8b%e5%bc%82%e5%9b%bd%e7%9a%84%e7%94%9f%e6%97%a5&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><category>罗马尼亚游记</category><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1692.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1692.entry</guid><pubDate>Wed, 31 Oct 2007 17:54:14 GMT</pubDate><slash:comments>4</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1692/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1692.entry#comment</wfw:comment><dcterms:modified>2007-12-17T14:27:07Z</dcterms:modified></item><item><title>出国二十八之下厨</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1672.entry</link><description>&lt;div&gt;&lt;font size=3&gt;　　本着友好交流互助互惠的国际主义原则，周六又伙同罗马尼亚同事撮了一顿，但这回却不是下馆子，而是去同事家里进行厨艺交流，说白了就是各显神通做一堆作品然后拼盘抢吃。戴安娜贡献出了她家的别墅做战场，周五晚下班后大家去超市买了堆原材料，周六下午便到公司集合坐同事的车一块儿下乡。戴安娜的别墅在城北大卖场西北方向的乡下，车经过苍凉的八九革命烈士公墓后城市的氛围渐渐变淡，路边一开始满是红黄的充满秋意的树木，不多久出了城，看见了一片片田野和别墅。同事说这边开车的话交通也算方便，因此不少城里人都住这儿，已经不算乡下了。不过眼看起来，除了一堆堆小屋成排外，别的地方和乡下倒也没啥区别，挺干净。&lt;br&gt;　　戴安娜的别墅就在半小时车程不到的郊外，一条小路拐进去，两边都是尖顶小屋。下车就能闻见乡村熟悉的什么什么味，很是觉得稀奇。这儿说是别墅，其实也只是个清淡而不豪华的农家小楼。尖顶的二层小屋，没多少装修，进屋后看见屋内的管道都像临时拉架的。屋内挺大，开放式，厨房就在接近后门口的地方，和客厅合为一体没有隔开。厅内挨着厨房的地方挂了一排白色剪纸艺术作品，居然是……骷髅！推开后门出去，走下木头搭的台阶，就看见一片上百平米的小草地，铁丝网和邻居的花园隔开，种着苹果树葡萄藤和其他花草，还搭着木头小屋和狗狗宿舍。这样的后花园对于孩子们来说，真是幼时的天堂啊！戴安娜的三四个小孩在院子里跌跌撞撞打打闹闹，小头头米霍拉的儿子小胖也在这儿充孩子王，角落里一辆婴儿车上躺着个呼呼大睡的小娃娃，衔着个奶嘴，一脸恬静加呆滞。狗舍里的黑牧羊犬和隔壁硕大的褐色黑贝犬都挺安静地走来走去摇着尾巴，只有隔壁另外一只小不拉几的狗在反复狂叫，像韩国佬似的。&lt;br&gt;　　四五点钟开始了做菜。我们中方四人组此次备战的作品是卤鸡翅、酱汁排骨、葱爆土豆丝、青椒肉丝、蘑菇肉片和西红柿炒蛋，以领队为第一号种子选手，小邹同学为替补，其余打杂。这边炒菜只有平底锅，菜刀也不顺手，其中艰难险阻可想而知。十来位罗马尼亚选手却只有两件大作品，一是主食：一大锅玉米糊糊拌酸奶酪，一是甜品：一大锅蛋挞。蛋挞的做法比较新奇，十个鸡蛋打在锅中，专业地拿了一电动双臂打蛋器嗡嗡地搅拌；与此同时另外一个锅里把白糖熔成糖浆，摇晃锅子让糖浆冷后均匀附在锅壁上，然后倒入蛋液，加上其他莫名其妙的东西，就放烤箱里任其膨胀。烤箱上面是灶头，等我们菜做的差不多时，蛋挞也就烤好了。另外一样玉米糊糊更是古怪，他们叫这东西叫“Mamaliga”（音），英语中估计没对应词汇，就是一盆玉米面熬的糊糊，熬好后拼命搅拌，再加上许多从奶酪块上刮下来的碎末，一堆黄白之物混一大锅，就算主食了。后来吃了几口，酸中带腥的味道实在怪，俺们吃不下。&lt;br&gt;　　领队的作品卤鸡翅和酱汁排骨都费了很长的时间来煮，后来加上煮米饭，折腾到八点才开席。紫菜蛋花汤也没时间做了，只能带领罗马尼亚外国友人干吃紫菜片。我们还带了老干妈辣酱，他们好奇的尝了尝，大多都辣得拼命吸气。后来席上呈现了两极分化的趋势，谁做的菜谁吃，我们吃不下酸腥的玉米糊糊，他们也吃不下太辣的东西，幸好我们的作品鸡翅排骨西红柿炒蛋等还比较受欢迎。总的来说这次的中外餐饮文化的融合还是以半失败告终，毕竟我们没中餐馆的厨师专业，就像刀功，餐馆的是土豆丝，俺们的像薯条，虽然有菜刀不顺手的客观原因在里面，但在客户眼里，差距还是明摆着的。&lt;br&gt;　　吃完坐同事的车回旅馆睡觉。继续熬日子数指头等回国。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%ba%8c%e5%8d%81%e5%85%ab%e4%b9%8b%e4%b8%8b%e5%8e%a8&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><category>罗马尼亚游记</category><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1672.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1672.entry</guid><pubDate>Tue, 30 Oct 2007 08:56:56 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1672/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1672.entry#comment</wfw:comment><dcterms:modified>2007-10-30T08:56:56Z</dcterms:modified></item><item><title>出国二十七之TNND</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1665.entry</link><description>&lt;font size=3&gt;　　平日里晚饭后从中餐馆回来时经过一片小区，常有半大不小的孩子在路边的黑暗里喊“啊你牙多。”他奶奶的小p孩，把俺们当日本鬼子了？信不信把你多出来的牙给打掉？&lt;/font&gt;
&lt;div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%ba%8c%e5%8d%81%e4%b8%83%e4%b9%8bTNND&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=shanzhashu.spaces.live.com&amp;amp;GT1=shanzhashu"&gt;</description><category>罗马尼亚游记</category><comments>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1665.entry#comment</comments><guid isPermaLink="true">http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1665.entry</guid><pubDate>Wed, 24 Oct 2007 16:57:41 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://shanzhashu.spaces.live.com/blog/cns!C8DBC87879BAFB7F!1665/comments/feed.rss</wfw:commentRss><wfw:comment>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1665.entry#comment</wfw:comment><dcterms:modified>2007-12-17T14:27:47Z</dcterms:modified></item><item><title>出国二十六之跨国FB</title><link>http://shanzhashu.spaces.live.com/Blog/cns!C8DBC87879BAFB7F!1661.entry</link><description>&lt;div&gt;&lt;font size=3&gt;　　这两个月来，我们分散到不同的罗马尼亚人的项目组里活动，各个组也基本都有个Team Building，大多是他们组里的本地同事请组里来的几个中国人吃罗马尼亚大餐。中国人讲究礼尚往来，因此便提前准备好了这周末请这群相关的罗马尼亚同事来中国餐馆尝尝真正的中国餐。当初还怕人数太多，因此只请其余同事所在组的罗马尼亚同事，我们所在组的则没请，原因有二，一是我们组罗马尼亚人太多，十三个，全来必然完蛋。二也是主要的原因，俺们不欠他们啥，所以不请。——倘若有人疑惑说，上回你们也一起撮过一顿，为啥说不欠？答：因为别的组请吃饭都是组里公费买单，而俺们那次则是AA，而且还没提前说明，等于自己掏三五十LEI吃了顿和食堂差不多的午饭，亏大了。&lt;br&gt;　　周三周四最后的统计结果是加上我们十六七个，基本上是那家中国餐馆的上限了。周五晚我们先过去扛了箱啤酒，六点半的时候罗马尼亚同事们陆续到了。这边老板说罗马尼亚人吃饭一般都会迟到一个小时的，看来这回还好。四张桌子拼成个大方桌，正好坐下所有人。菜是提前点好的家常菜，不少都是双份（怕桌子大夹不到），包括青椒肉丝酸辣土豆丝油炒茄子白切肘子酱烧带鱼鱿鱼排骨西红柿炒蛋猪肉粉丝等等等等。上菜前先教他们练用筷子，一夹一夹的，都挺生疏。&lt;br&gt;　　开了红酒和啤酒开始喝，菜也陆续上了，罗马尼亚同事一边艰难地吃，一边赞不绝口，说以前别的地方吃到的不是这个味。俺们就说这才是真正的中国菜，中国人来了才有的吃，否则就是欧化了拿来哄本地人的，还把我们平时吃的菜单拿出来给他们瞧，老板也用中式罗语和他们哇啦哇啦地介绍。后来附近阿拉德的中国餐馆老板也来了，他外语只懂意大利语，于是也哇啦哇啦，我们听天书似的。领队拍胸脯保证以后去他那儿能打折，也不晓得那老板骨子里同意不。&lt;br&gt;　　店里也因为大概有我们一大桌的缘故，生意居然比平时好许多，几乎都坐满了。八点左右又来了一位，却是我们这批罗马尼亚同事当中的，迟到一个半小时，真是强人。幸亏菜还没全吃完，于是再上一副餐具现教用筷子吃。有位罗马尼亚女同事的啤酒酒量很大，一直坚持到席末。&lt;br&gt;　　吃喝侃到接近十点，第一批女同事要回去了，于是告别；十点半多后第二批女同事男同事也要回去了，再告别；快十一点时我们也全散了。事后一算帐菜总共一百欧整，其余的啤酒小费算起来几十个LEI，差不多在预算内，不超标。总的来说今天的吃喝不失为一次物美价廉物超所值的弘扬中华文化的大好机会。值十七大召开之际，这样的跨国联谊FB活动和谐发展与时俱进，很好地体现了典型的国际主义精神，实为我等楷模，所以——下周再吃一回。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-3973361826460402817&amp;page=RSS%3a+%e5%87%ba%e5%9b%bd%e4%ba%8c%e5%8d%81%e5%85%ad%e4%b9%8b%e