BBS水木清华站∶精华区

发信人: I007 (阿健), 信区: Linux 
标  题: Linux下破解实战(1) 
发信站: BBS 水木清华站 (Wed Sep 30 22:13:49 1998) WWW-POST 
 
 
其实自已也只破解过一个Linux的程序: MTV Player 1.0.6.6, 所以 
这只是个人的一点经验,欢迎大家交流, 我的email是: jesse@263.net 
 
那就言归正传罗: 
 
    linux的破解(i386)相对于其它unix下的破解自然要容易一些,因为 
大家对于8086系列的结构以及汇编多少都有些了解。不过对于第一次做 
linux下的破解,还是让人感到富有挑战而又令人兴奋的. 
    要动手破解,除了破解本身的乐趣外,动力多半还是来自被破解对象 
--应用程序的诱惑, 我就是被mtv player的功能给吸引了,又不满它每次 
只放一小会就静音了, 于是乎我抄起了家伙---gdb 
 
    老实说,原来没怎么用过gdb, 经常是通过xwpe间接的用,于是当时 
就抱了抱佛脚。 
     gdb主要是针对源程序的调试除错的,对汇编级的支持的并不好(最 
不好的就是没有类似debug中的a命令,没法汇编),对于破解,gdb常用的命令 
有: 
     info target 显示当前目标的一些信息,包括一些分段的信息 
     info functions 可以列出所有定义的函数名和数据类型,相当有用, 
有的程序检查系列号和License会在一个名称明确的函数里 
     info functions REGEXP 可以列出匹配正规表达表的函数 
     info registers 列出所有寄存器(除浮点)的值, 这个跟踪时自然 
常用到 
     info all-registers 列出所有寄存器(包括浮点)的值 
     info registers REGNAME... 列出所指出的所有寄存器的值 
     info break 列出所有的断点和观察点 
     break *ADDR  在地址ADDR处设置断点 
     break FUNCTION 在函数FUNCTION处设置断点 
     clear FUNCTION 删除在函数FUNCTION入口处的断点 
     delete BNUMS 删除BNUMS指定序点的断点或观察点 
     backtrace(bt) 显示堆栈中的信息,也很有用,可以在调试中搞清楚当前 
的调用关系 
     x/NFU ADDR 这个也是常用,N:重复数, F:显示格式,s字串,i机器码, 
缺省是x十六进制数, U:单元大小,b字节,h半字(两字节),w字(四字节,缺省) 
ADDR为地址,如 x/3uh 0x54320  
     set $REGNAME=VALUE  设定寄存器REGNAME的值为VALUE,还可以是 
set $sp += 4这样的让sp加4 
     set {TYPE}ADDR=VALUE 将地址ADDR的TYPE类型的值设为VALUE,例 
如:set {int}0x83040=4  
     nexti(ni) 执行一行机器码,如果是函数调用,则执行到函数返回 
     stepi(si) 执行一行机器码,如果是函数调用,则进入函数 
     disassemble FUNCTION 反汇编FUNCTION函数 
     disassemble ADDR1 ADDR2 反汇编ADDR1和ADDR2间的机器码 
     disassemble ADDR 反汇编ADDR所在的函数 
     run(r)  开始执行程序到第一个断点或程序结束 
     continue(c) 继续程序的执行到下一断点或程序结束 
     continue(c) IGNORE-COUNT 继续程序的执行并忽略掉IGNORE-COUNT个断 
点,在第IGNORE-COUNT+1个断点停下或程序结束 
      
(未完待续) 
-- 
                                                                                 
        ~0  (_|  . - ' - . _ . - ' - . _ . - ' - . |_)  O              
       |(_~|^~~|                                  |~~^|~_)|                      
       TT/_ T"T         网络连着你我她             T"T _\HH                      
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   
  
 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: sun.swjtu.edu.cn]  

BBS水木清华站∶精华区