砸壳

    砸壳最稳dumpdecrypted

    之前写过一篇 clutch砸壳 的, 但clutch似乎没有100%成功的情况, 所以还是得老司机来.

    编译得到.dylib

    https://github.com/stefanesser/dumpdecrypted
    下载后make一下会生成一个.dylib

    拷贝到设备上

    iproxy 2222 22
    开启一个映射后:
    scp -P 2222 dumpdecrypted.dylib root@localhost:/tmp/

    获取App目录

    启动下目标App,cycript到进程中, 输入:

    NSHomeDirectory()
    

    拷贝.dylib到App目录

    退出cycript,切换到App目录后:
    拷贝.dylib 到得到的目录:

    cp /tmp/dumpdecrypted.dylib  .
    

    mible用户查看进程:

    su mobile    #切换普通用户
    

    开始砸壳

    启动下App,然后:

    ps -e  | grep /Application   #查看App进程,我们需要正确的二进制文件地址
    
    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib <上面的二进制地址>
    

    查看文件


    Nov 24, 2017
    reverseEngineering

    clutch对app进行砸壳

    逆向学习相关,实战一下对app的砸壳,砸壳必须要越狱手机哦.

    什么是壳

    一个App无论是Android还是ios, 或者是PC平台, 为了保护app都会加上一层壳, 加壳的app可能无法被一些IDA之类的工具解析, 那么也就无法搞事情,所以砸壳是必须走的一步,也可以从某助手平台下载已砸壳的, 当然最好用下面的命令确认下先.
    怎么查看一个app是否有壳, 可以使用下面的命令, 替换为App的二进制文件查看:

    otool -l targetBinary | grep cryptid
    

    得到的结果如果是1则是未砸壳的, 0是已砸壳.
    还有一种情况是一些App支持多种架构的,可能会展示多个cryptid=1/0, 在哪个平台跑就砸哪个.

    确定目标后安装App

    我这里以麦当劳App(听说改名金拱门)为例,从appStore下载安装.

    编译clutch二进制文件

    clutch神器 下载地址 , 下载编译后允许会得到一个二进制文件, 这里不累述哈, 或者你可以直接从我的 git地址 clone我编译后的,在clutch_binary文件下.

    拷贝clutch到设备

    连接手机


    我这里用iproxy从22映射到2222端口,并整个过程保持. 右边线尝试登录下,默认密码是alpine, 其他情况就自行谷歌帮助,我相信这没什么难度.

    iproxy 2222 22
    ssh root@localhost -p 2222
    

    测试连接成功后输入 exit 退出,接着下一步

    scp拷贝到手机

    scp(secure copy) 支持ssh协议远程拷贝, 我们用它拷贝到设备上, 前提是上面的
    的测试成功了.

    scp -P 2222 ./clutch root@localhost:/usr/bin/
    


    如果这样子的话就成功了, /usr/bin/默认已经在环境变量查找内, 拷贝到这里可以省事很多多.

    找到目标

    先介绍下clutch用法:

    推荐ios-deploy -B可以获取bundleID, brew install ios-deploy就可以安装了.

    例如我这里的目标是麦当劳app, 尝试搜一下mc,果不其然就是它了.
    拿到的bundleID就是com.mcdonalds.gma
    (嗯, 还有个grep的方法更简单,但是我真的不知道它是麦当劳, 因为他显示的是Arch,所以靠谱的话就还是上面,BundleID基本会跟名称一直吧)

    Nov 17, 2017
    reverseEngineering