老文章档案 · 2003 年

谈谈softice中d的用法

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-08 · 作者:henryw 人气: · 出处:赢政天下收集整理)

谈谈softice中d的用法

所有的cracker都使用过softice中d的功能,比如d eax来看eax指向的内存中是什么。

不过,有些人可能不知道d的功能远不止此。

如果需要看看eax指向的内存中其地址指向的内存地址你会怎么做?比如eax=493576,你d 493576,发现那里的内存是1A22D23,于是你再d 1A22D23,发现里面放的是你的注册名,那么,如何一次性地指向1A22D23呢?

无论在softice或者trw2000中,都可以使用d *eax这个命令,注意前面的*,就是它,使得softice一下子就知道你需要指向eax内存处指向的地方。

此外,对于浮点运算很多cracker很头疼。下面我举个例子如何使用d来简化我们的工作。

让我们来看看Trojan Remover 4.2.9吧。在其注册中有这么一段:

016F:004B0531 LEA EAX,[EBP-18]

016F:004B0534 MOV EDI,EBX

016F:004B0536 MOV EDX,[EBP-04]

016F:004B0539 MOV DL,[EDX+EDI-01] <------ 序列号的第一个字符

016F:004B053D CALL `VCL30!System.@LStrFromChar@001FB870`

016F:004B0542 MOV EAX,[EBP-18]

016F:004B0545 CALL `VCL30!SysUtils.StrToInt@0F6FDFF6`

016F:004B054A CMP EAX,BYTE +02

016F:004B054D JNL 004B0593 <------ >=2

016F:004B054F LEA EAX,[EBP-18] <------ <2

016F:004B0552 MOV EDX,[EBP-04]

016F:004B0555 MOV DL,[EDX+EDI-01]

016F:004B0559 CALL `VCL30!System.@LStrFromChar@001FB870`

016F:004B055E MOV EAX,[EBP-18]

016F:004B0561 CALL `VCL30!SysUtils.StrToInt@0F6FDFF6`

016F:004B0566 ADD EAX,BYTE +03

016F:004B0569 JNO 004B0570

016F:004B056B CALL `VCL30!System.@IntOver@51F89FF7`

016F:004B0570 IMUL EAX,EAX,BYTE +51 <------ x51H 放到eax里

016F:004B0573 JNO 004B057A

016F:004B0575 CALL `VCL30!System.@IntOver@51F89FF7`

016F:004B057A MOV EDI,EAX

016F:004B057C LEA EDX,[EBP-18]

016F:004B057F MOV EAX,EDI

016F:004B0581 CALL `VCL30!SysUtils.IntToStr@0F6FDFF6`

016F:004B0586 MOV EDX,[EBP-18]

016F:004B0589 LEA EAX,[EBP-08]

016F:004B058C CALL `VCL30!System.@LStrCat@51F89FF7`

016F:004B0591 JMP SHORT 004B05CB

016F:004B0593 LEA EAX,[EBP-18]

016F:004B0596 MOV EDX,[EBP-04]

016F:004B0599 MOV DL,[EDX+EDI-01]

016F:004B059D CALL `VCL30!System.@LStrFromChar@001FB870`

016F:004B05A2 MOV EAX,[EBP-18]

016F:004B05A5 CALL `VCL30!SysUtils.StrToInt@0F6FDFF6`

016F:004B05AA IMUL EAX,EAX,BYTE +2F

016F:004B05AD JNO 004B05B4

016F:004B05AF CALL `VCL30!System.@IntOver@51F89FF7`

016F:004B05B4 MOV EDI,EAX

016F:004B05B6 LEA EDX,[EBP-18]

016F:004B05B9 MOV EAX,EDI

016F:004B05BB CALL `VCL30!SysUtils.IntToStr@0F6FDFF6`

016F:004B05C0 MOV EDX,[EBP-18]

016F:004B05C3 LEA EAX,[EBP-08]

016F:004B05C6 CALL `VCL30!System.@LStrCat@51F89FF7`

016F:004B05CB INC EBX

016F:004B05CC DEC ESI

016F:004B05CD JNZ NEAR 004B0531

016F:004B05D3 MOV EAX,[EBP-08]

016F:004B05D6 CALL `VCL30!SysUtils.StrToFloat@044134E0`

016F:004B05DB FSTP TWORD [EBP-12] <---------- 记着打开softice的浮点窗口

016F:004B05DE WAIT

016F:004B05DF FLD TWORD [EBP-12]

016F:004B05E2 FLD TWORD [004B0674]

016F:004B05E8 FMULP ST1

016F:004B05EA FLD TWORD [004B0680]

016F:004B05F0 FSUBP ST1

016F:004B05F2 FSTP TWORD [EBP-12]

016F:004B05F5 WAIT

016F:004B05F6 JMP SHORT 004B0612

016F:004B05F8 MOV EAX,[EBP-04]

016F:004B05FB CALL `VCL30!SysUtils.StrToInt@0F6FDFF6`

016F:004B0600 MOV [EBP-1C],EAX

我们在4B05DB处打开了浮点窗口(用wf命令),这条命令会将浮点栈ST0的数字保存到了EBP-12处,先记下浮点栈里显示的数字,然后F8单步到4B05DE,我们先用d ebp-12看看,看见一堆的byte,相信我们中很多人记不住浮点格式吧,就算记住了你会去计算它一下吗?显然不会!那怎么办?盲人摸象?不!我们来试试dt ebp-12。看到什么了?就是刚才从浮点栈里保存去的数字!

这是怎么一回事?看看这一段解释(摘自Softice4命令中文解说,太平洋软件资讯站):

命令: D

作用: 显示某内存区域的内容

语法: D[size] [address [l length]]

用法:

size: B 字节; W 字; D 双字; S 短实型; L 长实型;

T 10b长实型

D 命令在所指定的内存区域开始显示指定长度的内存

单元内容. 格式将根据size来变.对于双字类型, 将分

两种情况:

1.如果指定地址为32位的段, 格式为32bytes的16进制值(即8位16进制值)

2.如果指定地址为16位的段, 则格式为16:16指针的形式(即4:4位16进制值)

如果没有指定地址,D 命令将继上次命令后的地址开始显示.如果数据窗口可见,则结果在数据窗口中显示,否则显示在命令窗口中.但若用了参数L 和长度, 则结果不论数据窗口可见还是不可见,都显示在命令窗口中.

点评: 无

有些意思吧?

(出处:赢政天下收集整理)

相关文章:

·将VMware与SoftICE基于网络的远程调试功能相结合

·用SOFTICE破解Audio Companion Ver1.13手记

·使SoftICE在程序入口处停下来的一个办法

·SoftICE for WIN95中文命令解说(一)

·SoftICE for WIN95中文命令解说(二)

·SoftICE for WIN95中文命令解说(三)

·SoftICE for WIN95中文命令解说(四)

·SoftICE for WIN95中文命令解说(五)

·SoftICE for WIN95中文命令解说(六)

·SoftICE for WIN95中文命令解说(七)

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史