文档章节

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

imbz
 imbz
发布于 2015/01/15 17:23
字数 489
阅读 363
收藏 0

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

使用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的界面,不提示账号密码错误了。


© 著作权归作者所有

imbz
粉丝 0
博文 8
码字总数 3948
作品 0
青岛
程序员
私信 提问
四种绕过iOS SSL验证和证书锁定的方法

     几个月前,Cody Wass发布了一篇关于如何绕过Android验证和证书锁定(Certificate Pinning)的文章。由此,我觉得也有必要写一篇关于iOS的。正如Cody在博客中所说的,中间人(MitM)...

嘶吼RoarTalk
2018/09/29
0
0
细数iOS上的那些安全防护

细数iOS上的那些安全防护 龙磊,黑雪,蒸米 @阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂。这对于刚接触iOS安全的研究人员来说非常...

阿里聚安全
2016/08/24
324
1
如何做好iOS应用安全?这有一把行之有效的“三板斧”

本文由 网易云 发布 iOS应用面临很多破解问题,常见的有IAP内购破解、山寨版本、破解版本等;大众应用上,微信抢红包、微信多开等;而在iOS游戏上,越来越泛滥的外挂问题也不断困扰着游戏厂商...

wangyiyungw
2018/05/15
0
0
iOS安全攻防-代码混淆、反调试

一、静态分析 静态分析是指用工具对程序结构,代码逻辑的分析。很大程度上取决关键字,通过关键字找到敏感代码,进行破解。所以静态分析的防护主要是代码混淆。 代码混淆 念大婶在博客中介绍...

萌面道人
2018/11/05
0
0
定制iOS 7中的导航栏和状态栏

由于种种原因,申请了一个开源中国的帐号,也许会由于我的不耐心,不会亲自去一步步的写博文,但准备把自己看到的好的,都转载过来,就当时资源的存储,也算是一种推广吧。 iOS 7 教程:定制...

谁家的阿毛
2013/11/21
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部