能力值:
( LV3,RANK:30 )
|
-
-
2 楼
我都忘了 SE 怎样用了 (本来就没用过几次)
|
能力值:
( LV7,RANK:100 )
|
-
-
3 楼
谢谢,辛苦了,前几天soficeice界面也老是出不来
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
softice没人用了吗,
我昨天拿几个小程序调试了一下还行
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
不是没人用,是不会用,OD 就如 WINDOWS ,SE 就如 Linux 下的命令行,搞怕了很多人
并且 OD 插件丰富,除非是调试驱动,不然没人会跟自己过不去的,你说调试小程序可以,真的
要干活起来,R3 中 OD 自然是首选
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
简单归纳一下softice的使用吧
准备工作:打开symbol Loader,在Exports选项里面添加dll文件,
为什么要这样呢,比如你要在AppendMenuA下断点,AppendMenuA是在user32.dll里面的,那么你要在Exports选项里面添加user32.dll,然后softice会加载user32.dll的所有函数,否则bpx AppendMenuA会提示找不到的。 又如果要在MFC的函数下断点,一般要加载mfcxx.dll(xx是版本,一般是mfc42.dll)。
下面开始了,可以参考这个例子http://www.pediy.com/tutorial/chap3/Chap3-4.htm
1.打开要调试的程序,Ctrl+D调出softice,如果softice太小可以把字体改大一点set font 3。
2.然后当然是下断点了,有IO断点等等一些命令,按F1可以看帮助,
一般还是用bpx,这个跟OD是一样的,大家应该知道,比如bpx GetDlgItemText,
bl可以查看断点列表,就是break list,显示的断点有编号
bd可以禁用断点,就是break disable,后面接编号,比如bd 3(禁用编号为3的断点),bd *(禁用所有断点)
be可以启用断点,就是break enable,用法跟bd一样
bc可以清除断点,就是break clear,用法也跟bd一样
bpe编辑断点,就是break point edit,用法也跟bd一样
这个bpx跟OD最大的区别就是这个是断在系统模块里面的,所以要按 F12或F11返回程序,而且不管被调试的程序做了什么样的变形系统模块总是没变的,调用api的时候总是能断下来的,所以可以带壳调试。
3.然后是常用控制方法,
下好断点后只要程序调用了被断的api这时softice就会自己跳出来,
F8 是单步步入,相当于OD的F7,
F10是单步步过,相当于OD的F8,
F12是从call中返回,
F7是运行到光标处,相当于OD的F4,
那么OD里面还有个F9是运行程序,softice里面是什么呢?
没有!
softice的界面出来的时候除了softice以外所有程序都暂停运行,连系统时钟都不动了,再次按下Ctrl+D或者F5隐藏softice的时候其它程序又可以运行了,所以要运行程序的时候按下Ctrl+D就可以了,遇到断点softice自己会弹出来。
如果只是想看一下被调试程序的界面,不想让它运行,可以按F4隐藏softice的界面,再次按F4又出来了。
4.其它命令
D 显示内存地址内容,就是data的首字母缩写,比如d eax(显示eax的地址的内容),d 12fe23(显示0x0012fe23处的内容)
E 修改内存单元,就是edit的首字母缩写,跟D用法一样
R 修改寄存器的值,就是register的首字母缩写,比如recx(修改ecx的值),r fl(修改标志位)
如果玩过dos汇编的话这几个命令应该很熟,cmd里面的debug就是这样的。
修改寄存器其实用鼠标操作也很方便,直接用鼠标点要编辑的寄存器然后编辑就可以了,
比如我们要修改一个jz的跳转,可以修改0标志位,直接点击标志位Z,亮了zf就是1,再点一下zf就是0。
? 计算表达式的值,相当于OD的calc
有了这些基本上可以使用softice了,其它的命令可以自己去查,softice我也是第一次用。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
你大概没用过linux吧,其实linux并不复杂的,linux以前只有字符模式,dos也不一样吗,现在windows是图形界面了,linux也是图形界面了,只是很多教程还是老的吧。
linux下杀进程不一定要kill,也可以点左上角打开系统监视器的,
linux下打开网络连接不一定要ifconfig eth0 up,也可以点右上角的连接网络图标,
linux下解压缩不一定要tar -zxvf xxx.gz,也可以双击打开选择解压路径的,
linux下安装程序不一定要rpm -ivh xxx.rpm,也可以双击的,
linux下编辑文本不一定要vim,也可以双击打开的,默认的编辑器比windows记事本好多了,
linux下修改文件属性不一定要chmod,也可以点右键选择属性的,
linux下新建文件不一定要touch,也可以点右键新建的。
反正基本的功能用不用敲命令的,当然有的功能是必须要命令的,比如ping、netstat,但是windows下不也是一样要cmd命令才能ping么,还有再高级点的比如端口扫描那当然要用nc命令,linux自带,windows下还要专门下载个nc.exe。
那就看你用linux做什么了,如果是编程或者弄服务器的话命令自然少不了,windows下也是一样经常用cmd的。
现在linux一般用作服务器比较多,所以也经常用命令。
普通功能话比如看电影什么的,知道安装程序就够了atp install xxx(程序名)或者yum install xxx。
至于linux下的配置文件,基本上是每个程序目录下有一个纯文本的配置文件,windows的配置文件是统一在注册表里面了,windows的注册表是相当复杂的,即使你把自己电脑的注册表每一个键值都弄明白了,可能在某处新建一个键值有会有你想不到的效果。
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
大侠猜对了,我曾经用过几天,后来不习惯 ( 被 WINDOWS 毒害太深了 )
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
额,就说这么多吧,不讨论了,我会的东西也不多,哪敢称大侠,可能口气有点大,我表示抱歉
|
能力值:
( LV13,RANK:290 )
|
-
-
10 楼
以前学驱动的时候用过一两次,,搞这个东西太费时间了,,郁闷
现在用WINDBG,,,,,,就是要双机调试,速度也有点慢,哎呀,,,习惯了就好
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢LZ,安装softICE花了我半天时间。终于弄好了,现在又看到你贴的教程,非常有帮助。
|
|
|