iOS高级调试&逆向技术-汇编寄存器调用约定教程

前言 本文翻译自Assembly Register Calling Convention Tutorial 翻译的不对的地方还请多多包涵指正,谢谢~ 序言 通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。 了解汇编是如何工作的,以及特定架构调用约定是如何工作是一项极其重要的技能。它可以让你在没有源码的情况下,观察和修改传递给函数的参数。此外,因为源码存在不同或未知名称的变量情况,所以有时候更适合使用汇编。 比如说,假设你总想知道调用函数的第二个参数,不管参数的名称。汇编知识为你提供一个很好的基础层来操作和观察函数中的参数。 汇编 »

App Store审核总结

Appstore审核 APPSTORE迭代了几个版本,中间也被拒了几次,总结一下目前遇到的情况,简单说明 一共出现的三类问题,并介绍如何来加速审核和下架应用。 1.元数据被拒绝 2.二进制文件被拒绝 3.缺少信息 4.如何加速审核 5.如何下架应用 1.元数据被拒绝 22.2: Apps that contain false, fraudulent »

IOS 高德地图 Block使用工具类 YGaoDeMapUtils

GitHub地址 https://github.com/LiZunYuan/YGaoDeMapUtils(兼容IOS6 以上) 因项目中多地方使用高德地图,而高德地图本身是使用代理的形式回调。使得调用很麻烦,帮自己写了个高德地图的工具类,采用了Block的方式。 在项目中遇到最大的问题是,如何把当前的类不借且多余的代码使得生命周期可以完整走完再结束。就像调用UIAlterView一样,从来不用自己写addSubView什么的,只要show即可。我想UIAlterView其实是自己从全局的[UIApplication sharedApplication] 上获得Window上,所以对于使用者,不需要多写代码。而我想利用objc的runtime机制做到一样的简单使用。 使用方法 »

IOS9的适配 有关企业级证书、网络请求、定位、URL Scheme的讨论和解决方案

虽然WWDC已经在今天的6月9号已经举行了,但对于IOS9的适配最近才开始。 首先是工作上的忙碌,点呀点正在发布3.1版本,同时又有一个新的APP从0起步。 二是距离IOS9正式发行其实还有一段时间的。近日有空试验了IOS9,对于一些重要的适配问题深入的了解和探讨。本文主要讲IOS9主要的适配方面的问题,还有公司对IOS9作出的改变。 为此特意升级了IOS9来试验,有关如何升级IOS9,点此传送门 1.企业级证书分发 在IOS8以前,如何使用企业级证书是这样提示的: 但是在IOS9出现的时候,变成了如下: 若要应用可以正常使用,必须先通过手机设置信任,步骤:(设置->通用->描述文件-> »

导出keychain数据

1.利用keychain dumper导出手机端keychain的数据 2.电脑使用SSH连接手机端使用命令 前言 因为友盟提供了一种可以获得手机唯一序列号的方法,而且即使删除软件再安装,也不会更改这个值。很是好奇,于是找了很多资料,发现在IOS7以后,常用的MAC地址唯一号已经无法使用了,广告符也可能会随着更新广告符而更改。后来就找到一种业界比较常用的方法,就是把一串字符存在keyChain里,由于就想把keychain里的数据导出来看看。最终经过一系列的折腾,发现了一个udid的字符,但和友盟不完全一样,估计是做了加密处理。 1.利用keychain dumper导出手机端keychain的数据 iOS系统及第三方应用都会使用Keychain来作为数据持久化存储媒介,或者应用间数据共享的渠道。 »