反汇编问题

图上注释了两个关键点,可我不懂他是怎么知道这两个是关键点的。有人说是根据查看是哪条指令跳到“wrongserial,tryagain”这条字串对应的指令来决定的。可我是新... 图上注释了两个关键点,可我不懂他是怎么知道这两个是关键点的。有人说是根据查看是哪条指令跳到“wrong serial,try again”这条字串对应的指令来决定的。可我是新手,不懂怎么看。 展开
 我来答
prawnliu
2010-09-11 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2074
采纳率:50%
帮助的人:3710万
展开全部
你看看那两个标记的关键点
都是调用函数的CALL指令
这条CALL指令结束后紧接着就是跳转指令JNZ
即,结果不为零则跳转

你看两个跳转指向的目标:
00440F72
00440F8C
这两个地址都是提示密码错误信息的地方
所以一旦跳到这里,你的破解就失败了~~

如果是爆破,很简单,将那两个JNZ全都NOP掉就万事大吉了~~
这样没有跳转,就直接执行那个破解成功的提示了~~

如果算法破解,就必须研究这两个CALL里面的算法了~~
由于CALL后面紧跟JNZ
所以CALL里面一定是一个比对的运算,经过一个特定预算,之后比对结果,如果比对结果一致,则返回相等(值为0)
那么之后的JNZ则不跳转,此时破解成功~~
就这样~~
这些东西都明码显示出来说明是一个比较简单的CM程序~~
不难理解~多练习练习就好~~
匿名用户
2010-09-10
展开全部
这就象你想从 A 地 到 D地 去 ,但是中间有2个路卡 B 和 C

A 地----> B 路卡 ---->C 路卡----> D 地

如果过你想从 B C 正确经过,必须有通行证,也就是正确的注册码了 。

如果通行证不准确, B 和 C,路卡就象铁轨变道一样,把你引导错误地点 E 地去, E 就是“wrong serial,try again”

如果你想正确经过 B 和 C ,通常可以有2种方式:

1,有正确通行证 ,想得到正确通行证, 就要分析 B C 路卡是怎么验证通行证的 ,分析出验证过程,自己造正确的通行证通过,就可以KeyGen,做出注册机,想怎么过怎么过。

2, B C 路卡,不是没正确通行证不让我过嘛,我把路卡砸了,也就是把2个jnz 直接NOP掉,也就是爆破,直接通过到D了~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式