Kealdish's Studio.

Kealdish's Studio.

just focus

dumpdecrypted砸壳记录

前言

之前一直采用Clutch对ipa包进行砸壳,后来发现Clutch在某些iOS版本下砸壳会失效,故而放弃了Clutch而采用dumpdecrypted。本篇文章就是记录用dumpdecrypted砸壳的过程以及其中的注意点。

准备工作

砸壳需要的东西:

  • dumpdecrypted
  • 越狱的iOS设备
  • OpenSSH(Cydia)
  • iFile(Cydia)
  • Cycript(Cydia)
  • XCode
  • Command Line Tools
iOS OpenDev踩坑记录

前言

最近在研究iOS逆向工程,需要用到iOSDev工具,心想那就安装呗,多大点事儿。谁知道自己有点too young too simple,原以为下载完安装包再按步骤点点点就完了,谁知道到了最后一步,它给我来个安装失败。真是没有一点点防备啊,于是各种找办法解决安装问题,最终解决了,于是,决定把解决的过程写下来,方便以后回顾。

iOS APP砸壳小记

前言

在逆向工程中,砸壳是很必要并且不可缺少的一个步骤。所谓“壳”,其实就是苹果给应用加密的一层保护,我们只要是从APP Store上下载的APP都是带壳的。带壳的APP是无法进行class-dump以及hook等操作,因此,需要对APP进行砸壳。接下来,我以微信为例来进行砸壳。

iOS APP中调用私有方法

前言

得益于苹果封闭的生态系统,iOS平台才能如此优秀和健壮。然而,对于开发者而言,开源永远是最受欢迎的,闭源只会让开发者束手束脚。我们在开发的过程中可能会遇到有需求需要依赖于iOS私有API,但由于iOS的封闭,我们无法直接调用私有方法,这让人很是头疼。那有没有方法能让我们在不越狱的情况下去调用私有API呢?

拆解ARC下的self

最近在研究AFNetworking源码的过程中碰到了很多处地方用到了weakSelfstrongSelf。依据自己之前的理解,正常情况下使用weakSelf是为了避免发生循环引用,而使用strongSelf是为了避免方法还没有执行完成self已经被释放从而导致崩溃。不过为何在方法执行完成之前无法确保self不被释放却不是很明白,于是乎,自己花了些时间研究了一下。

self的本质

self是类的隐藏参数,在类方法中self指向当前调用方法的类,在实例方法中指向当前调用方法的类的init方法族生成的实例。更准确来说,在类方法中self是const Class self,在实例方法中self是Person const* self(以Person类举例)。事实确实如此么?来验证一下。

avatar
Kealdish
Hear my roar.
FRIENDS