这样看来 , 密码可能与 F0 做过XOR运算 , 因此只需要找到内存中的密码 , 用XOR就能还原出密码来 。
继续往下反汇编
用debug反汇编121F:01E3处的代码
这里可以看到 , 这是一段字符串比较的代码 , 具体的细节可以查 intel 汇编语言 , 这里大概的意思就是把内存 0107 (没有指明段地址 , 默认还是121F)装载到寄存器CL , REPZ CMPSB 会根据 CX(CH被XOR指令设为0) 的值作为循环的次数比较SI 和 DI 指向的内存 , 每比较一个字符串 , 就SI、DI寄存器就加1 , CX寄存器就减1 。
MOV SI,0108MOV DI,028D
毫无疑问 , 这里此时SI和DI保存的就是键盘输入的口令和程序预设密码的内存地址 , 至于预设密码的地址保存在SI还是DI , 这可以往前反汇编查看键盘输入的口令保存在位置 , 这样可以反推出密码存放的地址 。
在这程序里 , 从代码中可以看到 , SI初始化为0108 (没有指明段地址 , 默认还是121F) , 而0107保存了要比较的字符串的长度 , 因此有理由判断密码可能保存在 121F:0108 这个地方 。
于是执行debug 的d指令查看 121F:0107
用debug查看内存
这里可以看到0107处的内存是04 , 后面跟着4个C2 , 这里就可以比较肯定的判断 , 密码长度是4 , 密码的内容是4个C2 , 当然这密码是和前面提到 0xF0 进行XOR运算的结果 。
现在 , 就开始尝试还原密码用计算器或者上网随便找个进制转换的网页进行进制转换 。
换算的结果是
F0的二进制表示为11110000
C2对应的二进制是11000010
把 11000010 和 11110000做 XOR 运算得到
1111000011000010xor00110010
得到的结果是 00110010 , 转换为16进制是0x32 , 通过查ASC码表得到对应的字符是’2’ , 就是说密码是”2222″ 。
退出debug , 再次执行README.EXE,输入密码 2222 , 最后密码校验通过 , 显示出里面的内容 。
密码校验通过后显示的内容
至此 , 这个来自上世纪的密码就被破解了 。
从文件的内容看光盘里面存放是软盘镜像IMG格式文件 , 这有可能当时电脑店用的光盘 , 那时还没有电脑城 , 可每个城市会有一两家电脑店 , 日常除了卖电脑给单位外 , 还会卖一些软件拷贝给用户 , 那时光驱还没普及 , 也没有U盘和移动硬盘 , 拷贝软件一般用软盘 , 所以这些软件一般是用软盘镜像IMG格式存放在光盘里 , 用户根据目录选好要拷贝的软件后 , 店员就会用HD-COPY这个软件从光盘上拷贝到用户的软盘上 , 我还记得当时是10元拷贝一张软盘 。
为什么这些软件的软盘镜像文件会放在光盘上呢?这是因为当时电脑的硬盘空间极少有超过1GB的 , 通常的都是几百MB , 甚至一些电脑是没有硬盘的 , 而一张光盘有600多MB , 一家电脑店通常会有十几张这样的光盘 , 里面有操作系统 , 汉字系统 , 字处理软件 , 工具软件 , 游戏也是极少的 , 即使有游戏也是很简陋也不好玩的游戏 , 好玩的游戏要等光驱开始普及的时候才看到 。
从列出的软件来看 , 这张光盘应该比较后期的了 , 而这个密码可能是印在光盘的封面上的 , 也或许是这种光盘最初是在电脑店之间流通 , 加上密码可能是为了保护光盘的制作人的利益 。
到光驱开始普及后 , 在市面上也能卖到这种装满软件光盘 , 但逐渐的里面的软件就是直接放在目录里面 , 不用做成软盘镜像格式了 , 因为方便用户就直接在光盘运行软件的安装程序 。
【破解网络最好的软件 软件破解工具怎么用】最后说一下 , 这个 README.EXE 其实不是用汇编语言开发 , 至少不是全部是用汇编开发的 , 在一开始在Linux下用strings检查文件的时候看到了 “Borland” “Turbo-C”的字样 , Borland的C编译器在当时很出名 , 可以生成很精简的高质量的机器码 , 因此用debug跟踪下来比较顺利 。
推荐阅读
- 上海去西安高铁卧铺多少钱一张,上海到西安火车票最低价是多少
- vivo最新款千元机 vivo iqoo手机怎么样
- 免费又好用的清理软件使用方法 清理垃圾软件最好用的是哪一个
- 手机电视同屏最简单方法 手机怎么投屏电视上看电影
- 野生胡子鲶喜欢吃什么,钓鲶鱼用什么鱼钩最好 还有饵料 我要在野外钓
- 网络游戏属于什么五行,互联网到底五行属啥
- 走路是最好的长寿药,但这样走等于慢性自杀,你天天在做
- 癌症晚期应不应该继续治疗?肿瘤专家:不治疗就是最好的治疗!
- 北京到阜新高铁票价,阜新到北京多少钱路费火车车次最便宜的价格给一个
- 我来分享diskgenius找回分区的操作教程 我来分享积累的最佳句