⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000005.htm

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -