爱伪装(AWZ)/爱立思(ALS)改机改串一键新机原理分析

安装过苹果插件的都知道,点开Cydia ,点软件源,再点编辑,再点添加,添加阿里源,5b8532f18f064d3095fbf399f8e44091.png

爱伪装(AWZ)/爱立思(ALS)是一款iOS越狱系统上的改机工具,可以修改多种系统参数达到伪装设备型号及各种软硬件属性的目的,同时提供了防越狱检测机制,常用于iOS上的推广刷量,配合代理/VPN使用。 除了AWZ以外,该软件商还有类似工具ALS/IGG/LRN/NZT/AXJ等,功能大体一致。AWZ/ALS支持iOS 7/8/9/10/11/12的全息备份,一键新机功能dccdbdf768de4b61bb1fd55344265fe9.png

AWZ伪装哪些参数?

第一阶段

第二阶段

在第一阶段破解后,仍然是闪退的,此时反调试已经去除,所以可以加调试器看检测点

  • IDFA
  • IDFV
  • 用户名
  • 系统版本
  • 设备型号,固件版本
  • User-Agent
  • 移动网络运营商信息
  • 地理位置
  • uname / sysctl等参数
  • WIFI SSID BSSID
  • IMEI
  • 序列号
  • MAC地址

    分析要点这里只做学习讨论改机原理及ALS自身反逆向机制。ALS安装后,有如下文件:

  • /Applications/ALS.app 主程序,用于生成改机参数,参数保存在
  • /Library/LaunchDaemons/dhpdaemon.plist 用于daemon方式执行DHPDaemon,用于帮助ALS实现一些隐藏操作
  • /usr/bin/DHPDaemon
  • /MobileSubstrate/DynamicLibraries/ALS.{dylib,plist},该tweak通过hook一些可以获取系统属性和app属
    性的C函数和ObjC函数实现的修改app参数
  • ALS属性2755防止加载tweak
  • 存在restrict段,防止被加载tweak
  • 存在syscall函数进行ptrace系统调用,存在ptrace函数,以及svc汇编指令实现的ptrace,防止调试器附加

  • 对于restrict段和汇编指令反调试的处理,解法就是patch文件然后重签名,但是要写一个通用的命令是比较困
    难的,慢慢收集吧,这里提供的方式如下:
    sed -i 's/RESTRICT/RXSTRICT/g' ALS
    sed -i 's/x80x52x01x10x00xd4/x80x52x1fx20x03xd5/g' ALS

  • 对于文件属性和函数级的反调试,方法不再赘述,写tweak即可
  • -[NSBundle executablePath]检测主进程文件是否被修改
  • _dyld_get_image_name检测tweak模块
  • sysctl检测进程的p_flag是否有调试器flag
  • isatty检测终端
  • ioctl(TIOCGWINSZ)检测终端
  • fopen检测主进程文件是否被修改(在DHPDaemon中)
  • posix_spawn检测/Application/ALS.app下是否存在超过3M的文件(补丁啊)

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>