ios协议逆向难吗 | 您所在的位置:网站首页 › Ios逆向 › ios协议逆向难吗 |
iOS协议逆向并不是一件容易的事情,但也不是不可能完成。首先,您需要了解iOS协议的基本知识,包括它的结构、功能、架构、安全机制等。其次,您需要掌握一些iOS开发和调试技术,包括Xcode、Objective-C、Swift等。最后,您需要掌握一些iOS逆向工具,如Hopper、IDA Pro、Frida等。只有当您掌握了上述技术和工具,才能够完成iOS协议的逆向工作。总之,iOS协议逆向并不是一件容易的事情,但只要您肯努力,经过一段时间的学习和实践,您也能够掌握iOS协议的逆向技术。从业iOS后,也算兢兢业业,平时关注一些OC,swift动态,看别人造的完美轮子来学习,而自己造的轮子和自己做的饭有相同功效,只有自己能吃的下去。然而这并不是重点,重点是自己一直忽略的ios黑产,其实依然一片繁荣。
最近会帮朋友搞一些ios破壳和逆向、外挂的功能,也算是涨了见识。下面列举一些常见的黑产需求:
杂谈: 时间久了,到现在记得的一些逆向过程中印象比较深的事情。
游戏启动的时候要验证授权,没有授权直接kill。 程序启动的时候,有6、7个方法判断是否是越狱手机,是越狱手机kill,加大逆向成本。 修改程序中的所有连接域名,换壳。 还有逆向的较量,别人加的外挂防破解,而你又要去破解他的外挂,逆向之防逆向。
最近的需求时在别人破解过的包中再次破解。 原始App是一个保险销售使用的销售软件,被人破解,加入随时随地指定坐标打卡。但是加了一个授权码,收费使用。 而我的需求就是在已破解的情况下,再次绕过授权码。 通过抓接口,找到验证接口域名,然后确定是每个动态库 的作用。(以为是已经破解的,所有 framwork 目录下已经有了5,6个自定义的dylib)。
如下:其中真实名字已隐藏,毕竟搞别人的app不太地道。
经确定控制验证的库为 custom3.dylib,然后用hopper找验证函数。
其中 !@#$*@#(!@^#(!@^#(!@^# 为key,我就想着直接在启动时写入正确的激活码就可以了。但是并不是一帆风顺,key其实和设备有绑定关系,这个被我忽略了,走了挺多弯路才知道。所以我还需要修改设备的标示,继续找。
额,然后在想办法在 UUIDManager getUUID 返回已经绑定过的UUID就可以。
这个算是通过了。但是要有一些dylib打包的错误。这个都是小问题了。
如果是做ios开发的话,对逆向有了解的话,对开发和安全都会有提高,比如上面的key就可以不用写成明文。 1/进入目录 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 找到手机对应版本,点开dmg;拷贝debugserver备用 /usr/bin/debugserver 2/修改权限 导出权限 修改内容 编辑后将其合入debugserver【注意-S后面不要空格】 3/将编辑完成的文件放入手机的/usr/bin目录 电脑端操作- 手机端操作-如果有过操作,需要删除debugserver 在Mac上打开命令行窗口,让10011端口与10011端口映射、10010与22端口映射 在Mac上新建命令行窗口,然后SSH登陆到手机 登录到手机后,启动手机的debugserver服务,让其与App建立交互 在Mac上新建命令行窗口 使用LLDB命令c,先让程序继续运行 测试 breakpoint使用 1、下断点 或 打印: 断点位置信息,执行便能在该处断住。 连续下多个断点: 运行 c 继续运行, n 单步执行, s 进入函数内部执行,finish执行到函数尾部。 2、查看断点列表 打印: 3、禁用断点 4、启用断点 5、删除所有断点 删除只能删除一组,不能单个删除 6、设置 selector 将为所有该方法设置断点 7、设置文件中的 selector 断点 8、设置带有相同字符串的方法断点 打印: 如上也给其他带有 Game 字符的类下了断点。 给某一个文件下的带有相同字符串的方法下断点: bt、frame命令 1、查看函数相关信息,使用 p、down 追踪函数的调用和被调用关系 使用 bt 命令查看函数调用堆栈 2、查找方法的调用者及方法名称 methods、pviews 1、 methods 打印当前对象的属性和方法 2、 pviews 打印当前视图的层级结构 以上两个命令是 lldb 插件名中的命令。 chisel安装 …… 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/yw/7991600.html |
CopyRight 2018-2019 实验室设备网 版权所有 |