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毫秒