iOS:通过MonkeyDev逆向微信运动,简单粗暴非越狱

前言


前一段时间,一直忙于面试,也没做研究什么稀奇古怪的技术.近来也是学习了几天的iOS逆向工程方面的知识,这里就班门弄斧下,看看如何通过逆向工程来修改微信运动数据.先看一下效果图.



前期准备


在逆向之前我们需要准备一下以下工作.以方便我们的逆向功能能顺利开发.

需要技能:

1.懂基本的终端指令以及操作.

2.会使用Xcode.

3.一台未越狱的iPhone.


1. 安装PP助手

PP助手这是主要的功能是下载越狱ipa文件,也就是脱壳文件.这里是什么脱壳文件就不过描述了.


2. 安装class-dump

class-dump主要是用来查看脱壳之后的Mach-O文件的所能暴露出来的头文件.如何安装呢?

方式一:可以直接从下面的下载地址中直接下载运行好的class-dump文件.

→ → →class-dump下载传送门

方式二:也可以去github搜索class-dump下载xcode工程运行取出Finder中的class-dump.

然后把class-dump复制到/usr/local/bin/class-dump即可(OS X 10.11以上).

这时候我们直接在终端上敲出class-dump指令了.如下所示.


3. 安装MonkeyDev

其实为什么安装MonkeyDev呢?MonkeyDev是集成与OpenDev的,但是OpenDev在13年就不在更新了,所以AloneMonkey就在此基础上做了进一步的更新,而且更加简单,更加傻瓜式.具体安装步骤可以查看原文博客.

MonkeyDev原文安装链接

安装完成之后,在新建项目的时候就会有如下的模块.


修改微信运动数据的逻辑原理


整体的示意图如上图所示.我们把通过PP助手下载的越狱ipa文件通过class-dump指令来查看所有包含类的头文件.然后编写动态库.通过runtime的机制动态注入到破壳文件中.然后对注入完成的文件进行重新签名,最后安装应用程序.

其中MonkeyDev的作者已经把其中的三步进行了封装,我玩了玩之后,发现相当的简单粗暴无脑.


通过PP助手下载破壳ipa文件


我们打开PP助手,然后通过"越狱程序"模块下载"微信",如下所示.

下载完成之后,在Finder里面找到对应的ipa文件 拿出来备用.如下图所示.


通过Class-dump指令查看所有头文件信息(本文可不操作)


首先,我们先把.ipa文件进行解压.如下所示.


解压之后找到里面的WeChat,然后显示包内容.

找到包里面的WeChat文件,如下所示.

拿出来.然后使用下面class-dump指令格式

class-dump -H "Mach-O文件路径" -o "导出Headers文件的路径"

这里我直接把WeChat这个Mach-O文件放到了桌面之上.所以指令如下图所示.

执行完成之后,我们就可以看到桌面上多了一个Headers的文件夹,打开之后全是WeChat里面的头文件.然后我们可以使用Sublime Text这个工具快速查找我们所要的类.如下所示.


我们主要是用到的是WCDeviceStepObject中的m7StepCount这个属性.只要我们修改这个值就可以修改微信运动里面的步数了.


使用MonkeyDev完成三部曲.


这时候我们就创建一个MonkeyApp工程出来.如下所示.

紧接着.我们需要做的就是把我们的ipa文件放到指定位置(当然是放在工程目录下了,这里就不多说了.).然后添加到工程中去.里面的put ipa or app here文件不要删除.

接着我们就需要编译所需要的动态库就好.编写DemoDylib.m文件就好.


把DemoDylib.m文件中所有的内容删除(除导入头文件外).添加如下代码.

CHDeclareClass(WCDeviceStepObject); // declare class  
  
CHOptimizedMethod(0, self,  unsigned int, WCDeviceStepObject, m7StepCount) // hook method (with no arguments and no return value)  
{  
    // write code here ...  
      
    return 98888; //随意改数 
}  
  
  
  
CHConstructor // code block that runs immediately upon load  
{  
    @autoreleasepool  
    {  
        CHLoadLateClass(WCDeviceStepObject);  
        CHHook(0, WCDeviceStepObject,m7StepCount);  
    }  
}  

编写完成之后这里有个坑就是不让使用runtime库,修改如图位置即可,改为NO.

然后运行完动态库,在运行App,即可安装成功两个微信.

这时候就算大功告成了.打开新安装的微信运动即可.等待几分钟数据就可修改完成代码中的数字了.


结束


到此就结束了本篇博客,骚栋班门弄斧了,Demo过大,这里就不上传了,如果有问题,欢迎指导批评.骚栋在此谢过了.


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容