Monthly Archives: May 2009

读 <>

中国哲学,智慧,当推孙子,老子。赞成! 第一讲 孙子是部什么样的书宋代的《武经七书》:《孙子》,《吴子》,《司马法》, 《唐太宗李卫公问对》,《尉缭子》, 《黄石公三略》, 《六韬》,军法生兵法。军法的基本内容:军队的征集,军队的组建,军队的管理,军队的后勤,军队的训练兵书种类:权谋形势,阴阳技巧 第二讲  怎样读孙子传统军人读战例,文人讲考据,分析徐寅生用毛主席思想打乒乓球,牛! 中国的军事传统:重谋轻技,战略守势日本人怎么读:俞大猷的老师赵本学《孙子校解引类》民国年间怎么读:蒋方震《孙子新译,陆达杰《孙子兵法书目汇编》,钱基博《增订新站史例 孙子章句训义》中国人民的好朋友:亚历山大●冯●法肯豪森将军银雀山汉简:一九七二年在山东临沂银雀山两座西汉武帝初年墓葬中发现。 内篇-权谋组古代战争的步骤:庙算–野战–攻城第三讲 计第一《孙子》的结构:1.先秦古书多拼凑而成。2.分为内外两篇。内容重要的为内篇,讲理论,思想。其他为外篇,杂篇,讲应用和技术。 一定要先计而后战。计什么?五事:道,天,地,将,法。 七计:主孰有道?将孰有能?天地孰得?法令孰行?兵众孰强?士卒孰练?赏罚孰明?如何知胜:多算胜少算。 战争论和孙子的比较战争在孙子眼里,有未战,战,已战,而战争论看重战东西方战争思维模式的差别:先礼后兵,还是先兵后礼?西方人重视孙子,正是由于发现暴力无限最终只会导致同归于尽,也是由于美国两次败给毛泽东.战争论:1 论战争的性质2 战争理论,兵法3 战略要素:精神,物质,数学,地理,统计4 战术5 军队6 防御7 进攻8 计划 第四讲 作战第二打仗费钱,耗时,要速战速决,要抢,抢粮,抢人。《墨子-杂守》每顿饭从1/2斗到1/6斗石:30公斤。钟:量制,从小到大依次为:升,斗,釜,钟,有的4进制。有的5进制。4进制便于分割 第五讲 谋攻第三清代, 府厅州县,有1700多个,个个有城,解放后全部扒光. 公元前215年,秦始皇在<<碣石刻辞>>中说,他的伟大功绩之一是”堕坏城郭”. 伟人学历史学得真叫结实,焚书坑儒,统一文字,堕坏城郭,逐一实践,佩服.有关古代城市: 古代的 方多少里,指每边长多少里, 1里=300步 1步=6尺 1尺=23.1厘米,  1里= 415.8米城墙高度用雉来计量. 雉:版筑的单位,长1丈,高2尺, 最少3雉为6.93米,最高有9雉,20.79米古代人口: 汉平帝二年(公园2年) … Continue reading

Posted in 乱翻书 | Leave a comment

把玩 PowerShellPlus (3)

PowerShellPlus说到底是为了给PowerShell的使用提供方便PowerShell的使用大致两项1.使用内置的命令(Cmdlets),包括单独用和在Script中用2.自己写Cmdlets 学习PowerShell的命令的思路和学习其他工具(如WinDbg)一样, 一般是:1.这个工具能完成哪些工作,大致有哪几类命令.2.完成一项具体的工作,该用什么命令,该用什么参数. PowerShellPlus 对此很有帮助.点击Quick Click, PowerShellPlus会在命令行输入命令和合适的参数, 点击 ,打开文档,可以边看边实验,点击文档中的链接 会向命令行中输入命令, 凡是执行过的命令都会被记录在History窗口中, 双击就可以再次执行.

Posted in Programming | Leave a comment

