最近在机房上课的时候,看见后排1班和10班有好几个人在研究这个机房电脑的重启还原保护,想搞出密码,看他们很是艰难,我就好奇研究了一下,发现没有预料的那么难。
#实战
机房电脑统一用的 噢易OSS系统
相关文件都在C盘的“Program/os-easy”文件夹内,我们进入到文件夹内,可以看到
主程序.png (111.8 KB, 下载次数: 0)
下载附件
2024-8-30 19:42 上传
所有程序打开都需要账号和密码验证,我用红色箭头标出来的就是分区的还原保护管理程序,
以这个程序为例子进行分析一下。
双击打开程序,可以发现验证窗口需要用户名和密码分别验证。
默认验证.png (122.13 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
我们用OD载入该程序,切换到OD的模块窗口,接着把程序跑起来,注意查看模块,运行后新加载了一个verifyuser.dll根据名字就能推测到程序的验证函数就装在这个dll里面。
dll.png (81.73 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
我们双击verifyuser.dll进入到该dll领空,右键搜索该dll的字符串。
扫描完毕后,浏览一下字符串,可以发现以下关键字符串。
关键字符串.png (109.1 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
推测这些分别是用户名验证和密码验证相关函数
先处理用户名验证,双击VERIFY_USER这行字符串定位到相关代码位置。
定位代码.png (102.59 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
这字符串已经是准备输出未找到用户名了,所以我们往上翻,可以看到最近一出判断跳转,
用户名跳转.png (94.92 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
将这里的JNE改成JMP。
继续刚才的第二行VERIFY_USER字符串,双击定位,也是往上翻,最近的一处JNE。
用户名跳转2.png (90.24 KB, 下载次数: 0)
下载附件
2024-8-30 19:43 上传
这里如果跳转到CMP就会往下执行,输出未找到用户名了,所以我们把JNE用NOP填充。
最后双击刚才的VERIFY_PWD这行字符串定位
定位代码_密码.png (59.94 KB, 下载次数: 0)
下载附件
2024-8-30 19:42 上传
往上翻,找到最近的一处JNE判断。
无用跳转_密码.png (83.23 KB, 下载次数: 0)
下载附件
2024-8-30 19:42 上传
这里同理改成JMP,不往下输出密码错误相关函数。
到这里就大功搞成了,最后补丁一下这个verifyuser.dll
补丁.png (61.78 KB, 下载次数: 0)
下载附件
2024-8-30 19:42 上传
再替换掉原来的verifyuser.dll就行了
成功.png (137.32 KB, 下载次数: 0)
下载附件
2024-8-30 20:00 上传
最后测试一下,无用户名,无密码,点击确定,成功进入主界面。
PS:上面分区管理界面显示空白是因为我把机房里的文件复制到我U盘里带出来的,所以显示空白,实际机房里正常显示相关分区。
本教程仅供学习交流使用,请勿用于非法用途以及破坏课堂秩序。