美文网首页 ios零碎记录iOS开发好文iOS开发
分分钟让你在 微信运动 霸占榜首

分分钟让你在 微信运动 霸占榜首

作者: dimsky | 来源:发表于2016-05-08 23:22 被阅读15306次

    提示: 这仅仅只是逆向的一次尝试,如果你仅仅只是想单纯的修改步数,建议使用Healthkit的API修改步数,将会更简单。

    为了纪念我失去的已越狱iPad, 不得不写点什么。

    所以...以下内容 不需要越狱

    微信运动

    6万步是什么概念,我不知道,因为我没走过,不过有朋友是这么跟我形容的。

    破解

    首先,这是一个简单的不能再简单逆向实验,也仅仅只是针对于逆向比较简单的验证,这里不会讨论如何砸壳、classdump、hook、dylib 这些东西,因为简单的不需要,也没有详细的逆向分析过程,因为简单的不需要,这里只需要的两个软件 :

    1. PP 助手 (用来下载iOS 版本已经破壳的App)
    2. Hopper Disassembler

    并且只需三步来完成破解。

    PP助手,只用它来下载破壳的iOS 越狱App,不做说明。

    Hopper Disassembler v3 下面是官网的原话:

    Hopper is a reverse engineering tool for OS X and Linux, that lets you disassemble, and decompile your 32/64bits Intel Mac, Linux, Windows and iOS executables!Take a look at the feature list!

    简单的说就是 Hopper 是一个反编译工具。
    可能还有一些类似的工具比如说IDA。因为免费版功能不全,完整版太贵,这里毫不犹豫选择了Hopper。

    在2015年,各大音乐平台联合起来打击盗版音频网站,各大音乐平台相互攻击,只能下架未授权的音乐。一些音乐平台也从起初的高品质歌曲收费服务,变成了交钱你才能听,让广大人民群众听歌困难。

    下面我们要做的就是重新找回原来的自由。

    虾米音乐 for mac

    没有会员的虾米就只是只虾米。


    虾米音乐

    如果要使用虾米Mac版播放器听高品质的歌曲是需要VIP 会员的。
    下面我们就给自己一个“会员”。

    1. 先打开Hopper。

    2. 找到虾米音乐的安装目录 /Applications/Xiami.app/Contents/MacOS/ 下的Xiami 二进制文件给拖出来直接扔进 Hopper 窗口中,点OK 然后就会开始分析,虾米音乐 for mac 做的很简单,马上就会反汇编完成,我们可以在左边看到很亲切 的Objective-C 语法的方法调用,我们可以搜索想要了解的方法名,这里很明确,我们就是要给自己一个VIP,直接搜索“vip”。

    Hopper

    不难发现,函数已经找到了,

    [XMUser isVIP]
    

    我们可以通过右上角按钮查看方法的伪代码.
    然后用Hopper静态patch 这个方法,把光标放在[XMUser isVIP] 的第一行汇编代码上,然后选择菜单栏的Modify -> Assemble Instruction,并在弹出的文本框里输入mov rax, 0x1,如图所示:

    Paste_Image.png

    再点击 "Assemble and Go Next",然后输入 ret,在点击按钮完成输入,修改后的代码块会变成白色,最后会变成这个样子:

    Paste_Image.png

    这里是什么意思呢?我们在方法的伪代码中不难发现最终返回的是一个rax 的寄存器,其实在x86汇编里,函数的返回值存放在rax寄存器里,0x1对应BOOL类型的YES,这句汇编的意思就是 将0x1 送入eax 寄存器,因此我们让[XMUser isVIP] 永远返回YES,告诉虾米你永远都是VIP。

    然后操作就基本已经完成了,点击菜单
    File-> Produce New Executable 生成出新的二进制文件,替代原目录(/Applications/Xiami.app/Contents/MacOS/ ) 中的二进制文件(Xiami)。

    Paste_Image.png

    重新打开虾米音乐播放器,接下来就让320kbps 高品质音乐轰炸你的耳朵。


    Paste_Image.png

    这种是一种比较简单的逆向方式,当然逆向的局限性很大,如果想实现更大范围的hook 还是得使用openDev 等工具来做。

    虾米音乐 for iOS

    现在虾米音乐周杰伦的歌都没法听了...不得不说高晓松这个花钱请来的董事长,还真的是做了些事...

    不过接下来不准备逆向虾米了,因为不想去用,不过你也可以用以上类似的方法去跳过虾米的验证,试听不能听得歌曲。

    微信运动

    你想每天都受到微信好友的关注么?
    想每天霸占你女神/男神微信运动的封面么?
    那么接下来我们只需要5分钟 三步 就能实现。

    1. 下载破壳应用(越狱应用)

    Paste_Image.png

    2. 通过Hopper 修改 微信步数

    首先我们要找到WeChat.app ,我们可以通过解压工具在WeChat.ipa/Payload/找到并解压出来。

    Paste_Image.png

    右键点击WeChat.app 显示包内容 ,找到WeChat 二进制文件然后拖到Hopper窗口中进行反汇编,因为微信应用比较大,反汇编时间可能会有点长,不过我们可以先把提供步数的方法找到,等待方法反汇编完成后就可以Patch了,使用上面的提到的老方法即可,下面是替换后的结果。
    movw r0, #0xffff
    bx lr
    这里的0xffff 是16进制,也就是返回的步数,你想要多少步直接改这个数就可以了。

    Paste_Image.png

    修改完成,Shift+command+E 生成新的二进制文件WeChat。
    通过Xcode创建一个作为壳子的项目,要使用有开发权限的bundle Id
    任意取名,选好你的证书描述文件,然后编译。会生成一个Mytest1.app。

    Paste_Image.png

    我们需要这个Mytest1.app文件中的embedded.mobileprovision

    Paste_Image.png

    然后还需要新建Entitlements.plist, 这里需要用到证书的Team-id,不知道可以在钥匙串中的证书中找到,注意这里的Team-id 一定要是distribution证书的。
    如: iPhone Distribution: Tian Xiao (ABCDEFGHIB) 中的 ABCDEFGHIB

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>application-identifier</key>
        <string>ABCDEFGHIB.dimsky.MyTest1</string>
        <key>com.apple.developer.team-identifier</key>
        <string>ABCDEFGHIB</string>
        <key>get-task-allow</key>
        <true/>
        <key>keychain-access-groups</key>
        <array>
            <string>ABCDEFGHIB.dimsky.MyTest1</string>
        </array>
    </dict>
    </plist>
    
    被划掉的部分就是TeamId了

    所有需要的文件都已经生成,然后把embedded.mobileprovision 和修改后的WeChat二进制文件拷贝至WeChat.app中替换。

    3. 重新签名,安装

    接下来我们把WeChat.app 重新签名,

    codesign -f -s 证书名字 目标文件
    

    下面是需要重新签名的文件,证书名字在钥匙串中可以找到,注意在这一步需要前面创建的 Entitlements.plist 文件。

    codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app/PlugIns/WeChatWatchNativeExtension.appex
    codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/Watch/WeChatWatchNative.app
    codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" WeChat.app/PlugIns/WeChatShareExtensionNew.appex
    codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" --entitlements Entitlements.plist WeChat.app
    

    打包生成ipa

    xcrun -sdk iphoneos PackageApplication -v WeChat.app  -o ~/WeChat.ipa
    

    然后就可以通过PP助手安装了。

    友情提示: 切勿开启暴走模式,让步数更真实为好,不然被删好友了,可别怪我。

    长期霸榜的坏处可想而知,还请各位斟酌。

    注:

    本文仅供学习交流,请勿用于商业用途。

    参考: iOS冰与火之歌番外篇

    相关文章

      网友评论

      • codeTao:微信运动,没有开发者账号搞不了吧?
      • 小小书童可笑可笑:这个Entitlements.plist文件放哪里的
      • Arxu:请问这个修改后的数据会上传到服务器的吗,还是只有本地能看到而已
        dimsky:@Rany_Xu 哈哈。可以可以。
        Arxu:@dimsky 按照你的方法已成功修改步数并且被微信成功捕获到恶意修改,现在朋友圈已被封,但我还是很开心:smile:
        dimsky:@Rany_Xu 上传到服务器
      • Jlanglang:好多无聊的人啊。。。
      • Lilin_Coder:重签名后安装成功了,就是打开微信运动时候会crash, 使用其它功能也会频频crash
        Lilin_Coder:成功了,不容易啊 ,可以安心休息了
      • Louis_hey:Hopper在哪里下载
      • 主动打电话:好简略,让新手很难操作啊
      • TheRainMan:虾米音乐一直改不成功, 我改完后 mov rax, 0x1 , 和 ret这两行不是白色,不知道为啥按回车就出现了 ;endp。能帮我解答下hopper使用的问题吗,我是网上下的4.08破解版,也不知道是不是我操作的原因,试了很多遍都改不对
        TheRainMan:没呢
        跑神的心:跟你一样的问题,mov rax, 0x1 改完还好好的,加完ret,下面就出现了endp,请问你解决了吗,我也是v4的hoopper
      • LeoCracker:楼主你重签名出现过这个错误吗?invalid or unsupported format for signature
        3a971dbbfab9:我也出现这样的错误了!os 10.12 ,xcode 8.2。请问你解决了吗?
      • LeoCracker:你好,我用codesign -f -s "iPhone Developer: Tian Xiao (XXXXXXXX)" --entitlements Entitlements.plist WeChat.app这命令重签名时,会报这个错误:WeChat.app: invalid or unsupported format for signature,请问您知道原因吗
      • a82aa8bb03b9:签名完成了.打包也成功了.但是通过pp助手安装,也上传成功了,最后一直提示安装失败什么原因 :hushed:
      • 星座是射手座:我尝试什么都没有更改反编译后的二进制文件就50M+,这是怎么回事?
      • 江城北望:重新签名后,无法安装。 :cry:
      • pakio:兄弟,有些问题想问你,可不可以加下我的QQ帮我解答下,万分感谢!!!!!!
      • 865020e67958:重新签名不会
      • ADELEX:为啥我签名啥的都显示没问题了,还是无法安装打包出来的ipa
      • 84c0ca424c72:那第二天,第三天,又需要重复这个步骤?
      • ADELEX:验证失败
      • ADELEX:用itools安装失败!
      • 41eX_:...删好友这个逻辑有点难接受
      • Sundial丶Dreams:如果我是你朋友,我也删好友了。
      • 萌小菜:开启暴走模式了。。 :smile:
        萌小菜:@面包大狸 不知道 没试 应该可以
        ali_hilo:@萌小菜 这个方法还可以吗 😂
      • MrOliver:表示hopper,需要翻墙去下载,速度太慢了。
      • 6c6e72a21c11:有以下疑惑:
        1:我在生成签名的时候,用的是发布证书还是开发证书,我看你的截图是开发.(其实我两个都试了一遍) 在生成ipa后 一直装不到手机上,提示ApplicationVerificationFail(应用审核失败)
        2:如果我想装多个微信,改bundleid 是改weichat.app的 info.plist 还是改自己建的那个
        6c6e72a21c11:@xiaotengda0_0 这个方法现在只能在越狱机上装成功了
        63f84a075342:@李恒昌 应该是改plist的id,改成和配置文件一致
      • 46fdc45388ac:问一下这种方式现在是失效了么?
        我按照步骤来,遇到了两个问题,
        1.Mytest1.app文件中无embedded.mobileprovision。不知道这个是不是因为IOS修改了签名文件机制导致的。
        2.用Hopper Disassembler修改内容后shift+command+E生成的文件远比原微信文件小,原wechat.app有150M+,其内部有一个Wechat文件是114M+,这个保存成wechat.app只有50M+... ...
        46fdc45388ac:@面包大狸 不会了。。
        ali_hilo:@十顿十 一毛一样的情况 关键是重新签名不会 😂 会吗
        df1ea0ab38b9:@十顿十 我也是 搞了半天 应该是这个方式不行了 而起里面的变量我发现也变了
      • imageURL:签名不好弄,
      • codebaby121:虾米破解这个早都用了,
      • 码农农农SL:虾米生成了二进制文件,也替换了,可是闪退啊
      • ningcol:bx lr 用的什么语句添加的呀
      • HHHHHHHHHHD:你好 博主。我想问下,找到m7之后 是怎么修改那个值的。我修改不了。麻烦告知。
        星座是射手座:@MYYYYYYYYYYYYYY 你知道怎么改了?麻烦告诉我一下
      • 一__谷__作气:楼主,微信这个我按照您的步骤做出来了,在越狱机子上可以实现功能,但是安装到非越狱手机失败,,,,是齿轮文件有问题么?求教
        一__谷__作气:我的证书签名打包了啊,codesign --verify WeChat.app 验证签名是完好的。一切都正常,就是在非越狱手机安装不上,是我的证书用的不对么?我用的developer 要用Distribution么?
        dimsky:@一__谷__作气 需要证书重新打包
      • 宝锤:从pp助手上下载下越狱软件为什么是2.23k,解压直接失败!
      • 天才小L:简单实用,举一反三,不错不错
      • 万事笔通:cannot read entitlement data@ dimsky 请问知道是什么问题么?用这个codesign -f -s "iPhone Developer: xxxxxxx" --entitlements Entitlements.plist WeChat.app出现的,网上有说用xcode改entitlements 的格式 但是不成功
        万事笔通:@万事笔通 entitlements 原来是这个文件位置放错了
      • Stark_Dylan:Hopper 试用版本不可以导出0.0
        楼主分享一份到邮箱吧 谢谢了
        13301051937@163.com
      • 06f2f16a28bc:今天试了一天,都没成功,打包后的ipa包装不上手机,不知道哪一步出错了,好纠结
      • 06f2f16a28bc:请问Entitlements.plist中的application-identifier怎么填,我填的是Team-id + 我程序的bundle id,请问这样对吗?
        dimsky:@我的ID已经被使用 team id + bundle id
        06f2f16a28bc:@dimsky 只填team ID 嘛?
        dimsky:@我的ID已经被使用 发布证书的 team id
      • CveniEs:为啥我按照上面的方法做, 虾米音乐mac版本没法破解...求解释
      • 吃蘑菇De大灰狼:新人求助,在重新签名第二步的时候:codesign -f -s 报错:
        -bash: syntax error near unexpected token `('
      • 杨鹏_小宝:哪个是二进制文件 拖到hopper的二进制文件是哪个?
        小鬼别多嘴:@dimsky 没懂,到底是哪个文件啊,显示包内容后不是很多文件吗?
        dimsky:@杨鹏_小宝 目标目录下就一个文件
      • balabalabala:虾米音乐 更改二进制文件之后 不让生成啊
      • 75cba68968ad:楼主,重新签名和打包是命令行吗,到这2步不知道怎么操作了,没搞出来,求教
      • 钱塘老酒酿:我们可以通过解压工具在WeChat.ipa/Payload/找到并解压出来。 这一步,就不会操作了,求教
        宝锤:@儡小傀 解压出来了吗?
      • null_null_:有什么意义
      • fb6a3dd53311:好厉害的样子,可惜我是个文科生,不懂……
      • 53eb12663b43:太牛逼了吧
      • d3f92b96f54b:开个安卓的啊😂😂
      • b19d47d5ed1d:先点赞,然后慢慢去看吧,感觉还是挺厉害的。
      • 3fdea9ba144e:来给我整个能多开几个聊天应用的攻略
        3fdea9ba144e:微信加我,我想拜你:heart_eyes:
        dimsky:@倒霉的小葱 把应用的bundle id 改了,重新签名打包就可以。
      • holly_day:无论怎样,给码了那么一大长段的程序猿点个赞
        dimsky:@holly_day 就喜欢你这样的人。
      • 398944e9e75b:很厉害的样子啊
      • 182516fd602b:废这么大劲,得到什么了,人家多走得到的是健康
        2e3faf145fc6:@皛昸 只是技术上的分享而已,不要老是深究它的实际意义~
        dimsky:@皛昸 文章跟健康没啥关系
      • Nathan_Hu:额,但这有什么卵用吗?到最后还是被删好友的:joy:
        dimsky:@Nathan_Hu 壮士在理。
      • Alan梵高:这比装的给10分:relieved:
        dimsky:@Aquaris_li :joy:
      • 茗记西岭雪:分分钟,别逗了
      • 萌小月:不明觉厉
      • Audrey猪小鱼:来个安卓版平安好医生霸占榜首更实惠
        傅hc:@Audrey猪小鱼 有试过?
      • 096fc1d41d01:我也觉得最可怕的是自己骗自己:smile:
        dimsky:@多多好 没有骗自己:joy:,当玩游戏。
      • Nicole林小白:不明觉厉
      • 101a4313fae2:越狱的应用装不上啊
        101a4313fae2:@dimsky 嗯,已经试了,就是Hopper试用时间太短。
        dimsky:@lyonsreader 需要重新签名
      • 枫小梦:虽然不懂,但总觉得好厉害啊!! :joy:
      • 支枕听河声:并没有什么意义呀,健身锻炼,又骗不了自己。
      • 5a7c2642d9ee:显示包内容没发现embedded.mobileprovision
        dimsky:@双鱼七封信 需要选择自己的profile
      • eef5779c207f:步数那怎么编辑 发现改不了数字啊
        dimsky:@索马里猫 16进制
      • 73269e277f2b:安卓的怎么搞
        73269e277f2b: @dimsky 有教程吗,我不懂安卓
        dimsky:@向右滑动解锁我的心 安卓改起来相对来说应该更简单
      • eef5779c207f:修改步数那怎么编辑
      • eef5779c207f:那你那个微信越狱应用是怎么下载的?
        Fang_OSH:@milk_powder 拔掉手机就可以下载了。
        milk_powder:@dimsky没有越狱根本下载不了,弹出提示: 您的设备未越狱,无法安装越狱应用,建议前往正版应用
        dimsky:@索马里猫 在PP助手中就能下载
      • angelababa:有没有不越狱的方法。。
        dimsky:@angelababa 是的
        angelababa:@dimsky 越狱版的微信重新签名可以直接安装?
        dimsky:@angelababa 是不用越狱啊
      • Seeulater:厉害厉害

      本文标题:分分钟让你在 微信运动 霸占榜首

      本文链接:https://www.haomeiwen.com/subject/rvdsrttx.html