历史的困惑

      小时候,我喜欢听评书,看小人书,评书和小人书告诉我谁是好人,谁是坏人.十几年的正统教育中,历史课索然无味,检验学习成果的考试实际是在考验记忆力,记住历史事件发生的日期,记住课本上对历史事件的评判就是学习的全部内容,这样的学习实在让人提不起兴趣, 10年前的一部河殇,彻底颠覆了我已有的那点对历史的认识,大学散漫的4年,图书馆给了我有了自由阅读的空间,桀骜不逊的书生李敖和用英文写中国历史的国民党老兵黄仁宇走入我的视野,他们带来了不同于正统教育的视角,和同学讨论历史人物的是非功过,地位排名,也拓宽了我的视野,更让我意识到自己的无知,再次回过头去学习,探究,印证历史,成了对自己的一种补偿.       然而第一手的历史资料,读起来是十分痛苦的, 所幸的是媒体的发达,让众多民间学者有了自由发表见解的天地,<<百家讲坛>>,<<凤凰大视野>>里传出了对历史的现代解读, 热播的电视连续剧挑起了老百姓对历史的兴趣, 网络上一部又一部另类鲜活的历史著作在读者的追捧下横空出世,<<青铜时代的恐龙战争>><<华丽血时代>><<明朝那些事>><<战天京>>,它们一次又一次冲击着, 刷新着历史事件和历史人物在我心目中的形象. 文革,原来不是4人帮那么简单,3年大饥荒原来并不是自然灾害 ,大跃进和反右对中国造成的伤害原来并不能那么轻描淡写 ,韩战原来是在和联合国维和部队叫板,抗战原来不是只有平型关大捷,百团大战和王二小,国民党统治下的中华也并非一穷二白,五四运动原来不仅仅是一场打砸抢烧,义和团原来是看到洋人就杀,看到教堂就烧, 太平天国的残暴原来令人发指…… 这些中国近代史上的大事件的本来面目竟这般出人意料, 众多影响中国历史的人物,也远不能用革命和反革命来概况其一生. 这些100多年前的历史就这么扑朔迷离, 那两三千年前发生的事情到底可信度有多高?史书中一行行冰冷的文字,背后到底隐藏着怎样的真相? 历史真的就成了一个任人打扮的小姑娘?谁能指望用这样的历史来知兴替? 在上当受骗的感觉驱使下.我不自觉的走向了另一个极端,另一种狭隘. 愤怒过后,终于明白,在一个神奇的国度,很多东西都有自己的特色,历史是这样,明天的历史,今天的新闻也是这样.我们不能抱怨听到的总是假话,而要学会从假话里听出真话. 但是我还是相信随着大家智商的普遍提高, 假的东西会越来越容易分辨.      别人怎么说是一方面,更重要的是自己怎么听,较之耳朵和眼睛, 大脑更重要. 但历史就在那里,怎么读,怎么思考,怎么用是个人的事情.曾经读到一个中国孩子在美国学校的经历 一文,主要讲美国人是怎么看待和学习历史的,很受启发. 可惜,我没有受到这样的教育,我的孩子恐怕也无缘这样的教育.  真要从中获益,首先要走出看客的思维模式,不能满足于猎得轶事几则,获取谈资若干,历史没有什么终极答案,也难有终极真相,就算是今天发生的新闻,以当事人立场的不同,恐怕也难有定论. 以某在斯的态度,设身处地,和历史人物对话,才能从历史中有所收获. 同样的话,其实曾国藩早就说过:”读史之法,莫妙于设身处地,每看一处,如我便与当时之人,酬酢笑语于其间。不必人人皆能记也。但记一人,则恍如接其人。不必事事皆能记也,但记一事,则恍如亲其事.”替古人担忧,常被用来嗤笑书呆子,其实可笑的是书呆子而不是古人担忧本身,后赵石勒听说郦食其建议刘邦分封六国后裔时大惊失色,可没人回去嘲笑他.    我们到底从哪里来,会到哪里去,这些问题的答案不在书本上,而且仁者见仁.智者见智.

Posted in 乱翻书 | Leave a comment

把玩 PowerShellPlus (2)

PowerShellPlus的注册信息保存在什么地方呢?显示注册信息有两个地方,第一个是程序启动时(Idera.Tools.Core.Form_Welcome)调用栈为0012ee38 0191d3ce Idera.Tools.Core.LicenseUI.StartupLicenseCheck()0012ee58 0191d12e PSP.PSPlusApp.kjxYMeZu25(Boolean)0012ee88 0191ca4f PSP.PSPlusApp..ctor() 0:006> !u 01e0002cNormal JIT generated codeIdera.Tools.Core.LicenseUI.StartupLicenseCheck()Begin 0192d248, size 23d0192d248 55              push    ebp0192d249 8bec            mov     ebp,esp0192d24b 57              push    edi0192d24c 56              push    esi0192d24d 53              push    ebx0192d24e 83ec0c          sub     esp,0Ch0192d251 33d2            xor     edx,edx0192d253 8955e8          mov     dword … Continue reading

Posted in Debug | 1 Comment

使用WinDBG/SOS 调试.NET 程序的一些收获

