| P-CODE算法分析----幼儿学语言 |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:49:42
|
| 用WKT载入程序,打开form manager.找到regist窗体,有两个COMMAND控件,我们在第二个 COMMAND2处BPX(第一个是取机器码的),F5运行,注册,先生成机器码,在注册框中输入78787878-1234,点确定,程序很 快就断了下来在00441744处. 441744: 04 FLdRfVar local_00C0 441747: 04 FLdRfVar local_00BC 44174A: 05 ImpAdLdRf: 442974 44174D: 24 NewIfNullPr 4097b8 441750: 0d VCallHresult CVBApplication::get_App 441755: 08 FLdPr local_00BC 441758: 0d VCallHresult CVBApplication::geBC$?餵 44175D: 6c ILdRf local_00C0 441760: 1b LitStr: \ldk.pas 441763: 2a ConcatStr 441764: 31 FStStr local_00B4 441767: 2f FFree1Str local_00C0 44176A: 1a FFree1Ad local_00BC 44176D: 27 LitVar_Missing 441770: 0b ImpAdCallI2 rtcFreeFile 441775: 70 FStI2 local_0090 441778: 35 FFree1Var local_00E0 44177B: f5 LitI4: 0x0 0 (....) 441780: 04 FLdRfVar local_00B4 441783: 4d CVarRef: ( local_00D0 ) 4008 441788: 0b ImpAdCallI2 rtcDir 44178D: 31 FStStr local_0094 441790: 6c ILdRf local_0094 441793: f5 LitI4: 0x0 0 (....) 441798: Lead0/3d NeStr 用F8跟踪,可发现它先是把输入的假注册码写入到ldk.pas中,继续F8. 44189E: 6b FLdI2 local_0090 4418A1: Lead2/3d Close 4418A3: f5 LitI4: 0x1 1 (....) 4418A8: 6c ILdRf local_0094 4418AB: 1b LitStr: - 字符"-" 4418AE: f5 LitI4: 0x0 0 (....) 4418B3: Lead3/fd FnInStr4 ,在输入的注册码中查找"-",如果没有,呵呵. 4418B5: f5 LitI4: 0x0 0 (....) 4418BA: c7 EqI4 4418BB: 1c BranchF: 4418C6 ,有"-"则到4418C6 4418BE: f4 LitI2_Byte: 0x0 0 (.) 4418C0: 7a ImpAdStI2 local_param_000F 4418C3: 1e Branch: 44198e ,如果假注册码中没有"-",GAME OVER,注册失败 4418C6: f5 LitI4: 0x1 1 (....) 4418CB: 6c ILdRf local_0094 4418CE: 1b LitStr: - 4418D1: f5 LitI4: 0x0 0 (....) 4418D6: Lead3/fd FnInStr4 4418D8: e4 CI2I4 4418D9: 70 FStI2 local_008E 4418DC: 6b FLdI2 local_008E 4418DF: f4 LitI2_Byte: 0x1 1 (.) 4418E1: ad SubI2 4418E2: e7 CI4UI1 4418E3: 04 FLdRfVar local_0094 4418E6: 4d CVarRef: ( local_00D0 ) 4008 4418EB: [1] [2] [3] [4] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: ScreensaverShot2.0算法分析 下一篇文章: 静态分析技术W32Dasm简介 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |