Programming 版 (精华区)
发信人: Mice (鼠儿), 信区: Programming
标 题: 加密&解密----(23)
发信站: 紫丁香 (Sun Sep 14 16:03:45 1997)
现在正式进入主题: 如何破解密码
先讲破解的流程: 1. 把工具准备好
2. 把判断的地方找出来
3. 把所要改的机器码抄下来 用PCTOOLS 改
^^^^^^ 这东东是啥懂吧?
一般来说,破密码大概都分为三种(笔者是这样分的),一种是直接把问密码的那个CALL
杀掉! 不然就是把一些跳跃指令改成无动作( NOP )或是无条件跳跃 !再不然就是用
move 的指令将正确的密码搬入它要捡查的暂存区( 通常是 AX )
^^ 这又可分为 AL 和 AH
现在我先把一般较常见的判断密码是否正确的格式写出来
CMP AX,?? ;这行是说比较AX 与 ?? 的关希
JZ CS:IP ;这行是指若上面的条件成立则跳到 CS:IP 这地方
而常用的改法则如下面所示( 列出後以後就不在赘述了! 忘了请翻前面)
把 JZ 改为 JMP ( 74 -> EB )
把 JNZ 改为 NOP ( 75 -> 90 )
把 CALL 改为 NOP ( XX XX XX XX XX -> 90 90 90 90 90 )
CALL占几个BYTE 就要填几个 90
先说说第一种直接把CALL杀掉的方法吧!一个程式总是在主程式下有无数的CALL要怎样
来辨别哪一个才是问密码的CALL 呢?
--
我是一只好老鼠!
※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: 202.118.226.75]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.495毫秒