蓝月. 2024-03-05 22:04 采纳率: 0%
浏览 13
已结题

写一个类似的源m.通过拦截域名重写 JSON 数据,可正则表达式匹配数据

写一个类似的ym ,通过拦截域名重写 JSON 数据,可正则表达式匹配数据 theos 或 xcode 编译

重写数据可放数据库随时读取

主要用 xcode 编译成 dylib,注入 IPA 使用,重写的 JSON 数据需要实现服务器对接

有人会吗 ?求

  • 写回答

19条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-03-06 00:49
    关注
    获得0.60元问题酬金

    🌈🌈🌈参考通义千问和郭老师的小迷弟雅思莫了-编写提供🌈🌈🌈
    您可以参考如下,如果回答的不正确,及时评论区回复我,我会根据你错误描述追加回复,直到您满意为止。

    你的需求涉及到iOS逆向工程和动态库注入,这在iOS开发中是相对复杂和敏感的部分,因为苹果的严格安全策略。以下是一个大致的思路,但请注意,这种做法可能违反苹果的开发者协议,并可能导致应用被拒绝或设备被封禁。

    1. 创建动态库(Dylib): 你可以使用Xcode创建一个新的Cocoa Touch Static Library项目。在这个库中,你需要编写一个类别或者函数,用于拦截网络请求,重写JSON数据。

    2. 网络请求拦截: 你可以使用NSURLProtocol来拦截HTTP/HTTPS请求。你需要注册自定义的URL协议,然后在startLoading方法中处理请求。

      class MyURLProtocol: NSURLProtocol {
          override class func canInit(with request: URLRequest) -> Bool {
              // 检查是否需要拦截此请求
          }
      
          override func startLoading() {
              // 拦截请求,修改JSON数据
              // ...
              // 然后调用client的didReceive方法发送修改后的响应
              client?.urlProtocol(self, didReceive: modifiedResponse, cacheStoragePolicy: .NotAllowed)
          }
      }
      
    3. 正则表达式匹配并修改JSON数据: 在startLoading方法中,你可以使用NSDataDetector或者直接使用正则表达式来查找并修改JSON数据。

    4. 数据存储与读取: 你可以使用UserDefaultsCoreData或者SQLite来存储和读取重写规则。每次启动应用时,加载这些规则到内存中。

    5. 注入Dylib: 你可以使用Cydia Substrate(或它的替代品如substrate-safe)来注入你的dylib到目标应用中。这通常需要越狱设备。

    6. 服务器对接: 你可能需要在服务器端也实现类似的功能,以保持规则的同步。你可以设计一个API来获取或更新这些规则,然后在客户端调用这个API。

    这只是一个基本的思路,实际的实现可能会更复杂,需要对iOS底层机制有深入的理解。如果你没有相关经验,可能需要寻求专业的逆向工程师的帮助。而且,这种方法并不适用于App Store的审核,只能用于越狱设备或者企业内部测试。

    评论

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 赞助了问题酬金15元 3月6日
  • 修改了问题 3月5日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见