IOS逆向分析笔记——replay逆向分析

正常找出视频或者图片处理文件的GL脚本就是找出脚本加载的函数glshadersource断下就好了,上周在分析replay的时候很奇怪IDA没有找到glshadersource这个函数,于是我在反汇编窗口里搜索glshadersource,找到了很多用到它的相关函数,于是一一尝试没有一个能断下,想到图像处理一定要调用GL脚本,于是搜索GLSL找到相关函数还是没有一个能断下,于是又所有打开文件的函数依然没有断下

于是茫然了,试了很多方法,搜索了视频相关的函数,找到捕捉输出的缓冲区样本函数didoutputsamplebuffer,视频处理都会用到它结果依旧没有断下,又找了图片合成处理的函数还是不行,视频输出,编译,文件读取,图片合成,全部无法断下,我在想是不是这个文件用Python调用的gl脚本然后在自己的引擎编译我们断不下了

在没有突破口的时候我去APP里面的文件目录里一个个搜索,找到了一大批GLSL脚本,为了测试脚本功能我把脚本全部删除然后一个个添加查看功能,找出所有脚本功能,正在高兴时老大说只有像素着色的脚本,另一个脚本应该藏在里面了,在没有办法的情况下偶尔试了一下别人都说不行经常断不下的方法直接在GDB里面断函数,不抱希望地试了居然给断下了,IDA找不出GDB居然找出了,然后脚本就水到渠成全部打印出来了

总结:不能太相信一个权威的工具,也不能抛弃一个不被看好的方法,逆向的选择太多无所谓好坏,尺有所长,寸有所短

IOS逆向分析笔记——replay逆向分析

时间: 2025-01-02 10:19:49

IOS逆向分析笔记——replay逆向分析的相关文章

逆向中静态分析工具——IDA初学者笔记之字符串分析

逆向中静态分析工具--IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这个突破点,往往就是一个Messagebox,因为这个Messagebox可以很直观的 让我们知道当前位置的代码负责哪些功能,而同时Messagebox可以提供一个字符串让我们来查找定位. 首先,打开IDA,主菜单View-Open subviews-strings: 这时出来一个strings窗口,

《linux 内核完全剖析》sched.c sched.h 代码分析笔记

sched.c sched.h 代码分析笔记 首先上header file sched.h #ifndef _SCHED_H #define _SCHED_H #define HZ 100 #define NR_TASKS 64 #define TASK_SIZE 0x04000000 #define LIBRARY_SIZE 0x00400000 #if (TASK_SIZE & 0x3fffff) #error "TASK_SIZE must be multiple of 4M&qu

zeromq源码分析笔记之线程间收发命令(2)

在zeromq源码分析笔记之架构说到了zmq的整体架构,可以看到线程间通信包括两类,一类是用于收发命令,告知对象该调用什么方法去做什么事情,命令的结构由command_t结构体确定:另一类是socket_base_t实例与session的消息通信,消息的结构由msg_t确定.命令的发送与存储是通过mailbox_t实现的,消息的发送和存储是通过pipe_t实现的,这两个结构都会详细说到,今天先说一下线程间的收发命令. zeromq的线程可分为两类,一类是io线程,像reaper_t.io_thr

cocos2dx游戏开发学习笔记3-lua面向对象分析

在lua中,可以通过元表来实现类.对象.继承等.与元表相关的方法有setmetatable().__index.getmetatable().__newindex. 具体什么是元表在这里就不细说了,网上很多介绍,这里主要讲与cocos2dx相关联的部分. 在lua-binding库中extern.lua里,有如下方法: --Create an class. function class(classname, super) local superType = type(super) local c

《linux 内核完全剖析》 exit.c 代码分析笔记

exit.c 代码分析笔记 release 释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行. void release(struct task_struct * p) //释放p指向的进程 { int i; if (!p) //常规检测p是否为0 return; if (p == current) { //不能把自己给释放了 printk("task releasing itself\n\r&q

Yarn之ResourceManager详细分析笔记(一)待续

一.概述     本文将介绍ResourceManager在Yarn中的功能作用,从更细的粒度分析RM内部组成的各个组件功能和他们相互的交互方式. 二.ResourceManager的交互协议与基本职能 1.ResourceManager交互协议 在整个Yarn框架中主要涉及到7个协议,分别是ApplicationClientProtocol.MRClientProtocol.ContainerManagementProtocol.ApplicationMasterProtocol.Resour

【转载】Instagram架构分析笔记

原文地址:http://chengxu.org/p/401.html Instagram 架构分析笔记 全部 技术博客 Instagram团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPhone 上最火爆的图片类工具,instagram 用户数量已经超过 1400 万,图片数量超过 1.5 亿张.不得不说,这真他妈是个业界奇迹. 几天前,只有三个人的 Instagram 工程师团队发布了一篇文章:What Powers Instagram: Hundreds of Instance

YII框架分析笔记2:组件和事件行为管理

Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.CComponent几乎是所有类的基类,它控制着组件与事件的管理,其方法与属性如下,私有变量$_e数据存放事件(evnet,有些地方叫 hook),$_m数组存放行为(behavior). 组件管理 YII是一个纯oop框架,很多类中的成员变量的受保护或者私有的,CComponent中利用php中的魔术方法__get(),__set()来访问和设置属性,但这些方法的作用远不指这些.下面用__get()来说明 [php] vi

Time, Delays, and Deferred Work <LDD3> 学习笔记 + jiffies.h 分析

Time, Delays, and Deferred Work Dealing with time involves the following tasks, in order of increasing complexity: ? Measuring time lapses and comparing times ? Knowing the current time ? Delaying operation for a specified amount of time ? Scheduling