ios 支付宝支付 回调数据_iOS逆向支付宝

42ddc34c2cef69aad25983883b5cb326.png

  • 去掉 ptrace 和 __RESTRICT section 两个保护

  • 脱壳和dump头文件

  • 分析和调试

  • 编写Tweak

  • 总结


环境

  • MacBook,iPhoneX,iOS 9.3.3越狱, iOS支付宝10.1.5

工具

  • theos

    Tweak制作工具

  • xcode

    用lldb来附加调试

  • class-dump

    导出头文件

  • dumpdecrypted
    > 脱appstore的壳

  • iHex

    二进制编辑器

去掉 __RESTRICT section  和 ptrace 两个保护

  • 去掉 __RESTRICT section 步骤

  • ssh到手机 执行命令 ps -e

  • 找到 /var/containers/Bundle/Application/DD6D8BA3-95F2-4C6D-BFD7-0E20420A6E9C/AlipayWallet.app/AlipayWallet

  • 切换到mac电脑 使用scp命令 把执行文件拷到电脑上scp root@192.168.2.2:/var/containers/Bundle/Application/C6F2DD99-6450-4838-98B8-2899E8EBC1A4/AlipayWallet.app/AlipayWallet /Users/hack/Desktop/wz

  • 打开iHex 查找command+f 把 RESTRICT和restrict替换为其他值(比如:RRRRRRRR和rrrrrrrr。保证长度不变就行啦)看图1

    bb22cf224f8fd6a0cbd5710744208738.png

  • 拷贝文件回去scp /Users/hack/Desktop/wz/AlipayWallet root@192.168.2.2:/var/containers/Bundle/Application/C6F2DD99-6450-4838-98B8-2899E8EBC1A4/AlipayWallet.app/AlipayWallet

  • 如果打开闪退 请Cydia中安装 AppSync

  • 去除ptrace保护

  • 使用theos 创建Tweak 代码如下 安装到手机就可以

#import 
#import
static int (*orig_ptrace) (int request, pid_t pid, caddr_t addr, int data);
static int my_ptrace (int request, pid_t pid, caddr_t addr, int data){
    if(request == 31){
     NSLog(@"[AntiAntiDebug] - ptrace request is PT_DENY_ATTACH");
    return 0;
    }
   return orig_ptrace(request,pid,addr,data);
}

%ctor{
   MSHookFunction((void *)MSFindSymbol(NULL,"_ptrace"),(void*)my_ptrace,(void**)&orig_ptrace);
   NSLog(@"[AntiAntiDebug] Module loaded!!!");
}

脱壳和dump头文件

  • 执行命令 cycript -p AlipayWallet 注入支付宝进程

  • 执行命令 [[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

  • 看到返回 /var/mobile/Containers/Data/Application/5E744C4A-5B05-4280-A21C-9E6EFE8EF51

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值