王朝网络
分享
 
 
 

SoftICE技巧九则

王朝other·作者佚名  2006-04-20
宽屏版  字体: |||超大  

SoftICE技巧九则

ShackSing

sharksing@163.com

SoftICE是由美国 Compuware (NUMEGA)公司出品的系统级的程序调试工具, 原本单独发行,但自 4.0.5 版本后不再单独发行,而是包含在 DriverStudio 和 SoftICE Driver Suite 之中,最新版本为 4.3.0。它出色的性能不仅得到专业用户的喜爱,似我等菜鸟更是深深为其强大的功能所折服!在此以我使用 SoftICE 过程中积累的一点小小技巧形成涂鸦之作奉献给大家,希望你能喜欢。(注意:以Windows XP、DriverStudio 3.0为讲解平台,在其他版本中执行可能会有所不同)

1、配置:在 DriverStudio Configuration 中的 SoftICE Initialization General 项中,Initialization 的字符串长度可能有一定限制,不能超过128个字符(含空格),例如输入:

“Faults off;set font 2;lines 40;width 80;wd.1 1;dd;dex 1 @esp;wd.2 1;dd;dex 2 esp->4;wd.3 2;dd;dex 3 ss:esp;wd.0 2;wc 18;code on;x;”

在 window系统目录下system32\driver\winice.dat 文件中则保存为:

INIT=“Faults off;set font 2;lines 40;width 80;wd.1 1;dd;dex 1 @esp;wd.2 1;dd;dex 2 esp->4;wd.3 2;dd;dex 3 ss:esp;wd.0 2;wc 18;code o”

显然不能正确的保存,启动 SoftICE 时将出现错误指令 “code o”,须输入“X”才能退出。

解决办法很简单,直接在 winice.dat 文件中输入两条 INIT 指令即可:

INIT=“Faults off;set font 2;lines 40;width 80;wd.1 1;dd;dex 1 @esp;wd.2 1;dd;dex 2 esp->4;wd.3 2;dd;dex 3 ss:esp;wd.0 2;wc 18;”

INIT=“code on;x;”

2、宏命令:设置宏命令时,最好直接在 winice.dat 文件中输入,当在 SoftICE Initialization Micro Definitions 中输入时,例如输入:

"bpx GetDlgItemTextA DO \"D esp->c\";bpx GetWindowTextA DO \"D esp->8\""

被保存为:

"bpx GetDlgItemTextA DO \D esp->c\;bpx GetWindowTextA DO \D esp->8\"

可见有时DriverStudio Configuration 程序无法正确保存宏命令中的引号而导致宏命令失败。但是如果用“记事本”直接在 winice.dat 中输入宏命令,就可以正确保存并正确装载。

3、点号(.)有妙用:一般情况下,.命令可以使代码窗口回复显示当前执行的代码,当调试源代码时,“.n”可以回到第 n 行代码,例如执行“u .n”命令,代码窗将显示第 n 行源代码。

4、用好下划线(_):设置断点时,在参数前加“_”可以代表参数当前的数值,从而得到动态条件断点,例如:

bpx eip if eax==_eax ;表示当寄存器 eax 的值再次等于现在的值时中断;

bpx MessageBoxA if pid==_pid ;表示该断点仅仅对当前的进程(process)有效。

5、运用命令修改符 .t .p :命令修改符.t、.p 可以加在 bpm、bpx 等命令后面,分别表示断点仅仅对当前线程、进程有效,例如:

bpx.t GetWindowTextA

6、利用 SoftICE 内置函数 bpindex 设置一次性断点:bpindex 代表引起当前中断的断点序号,利用这个函数可以设置动态的或一次性的断点,例如:

bpint 3 do "bc bpindex" 这个断点可以用来中断在程序入口处之后再删除这个断点,以防某些 int 3 的反调试方法。

7、ctrl+L 速清屏:当新的线程创建时,常常使 SoftICE 窗口出现窗口碎片而覆盖了 SoftICE 的窗口字符,这时同时按下 ctrl 和 L 键即可快速清屏。

8、让 SoftICE 窗口与全屏显示自由切换:一般情况下,DriverStudio Configuration SoftICE Video 设置为Universal Video Driver 时,SoftICE 将显示在窗口中,设置为 Full screen VGA mode 时将全屏显示,两种显示改变之前要重启动计算机。其实设置为Universal Video Driver 时,也可以实现全屏显示,方法为:

启动命令行方式 cmd.com 并激活为当前窗口,同时按 Alt 和 Enter 键,将启动到全屏 VGA 模式,此时按 Ctrl + D 即可启动到 VGA 全屏方式,该方式比设置为 Full screen VGA mode 的方式更好,可以通过 cmd.com 来设置字体、字符大小等,简直酷呆了!

9、用 G 命令代替 BPX、BPM 的部分功能,可以对付部分设有断点清除的反调试程序:用 BPM、BPX 设断时,反调试程序会清除断点使得断点失效,而改为 G 命令可以避免这个问题,例如:

bpx GetWindowTextA 改为 G GetWindowTextA

bpmb 0040AAAA X 改为 G 0040AAAA

SoftICE 的功能太强大了,行文至此,无法继续,且作抛砖引玉之举,希望各位大虾不吝赐教,各位菜鸟也勿忘多多探讨

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有