应该是寄存器里的数据未释放吧 ? 这种方法也可以用来过保护。但我却没出错过。 表示为 : 点 “ 注册 ” 就 “ 胜利 ” 这种方式还可以过某种或多种保护。那次的 Crak Me 用一般的方法总是不成功 , 而介绍也说有保护 . 而这种方法却成功 ) 不过感觉顺序有可能会出错。
对比输入码 加密 后的值与正确值以后 , 一般的暴力 破解 . 进行强制跳转 , 验证机制 :
假定是按下注册按钮之后 注册信息的验证从这里开始 )
CA LL XXXX0001 这里取注册码长度 )
JEN 不等于软件正确的注册码长度则跳向注册失败 )
CA LL XXXX0002 取软件的机器码 — 很多软件的注册方式都采取一机一码的形式 )
CA LL XXXX0003 看机器码是否为空 )
CA LL XXXX0004 其他
CA LL XXXX0005 其他
CA LL XXXX0006 算法 CA LL
AL 标志位比较 ) TEST AL.
JNE 关键跳转 如果 AL 标志位为 0 则跳转 )
CA LL XXXX0007 若上方不跳 则弹出注册成功 )
CA LL XXXX0008 向系统写入注册信息 )
RETN
CA LL XXXX0009 软件注册失败 )
RETN
验证机制来自于《飘云阁 论坛 07 版 破解 基础教程》
第一个 CA LL 就跳 , 而我想到 . 也就是不用取得输入值 , 也不用 加密 , 也不用对比 , 直接跳到胜利 ” 验证机制为:
假定是按下注册按钮之后 注册信息的验证从这里开始 )
JMP XXXX0007 这里直接跳转到则弹出注册胜利处 )
JEN 不等于软件正确的注册码长度则跳向注册失败 )
CA LL XXXX0002 取软件的机器码 — 很多软件的注册方式都采取一机一码的形式 )
CA LL XXXX0003 看机器码是否为空 )
CA LL XXXX0004 其他
CA LL XXXX0005 其他
CA LL XXXX0006 算法 CA LL
AL 标志位比较 ) TEST AL.
JNE 关键跳转 如果 AL 标志位为 0 则跳转 )
CA LL XXXX0007 若上方不跳 则弹出注册成功 )
CA LL XXXX0008 向系统写入注册信息 )
RETN
CA LL XXXX0009 软件注册失败 )
RETN