点击上方“iOS开发”,选择“置顶公众号”

关键时刻,第一时间送达!

美国学者埃德加·戴尔(Edgar Dale)1946年提出了“学习金字塔”(Cone of Learning)的理论。他提到:学习效果在50%以上的,都是主动学习包括讨论、实践和讲授。我希望能通过做笔记的方式,巩固自己学过的知识,以及分享这些知识给其他对此感兴趣的人。

前言

微信成立七年多了,主界面也一直没有变过,和刚推出一样的简洁,纯粹。 但是看久了这个唯一的主题,总会有一些眼腻。偶然在网上看到了美化版的微信,而这些“分身版”、“美化版”的客户端预留了大量高危接口,一不注意手机就会中招(详情参考 :微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析),于是生出了自己捣鼓的念头。刚开始的时候什么都不懂,做了一大堆无用功,写下来避免更多人重蹈覆辙。

iMazing导入(失败)

之前在Mac上用iMazing改过几个小游戏的数据,所以我先试着从iMazing导出,结果发现导出的.imazingapp文件只有几份简单的数据(猜测是没受签名保护的文件),根本没有能修改的东西,心态崩了。

PP/爱思助手导入(失败)

这是网上出现最多的方法,在PP助手上下载正版ipa,提取其中的文件,发现朋友圈的颜色在其根目录下的color.css文件中。直接用记事本打开随便修改几个RGB颜色,保存。导入到手机时出现验证失败的提示,很明显是签名的问题。网上对这个问题的说法不一,个人觉得是版本的问题 。到这篇文章完成之前iOS 11.2  仍然不能越狱,第三方助手工具也没有找到此版本对应的漏洞,所以不支持导入修改过的ipa,心态继续崩。

IPAPatch导入(成功)

此方法涉及到了精彩的iOS逆向工程,感谢Naituw大神带我打开了新世界的大门。

IPAPatch是什么?

GitHub用户Naituw表示之前开源的关闭 Facebook for iOS 的 HTTPS 证书校验的方法操作太过繁琐,为了进一步简化调试、验证操作,研发了IPAPatch,它可以提供一个简单的方法来修补iOS应用程序,且不需要越狱。

IPAPatch 可以做什么呢?

和 "HackingFacebook" 类似,"IPAPatch" 主要可以在第三方的 IPA 文件上 "添加" 自己的代码,但过程有很大不同:

大神Github:https://github.com/Naituw/

开整

一 . 最终效果展示

聊天界面

发现界面

我的界面

朋友圈界面

二 . 需要准备的工具及设备

  • 清醒的头脑

  • 开发者账号(或证书)

  • Macbook

  • Xcode for mac

  • Reveal for mac

  • PlistEdit Pro for mac

三 . 具体实现步骤

1.下载开源项目IPAPatch,下载地址:百度网盘 密码: wu1m;

2.打开Reveal,依次点击菜单栏 Help → Show Reveal Library in Finder → iOS Library ,  在iOS Library里拿到集成文件RevealServer.framework,并将此集成文件移动到IPAPatch/Assets/Frameworks文件夹里;

3.准备一个解密过的 微信.ipa 文件。可以自行砸壳,因为身边没有越狱的手机,所以我是在PP助手下载的越狱版。放上已破壳6.6.6版本:百度网盘https://pan.baidu.com/share/init?surl=zP4MlvUfLkVXwgFGqcRZtA 密码: ipyj;

4.修改文件并保存;

5.将 微信.ipa 重命名为 app.ipa,替换文件夹IPAPatch/Assets里的模板文件app.ipa;

6.打开IPAPatch.xcodeproj文件,点击左上角项目栏的三角形感叹号移动界面至Show the Issue navigator,再点击进入左侧 IPAPatch-DummyApp 标签,在右边的详细信息里配置Bundle Identifier和开发者证书。其中Display Name更改后会作为前缀添加到更改后的App上;

7.连接iPhone,趁电脑不注意,迅速点击左上角的运行按钮,稍等片刻,将自动将此App安装到手机上;

上面的操作其实很简单,关键性的编译、执行以及注入步骤都已经由大神写进了patch.sh的脚本里,编译运行时,所有操作都是全自动完成的。

Build Succeed后,激起了我修改更多数据的兴趣,刚好又在网上找到了另一个大神制作的一大堆iOS主题包。

随便下载一个主题替换包,能替换的东西基本上已经全部包含在里面了。解压后将要替换的文件拖入之前的app.ipa里,等待文件替换完成。

再重复第七步即可。

简单介绍一下部分替换文件,有待继续挖掘

app.ipa/AppIcon**x**@*x.png:微信图标,目前更改后手机桌面仍然显示原图标,原因不详

app.ipa/Expression_**@2x.png :老掉牙的表情

app.ipa/zh_CN.lproj/InfoPlist.strings :包含微信的名称、以及发现页的几项文字(朋友圈、扫一扫)

app.ipa/zh_CN.lproj/mm.strings:大部分文字选项都在这个文件里,都可以修改,随便修改了两项

app.ipa/Assets.car:大多数图标文件集成在这个文件里

app.ipa/in.caf :消息铃声

四.遇到的几项问题以及注意事项

1.个人描述证书只有七天的期限,七天后需要重新安装。

2.用自己证书安装的微信不支持Safiri浏览器上的网页分享,应该是未上架App store客户端的通病。

3.有时候不推送通知,或只通知一次,原因不详。

4.解压后的IPAPatch文件只能用Xcode运行一次,第二次运行会出现“apple match-o linker error”,此问题还没有找到解决办法,望各路大神指点一二。

