IOS安全–使用Hopper修改程序逻辑跳过验证

直入正题,例子还是原来的那个,有两个登陆都是有验证的,前面我们分析了如何动态调试获取账号密码,以及绕过验证。下面我们使用静态反汇编修改汇编逻辑来绕过验证。

使用Hopper打开可执行文件,前面通过dump头文件可以可以分辨loginTapped:和login2Tapped:这两个方法就是登陆按钮响应执行的方法,我们来到login2Tapped:处,

Snip20150114_3

上面部分验证用户名,验证失败跳转到0xaace处。

Snip20150114_13

上面部分验证密码,验证失败跳转到0xaace处。所以只要有一个不相等就会跳转到0xaace处。

Snip20150114_5

而0xaace处正是跳出错误提示的代码。

所以我们要做的是就算比较不成功也不能跳转到0xaace处。只要把0xaa20 处的beq 0xaace改成nop就行了。同时也把0xaa90处的beq 0xaace改成nop。

Snip20150114_6

Snip20150114_7

然后再保存为可执行文件就好了。

Snip20150114_8

但是由于我用的是免费版,所以我们看到很多功能都用不了,反汇编的也不是很全面,Show CFG也用不了,而且修改后保存竟然也保存不了。

那怎么办?没关系。用UE打开可执行文件找到代码对应的地方,Mach-o 的 __TEXT  段,__text节,这个已经在前面介绍过了。

在Hopper的最前面也可以看到。

Snip20150114_9

从0xa618 到 0xae06  对应节中的文件偏移26136(0×6618)开始的2030 bytes。

所以0xaa20对应于文件偏移为:0x6a20,来到该处:

Snip20150114_10

这里的55 D0就是原来的beq 0xaace,我们将其改成00 BF 也就是nop,保存之。其它地方修改方法一样。

Snip20150114_12

修改保存完后,scp到设备,运行之,点击右边的登陆发现直接就到admin的界面,不提示账号密码错误了。


转载于:https://my.oschina.net/vveibo/blog/368214

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值