逆向菜鸡实战破解思科模拟器登录限制

逆向菜鸡实战破解思科模拟器登录限制

首页休闲益智菜鸡模拟器更新时间:2024-05-01

原创: iqiqiya 合天智汇

当我们想要破解一个软件时,个人认为最重要的就是对它的关键代码进行定位(ps:这里的关键代码是相对于我们而言的,比如想要去掉软件的启动页广告,其中一个思路时可以找到它加载的地方。分析一下,判断哪里判断是否启动页加载的逻辑改掉它就好啦。)

1、背景:因为学的专业开设有路由交换这门课,但是呢,每次启动都有一个烦人的登录页每次都是选择游客模式,这不是最关键,关键就是必须等待15秒才可以进入百度谷歌了一波,居然找不到破解版,也没找到任何相关教程,心里有点凉不过作为一个逆向菜鸡,真的是忍不了(ps:好久没实战破解过了,拿来练练手也不错嘛)

2、破解时用到的:环境(学校用的版本是6.3,我用的win10x64位系统),工具(PEiD,IDA Pro, Pexplorer,Olydbg,Spy ,x32dbg),方法(单步跟踪,各种回溯,各种断点等等),咳咳,最重要的就是眼手不能停,其他版本大家自己尝试

3、最后想要实现:就是跳过等待时间,直接进入模拟器,最好是可以直接去除Nag(登陆页面)

4、简单说下过程:本例中采用最简单的思路,就是查找关键字符串,首先观察下这个页面能挖出什么信息,这里我主要就是利用这三个字符串

软件很大IDA对于我这种菜鸡也派不上用场,而且加载和OD一样贼慢;这里我选用x32dbg:反汇编窗口右键,选择字符串,所有模块

我先过滤了一下ollydbg,这里就是过滤关键字符;

发现有以下两个字符串瞬间明白肯定是有对ollydbg的反调试:发现有ollydbg,结用ollydbg没办法动态调试,就是软件的反调试机制,有些公司会专门针对反编译软件做反调试看一个程序有没有对你的反编译软件做处理,过滤名字就是一种思路

难怪用ollydbg没办法进行动态调试(ps:这里没有仔细研究是怎么做的,不是本文重点)

再过滤一下Login,发现有GuessLogin,还有一些网址之类的;本来想到可以直接从网址入手,但是不行,这个网址只是用来与服务器交互的。

我本来就不想登陆账号

向下翻就突然发现set loginbanner之类的,心想banner不是那个横幅什么的嘛,下了断点,去试试

找到断首,逐行向下单步分析,结果发现没什么用。。。

又回到字符串那里,乖乖的把所有的GuestLogin下上了断点;调试到这里的时候,突然GuestLogin那个按钮变灰并出现了15;这时候心里非常开心,以为附近就是关键点,这样就可以跳过这个计时器或者改变数值15为0,结果调试着调试着我就乱了

不知道程序执行到哪了,单步了估计300次,不变14。。。

然后重新载入,有些觉得和这个没啥关系的call直接跳过(ps:好多可以根据注释还有名字来判断它的作用)

单步着,单步着,突然发现15变成14了,单步向下时多次在下面这两个跳转直间来回跳,将上面那个je跳转双击改成jmp之后F9运行两次,发现按钮上面的字符变了,从Guest变成了Gue:

接着13,可以看到我将je跳转还原之后,又变成了Gues

这里简单解释一下:在两个跳转处下上断点,单步几次就会发现5055C500地址处是取我们的字符串GuestLogin(的,而控制的正是这两个跳转。

12了:

然后发现注释窗口出现了“Time:%1“这样的字符串:这个字符串是在注释窗口中出现的,一般在的动态调试的过程中,都会出现类似的提示性的字符,time就是时间,那代表处理时间的逻辑可能被触发了。

想着这不是跟时间有关嘛,那这个倒计时处理函数肯定也在附近(ps:这时候一直在找这个函数所在位置)

接着

又出现了一个“2timeout()“,不知道何方神圣,继续单步

调试到这里的时候,发现了GuestLogin(11),就想着给它下一个内存断点

右键选择,在内存窗口中转到双字

右键设置硬件访问断点(Dword)

到这里就彻底凌乱了,程序一个劲儿的暂停,不是异常就是内存短点;后来想着是不是太长了,就重新删除,又只在11处下断点;结果还是一样,因为单步操作的快捷键是F8,所以我键盘的F8要炸了;鼠标点击也可以单步,手指也有点凉。

好吧,到这里都要打算放弃了,因为机房9.30就锁门了,回宿舍的路上感觉好不甘心呀,又想了想是不是思路有问题,换种思路行不行;一直都在想办法找到控制倒计时的地方,那可不可以直接在加载这个登陆页面的地方搞一下呢,回到宿舍后,立即进入状态,重新载入,回到断点窗口

双击进入

向上翻,发现全都是一些初始化的信息,猜测是不是Nag(登陆窗口也会在这里初始化)

后来发现这附近就这一个可能的跳转,心想着试试吧,不行就洗洗睡了;修改下ZF标志位的值使得je跳转成立。

方法:右侧寄存器窗口,双击ZF后面的0使他变成1就可以,这时可以发现CPU窗口跳转那条线变红

接着直接F9运行,发现居然跳过了登录窗口,直接进入主程序了,开心

好的,我们既然已经知道了这个je是决定时是否加载登录窗口的关键跳转;那我们将这里双击修改成jmp

接着选中被修改的部分(ps:这里可以多选)

Ctrl P打开补丁窗口,点击修补文件,选择你想要修补的源程序(ps:这里大家可以先备份下,这样的话修改出错能够及时恢复)

总结一下:本来是想要改判断倒计时的逻辑,结果不成,但是可以找到加载登录窗口的地方,改这里同样可以达到效果;修改的地方就这一处就好,但是调试过程非常麻烦,需要大量时间,我用了好几个小时才成功,其实还是太菜了,肯定有更简单的方法,希望有师傅可以指点一下,还有就是分析过程肯定错误不少,希望可以指出,感激不尽。

声明

文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此作出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明!

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved