ios动态修改指令

最近逆向个app,不想直接用ida修改app的指令,而是在执行过程中,用插件动态修改app的指令。经大神指点,大致是用mach_vm_protect 和mach_vm_write来操作,也在iosre.com上找到了类似源码,把代码放入了theos中,但每次执行make后,总是链接阶段报错:ld: symbol(s) not found for architecture armv7 似乎是找不到mach_vm_write 适合armv7的库文件。搞了好久都不行。

无奈,再来研究下源码的编译条件。

源码帖子的地址:

帖子1: http://bbs.iosre.com/t/write-a-simple-universal-memory-editor-game-trainer-on-osx-ios-from-scratch/115  (再次向大神致敬)

帖子2: http://bbs.iosre.com/t/mach-vm-write-returns-os-kern-invalid-address/6761 (似乎是在上面的帖子基础上,解决了ios9 的ASLR的问题。我的疑问来了,ASLR在ios4.3开始就有了,那基本上现有的iphone都不能用帖子1的源码了?)

帖子1中:

iOS: clang -isysroot `xcrun --sdk iphoneos --show-sdk-path` -arch armv7 -arch arm64 -framework Foundation -o HippocampHairSalon_iOS main.m

1、clang:比gcc快,内存占用小,用llvm优化代码。

2、-isysroot:

暂时不弄了,没弄成功,老是链接报错。。。。换个其他方向

原文地址:https://www.cnblogs.com/iamonion/p/9977403.html

时间: 2024-10-28 16:17:22

ios动态修改指令的相关文章

IOS动态修改按钮响应时间

在项目开发中我们可能会遇到这样子的情况,比如在我们登陆的时候需要把数据发送给服务器进行比对,通常我们的做法是当用户点击按钮后,使用一个加载效果的view遮挡住当前界面,直到服务器返回数据或者超时.如果不进行遮挡,用户可能频繁的点击登录,而你又一直发送数据,这样子显然是不信的,解决这样子的方法有很多种. 今天我们说一种方式,让按钮响应时间由自己控制.要想达到这种效果你可能需要去了解一下什么是 Runtime OK,如果你不是很了解也没有关系,对于这个功能用到的也不多.其中包括: 1 objc_ge

iOS动态修改UILabel的宽度

sizeWithFont在ios7.0之后失效 cell.myCourse.text=cell_info.course; cell.myCourse.font=FONT; CGSize myCourseSize=[cell.myCourse.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:cell.myCourse.font,NSFontAttributeName, nil]]; cell.myCourse.f

基于Vue的SPA动态修改页面title的方法

最近基于VUE做个SPA手机端web发现动态修改页面标题通过document.title=xxxx 来修改着实蛋疼,而且在IOS的微信端据说没效果.百度发现要针对IOS的微信做点额外的操作,即:创建一个隐藏的Iframe,然后随便加载一个图片文件,然后加载完成移除,这样就能修改页面title了.网上有几种方案: 1,App.Vue里面设置title属性,然后页面title去绑定,所有子组件修改标题就通过 this.$root.data.title=xxxxx;去修改 缺点:App.Vue默认的e

iOS 动态更新

iOS 动态更新 App 动态更新 1.控件到 window 的层级关系: 2.分析控件的详细路径: 3.动态修改控件: 4.工具篇: 视图的层级关系: 每个 App , 至少有一个根 Window , 通常情况下我们只用一个 .window 有一个 rootViewController , 这就是我们所谓的根视图 , 我们所有的控制器都是放在 rootViewController 里面的. 这个是最简单的层级关系 如果在项目里有了这么一个路径 , 我们可以做什么呢? 在当项目很复杂 , 可以其

iOS 动态特性和RunTime

过去的几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的.也就是说有很大一部分开发者都没有使用Objective-C太长时间.当你接触一门新语言时,更多地会关注基础知识,如语法和特性等.但通常有一些更高级的,更鲜为人知又有强大功能的特性等待你去开拓. 这篇文章主要是来领略下Objective-C的运行时(runtime),同时解释是什么让Object

ios动态获得键盘高度,并改变对话框的位置

NSNotificationCenter:键盘出现.消失时的通知 UIKeyboardWillShowNotification;UIKeyboardDidShowNotification;UIKeyboardWillHideNotification;UIKeyboardDidHideNotification; 在要使用键盘的视图控制器中(既viewDidLoad中),接收键盘事件的通知: - (void) registerForKeyboardNotifications{ //键盘改变时候会调用

动态修改类注解(赋值)

1. 动态修改注解元凶: Java代码 /**  * 对象池工具类  *   * 目前提供ORM动态映射解决方案  *   * @author andy.zheng  * @since 2012.09.25 15:55 PM  * @vesion 1.0  *   */ public class ClassPoolUtils {                  /**      * 运行时动态ORM表映射      *       *       * @param entityClassNam

js 动态修改css文件

_.find(document.styleSheets[4].cssRules,function(cssRule){ if(cssRule.selectorText && cssRule.selectorText.indexOf(".navbar-fixed-top2")>-1){ cssRule.style.position=""; cssRule.style.top = "0px"; } if(cssRule.selec

js 动态修改属性值 动态修改图片,字等

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv = "content-type" content="text/html;charset=utf-8"/> &