1.如果用WinDBG直接打开一个EXE文件,WinDBG会在程序入口中断,此时.NET相关的dll还没加载,也就无法使用SOS,因此要使用0:000> sxe ld:mscorwks在mscorwks.dll载入时中断,为加载SOS制造机会加载SOS后就可以使用0:000> !bpmd CrackMe.exe NETApp.exe NETApp.Program.Main在测试程序的入口加断点 2.常用断点0:000> sxe ld:mscorjit.dll0:000> sxe ld:mscorwks0:000> bp mscorwks!Assembly::GetEntryPoint0:000> bp mscorwks!_CorExeMain        //此时,Managed环境尚未形成,sos命令不能工作 3.Managed断点有两种加法!bpmd <模块名> <方法名>0:000> !bpmd CrackMe.exe NETApp.exe NETApp.Program.Main也可以使用MethodDesc0:000> !bpmd –md <MethodDesc> 4.根据函数名称得到MethodDesc0:000> !name2ee CrackMe.exe NETApp.exe NETApp.Program.Main 5. 探索一个Object的常用手法!dumpheap –type <object类型> 这条命令会列出Heap中个类型的所有实例:0:000> !dumpheap -type Idera.Tools.Core.Form_AddLicenseAddress       … Continue reading

Posted in Debug | Leave a comment

把玩 PowerShellPlus

运行PowerShellPlus,出现  如果输错序列号会显示error messagebox  加断点 bp MessageBoxW输入序列号,OK 断点起作用, 执行kb, 看到堆栈中显示0012e458 7b7bf97b 00000000 00000000 00000000 System_Windows_Forms_ni+0x7efcf8说明这是一个.NET程序.尝试用.NET Relector打开.看到错误Invalid number of data directories in NT header. 执行 !dumpdomain,显示已加载的.NET dll, 从结果中知道,PowerShellPlus调用了Microsoft.PowerShell.Commands.Management.dll|Microsoft.PowerShell.Security.dllMicrosoft.PowerShell.Commands.Utility.dllMicrosoft.PowerShell.ConsoleHost.dll有关License的Assembly为 C:\Program Files\Idera\PowerShellPlus\License4Net.dll 执行 !clrstack,显示 0:000> !clrstackOS Thread Id: 0x280c (0)ESP EIP0012e368 7e466534 [NDirectMethodFrameStandalone: 0012e368] System.Windows.Forms.SafeNativeMethods.MessageBox(System.Runtime.InteropServices.HandleRef, … Continue reading

Posted in Debug | Leave a comment

WinDbg / SOS Cheat Sheet (ZT)

http://geekswithblogs.net/.NETonMyMind/archive/2006/03/14/72262.aspx Starting, Attaching, Executing and Exiting   Start -> All Programs -> Debugging Tools for Windows -> WinDbg F6 attach to process Ctrl-Break interrupt debugee .detach detach from a process g continue debugee execution q exit WinDbg   Getting Help … Continue reading

Posted in Debug | Leave a comment

太有才了

Posted in 摘抄转贴 | Leave a comment

同一个用户请求的Session.SessionID 会变化吗?

生成一个包含一个button的页面,在page的Init事件中打印Session.SessionID.public void Page_Init(object sender, System.EventArgs e){   System.Diagnostics.Debug.WriteLine(Session.SessionID);}当page第一次被请求时,SessionID为kaqhqh55zermh045l2sw0055当点击button,引起page postback时,SessionID为ghec0y45ejc3wc450cbtkx55 两次的SessionID不同.这是为什么? 按照MSDN的说法http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspxThe SessionID property is used to uniquely identify a browser with session data on the server. The SessionID value is randomly generated by ASP.NET and stored in a non-expiring session cookie … Continue reading

Posted in Web Development | Leave a comment

ASP.NET Login 的3种实现

用于实验的web site中,只有一个default page, 其余的都是login page 在web.config中指定login页面,并限制所有的匿名用户访问受保护的页面,在credentials 中指定用户名和口令<system.web>    <compilation debug="true"/>    <authentication mode="Forms">        <forms loginUrl="LoginAPI.aspx">            <credentials passwordFormat="Clear">                <user name="hh" password="1"/>            </credentials>        </forms>    </authentication>    <authorization>        <deny users="?"/>    </authorization>    <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="3DES" decryption="3DES"/></system.web> 1. 最原始的实现,生成一个名为".ASPXAUTH”cookie,这正是ASP.NET authentication机制的本质<forms loginUrl="LoginCookie.aspx">protected void Button_Login_Click(object sender, EventArgs e){    string … Continue reading

Posted in Web Development | Leave a comment