5.第一次进入微信或者结束进程后再打开微信会有hock成功的提示。此提示可以在IPAPatchEntry.mm文件里更改(alertControllerWithTitle;message;alertControlleraddAction;)。

贴上代码

hook成功的标签

总结

这篇文章只记录了如何修改App的外观,其他的例如防撤回、自动抢红包以及隐藏小红点等功能性模块涉及到了更多Objective-C方面的知识,本人刚接触OC,尚未弄懂其深邃的语法,在接下来的日子里我会继续向深层次探索。

  • 作者:Taag

  • 链接:https://www.jianshu.com/p/691d635eeda

  • iOS开发整理发布,转载请联系作者授权

【点击成为源码大神】

初涉iOS逆向工程:免越狱修改微信(外观篇)相关推荐

  1. iOS 免越狱修改微信运动步数

    说明: 相信喜欢逆向工程的小伙伴已经对微信自动抢红包插件有所耳闻了,或者可以说,已经被广泛的传播了,但笔者发现,其实只有两篇是原创的,其余均为疯狂转载.看了下网上对于微信的"喜爱" ...

  2. wifi信息修改插件ios_iOS免越狱修改运营商信息/修改“应用图标标记”颜色

    iOS免越狱修改运营商信息捷径/workflow规则 地址: https://www.icloud.com/shortcuts/cc295815769b44f7a711dab6910e1be8 iOS ...

  3. iOS攻防 - (七)iOS app - 使用Cycript修改微信app

    iOS app - 使用Cycript修改微信app 1.安装Cycript 官网地址:http://www.cycript.org/debs/?C=M;O=D Github地址:https://gi ...

  4. EasyClick iOS脚本免越狱免硬件实现方案_可云控大量部署

    iOS脚本免越狱免硬件实现方案 硬件实现 电脑中控方案 免越狱无硬件方案 硬件实现 一般实现都是采用外加一个硬件的方案,采用使用易语言编程. 这样的方案缺点: 1.硬件板子不稳定,没有经过严格的质量检 ...

  5. iOS 教你如何修改微信运动步数

    作者:糯米粉 来自:http://www.jianshu.com/p/b8b7fd5447c2 占领别人封面效果 说明: 相信喜欢逆向工程的小伙伴已经对微信自动抢红包插件有所耳闻了,或者可以说,已经被 ...

  6. ios苹果免越狱群控电脑鼠标操作手机同步器

    据小编了解.手机群控这个词一直很受网上争议,今天小编也在这和大家一起讨论一下,其实群控系统在市面上有很多,有安卓群控,苹果群控,苹果越狱版,苹果免越狱市面上都有,所谓的主板机群控系统是指把每个主板手机 ...

  7. iOS逆向工程——非越狱调试

    其实iOS的逆向分析业界已经十分成熟了,网上也有许多有趣的尝试(一步一步实现iOS微信自动抢红包(非越狱).本文着重于如何在非越狱机器上进行调试,出于学习及总结的目的,记录于此. 本文以破解游戏梦幻西 ...

  8. 全新技术苹果群控IOS中控 免越狱

    随着现在网络时代快速崛起加上疫情的困扰,许多的人加入到互联网手机项目搬砖行业 但搞手机项目并不是说几台手机就可以产生多少收入的,这个是要靠手机数量越多累计起来才赚的越多的! 那么手机少又挣不了钱,手机 ...

  9. 苹果群控 ios手机免越狱一键打开一键同步操作

    电脑批量控制手机是一种很实在的技术,它可以一键打开手机APP同步,让你不用每台手机手动去实现一切操作,这篇文章现向你介绍如何使用该技术,前提要实现电脑批量控制手机,你需要一台台式电脑或笔记本电脑和N个 ...

最新文章

  1. OpenDigg前端开源项目月报201704
  2. 做了这么久SEO优化,想必你很了解“网页快照”!
  3. librtmp编译for android and ios 不要openssl
  4. 青岛智能物联网产才融合中心成立,山东大学携手百度飞桨海尔海纳云等共育AI人才
  5. C语言学习笔记--函数与指针
  6. 图解python pdf_Python合并同一个文件夹下所有PDF文件的方法
  7. 用UltraISO制作的u盘ubuntu11.04,启动失败解决方案
  8. Java集合(二、LinkHashMap)
  9. 第一个工程 HttpLoader
  10. Vue、 React比较
  11. 应急响应前移:从事后到事前
  12. java继承封装多态特性_java 三大特性 封装 继承 多态
  13. Duilib控件拖动改变大小
  14. JavaScript设计模式之职责链模式
  15. mx播放器有没有投屏功能_这个播放器真是太强大了!
  16. 安卓逆向——AS开发Xposed插件demo案例
  17. 请求头(request headers)和响应头(response headers)解析
  18. liferay监听器
  19. 贰零贰壹年壹月叁日,思
  20. iOS拍摄视频,自定义拍摄界面,高清压缩,添加水印

热门文章

  1. monkey测试入门2--测试步骤、常用参数、常规monkey命令
  2. 对NLP中transformer里面decoder的理解
  3. php公众号支付后的微信通知,关于微信公众号支付细数我踩过的坑
  4. 串口定义以及串口交叉线的制作
  5. mysql数据库搭建动态网站_动态网站搭建之如何配置Mysql数据库连接详细教程讲解...
  6. 用C语言计算一元二次方程式
  7. CAN 总线破解 汽车协议破解 - 浅谈
  8. 小米5 android studio,Android应用开发android studio运行app,使用模拟器可以,用小米5手机安装失败...
  9. supervisor的安装及使用
  10. LabVIEW 设定NI-DAQmx通道的共享变量的轮询速率