0%

一、概览

Hook汇编函数,首先可以了解一下汇编的本质和编译的本质。

汇编本质:操作寄存器和内存。如将数据暂存寄存器,将寄存器值存入内存,读内存值到寄存器,管理内存。

编译本质:编译器按照一定规则将高级语言翻译成汇编语言。如记录上下文,运算指令转换,查表等。

阅读全文 »

概述

状态寄存器又称cpsr,是cpu运算器的一部分。主要存放两类信息:

1、存放当前指令执行结果的各种状态或条件码,结果是否为负、是否为0、是否进位、是否溢出;

2、存放控制信息,有终端标志位、跟踪标志位。

阅读全文 »

一、概述

debugserver、lldb是协同工作的,debugserver依附在APP上,时刻监听APP的运行状态,并有控制APP执行的能力;lldb是在APP外部的,可以和debugserver建立连接,通过debugserver获取APP运行状态,并且能通知debugserverAPP做一些事情。在真机调试的时候,Xcodedebugserver加入到APP中,通过lldb来调试APP,那么同样也可以在iterm上对越狱手机上的任意APP进行调试。

Mac(Xcode(lldb)) -> APP(debugserver)

阅读全文 »

一、简介

CPU
中央处理器,内部主要包括寄存器、运算器、控制器。

  • 寄存器:存储数据
  • 运算器:处理数据
  • 控制器:控制硬件IO口的高低电平。
阅读全文 »

一、前言

前面介绍了APP应用重签名及方法函数的hook,有这些准备工作,就能够对其他应用做一些小改动,修改微信步数、自动抢红包、钉钉打卡定位等等。以上需要我们配置脚本,创建动态库,步骤不复杂但Facebook也给出了更简单的方法,提供了逆向开发的插件 《MonkeyDev》,安装后,我们可以在xcode上直接创建逆向开发工程。

相关链接

阅读全文 »

一、什么是Mach-O文件?

Mach-OMach Object文件格式的缩写,是mac以及iOS上可执行文件的格式。Mach-O文件对应有多种格式:

  1. 目标文件.o
  2. 库文件:
    .a 静态库文件
    .dylib动态库文件
    .framework系统级为动态库文件,自己创建的为静态库文件
  3. 可执行文件及MDW.app内部的MDW文件(通用二进制文件)
  4. dyld动态链接器将依赖的动态库加载到内存
  5. .dsym符号表
阅读全文 »

一、概述

RSA是一种非对称加密算法,1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,因此以三人姓氏的首字母命名了该非对称加密算法,RSA算法。

提到非对称加密,下面简单看一下对称加密流程:

阅读全文 »

一、签名原理

签名就设计到了加密,加密有对称、非对称、hash等,iOS这里主要使用了hash+非对称,两者结合使用来对应用进行加密的。

HASH加密

阅读全文 »

一、iOS砸壳思路

APP上架会经历 APP->AppStore->源码 加密过程。

应用加密:开发者向AppStore提交应用,都将由苹果官方进行加密处理,以确保用户使用的APP都是经过审核过的,加密后的APP,开发人员无法通过Hopper等反编译应用,也无法使用class-dump

阅读全文 »