Linux 版 (精华区)

发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标  题: Linux下破解实战(1)
发信站: 紫 丁 香 (Mon Oct 12 00:28:01 1998), 转信



发信人: I007 (阿健), 信区: Linux
标  题: Linux下破解实战(1)
发信站: BBS 水木清华站 (Wed Sep 30 22:13:49 1998) m2mWWW-POST0m0m


其实自已也只破解过一个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  (_|  6m. - ' - . _ . - ' - . _ . - ' - .7m |_)  O             
       |(_~|^~~|                                  |~~^|~_)|                     
       TT/_ T"T         网络连着你我她             T"T _\HH                     
3m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^7m  
 

m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: sun.swjtu.edu.cn] m

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.223毫秒