早上起晚了, 八点的汇编实验课七点三十五才起床, 起来抄完待会要交的作业然后去等公交, 大概八点二十分到机房, 老师并没有说什么.

这几天的心情不是太爽, 因此实验课没打算做作业. 然而桌面上有个OD, 就随便打开来看看了.

「学校的用的防护软件不会这么渣吧?」我是这样想的, 但不妨一试, 反正试了也不花钱.

系统是古旧的XP, 在托盘那里有SQLServer, 瑞星, 联想远程网络控制被控端, 联想硬盘保护工具(好像是这个名字), 因为是电脑联想品牌机, 所以后两个应该是买的时候送的, 点击退出硬盘保护工具, 一下子就能退出, 但这并没有什么卯用, 硬盘保护已经在系统启动前就先行启动了. 退出被控端需要管理员密码, 对这个密码我倒是有点兴趣, 用OD附加看看.

附加了并没有办法运行, 提示该线程被挂起或者线程终止. 但是在网络控制软件下有个小工具, 叫ChangeIP.exe, 使用它更改电脑的IP也需要密码, 挑这个软柿子捏好了. OD打开, 发现他是用MFC写的(有MFC的模块), 查看导入函数, 没有GetWindowText 或者是 GetDlgItem 之类的函数, 但是有 IsDebugPresent(), 有反调试, 所幸这个OD里插件齐全, 打开HideOD插件把所有绕过的选项勾上, 重启.

重启后, 程序正常地在OD里跑起来了. 到了输入密码这个窗口, 程序里并没有搜到什么有用的字符串, 那就内存断点吧. 随便输入一个密码, 然后回到内存窗口里搜索该密码…没有搜到. 那就点击确定->提示密码错误, 之后再搜索, 有了. 对该地址下内存断点. 再输入一次, 点击确定, 程序断下来了.

为什么说这是一次没有技术含量的Hack呢? 程序读取改地址的第一个字节, 写入 00(并不是我输入的值), 我并没有耐心分析他想做什么(当然分析了也不一定有结果), 所以直接F9让他继续执行, 继续触发断点, 果然瞎猫碰见死耗子了, F9几次后, 到了密码验证的环节了, esi寄存器里出现了一个字符串的地址 “jsjxxgmm” (教师教学修改密码?及时进行修改密码?), 八九不离十. 我重开了ChangeIP.exe, 输入这个字串, Accepted.

取得了这个密码除了脱离被控端外似乎没什么卯用, 但是整个机房的软件都是这个密码, 完全可以下载一个控制端软件, 通过这个对其他电脑进行控制(下次试试). 另外的很重要的一点是, 硬盘保护系统也是这个密码, 这样一来, 还原卡就失效了. 想往电脑里放什么就能放什么.

嗯, 大致如此.