Plist文件编辑工具PlistEdit Pro 1.9.1动态调试分析
Posted heycomputer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Plist文件编辑工具PlistEdit Pro 1.9.1动态调试分析相关的知识,希望对你有一定的参考价值。
0x00:简介
PlistEdit Pro是为macOS平台最优秀的属性列表和JSON编辑器。
Mac和ios开发人员在开发应用程序时必须编辑各种属性列表和JSON文件。PlistEdit Pro通过提供直观和强大的界面,使编辑这些文件变得更容易。除了能够复制、粘贴或拖放属性列表数据之外,PlistEdit Pro还提供了强大的查找和替换功能,以及结构定义,可以方便地访问各种标准属性列表文件中常用的键。
高级用户还可以从PlistEdit Pro的preferences浏览器中获益,该浏览器允许轻松访问macOS用于在系统上存储设置的属性列表。浏览您的首选项,或者立即搜索plist文件的整个文件夹,以获得特定的键或值。PlistEdit Pro还通过它的Applescript支持和它的pledit命令行工具,实现了涉及属性列表的任务的自动化。
官方网址:https://www.fatcatsoftware.com/plisteditpro/
下载地址:https://www.fatcatsoftware.com/plisteditpro/PlistEditPro.zip
未破解前,软件不能保存修改后的文件,并且有提示注册的按钮,如图:
0x01:静态分析
使用Hopper加载目标程序/Applications/PlistEdit Pro.app/Contents/MacOS/PlistEdit Pro。
动态调试时需要合理的设置断点,这就需要我们先进行静态分析之后找到关键的函数,或者关键的跳转等。
静态分析前,我们先看看软件给我们的提示信息有哪些,因为要破解成注册版,所以我们走一遍注册流程,依次点击“PlistEdit Pro”-->“Registration...”
来到软件注册窗口,填写用户名和注册码后(不知道正确的license是什么,所以此处填写的当然是错误的注册信息)点击“Register”按钮,软件给出如下图所示提示信息:
我们在Hopper中,搜索"The name/serial number combination you have entered is not valid. Please check both the serial number and your name to ensure they exactly match your registration information and try again."这句字符串。
通过查找字符串的调用位置,我们找到了关键判断函数"PERegistrationValidator validationInfoForRegistrationInfo"
在函数的起始位置设置断点,如下图所示:准备下一步的动态调试。
0x02:动态分析
打开本地调试器,点击运行按钮。重复上一步的注册操作,软件断在我们设置好的断点,如图所示:
点击我们想要跳转的位置,这里我们直接选在第一个跳转的位置,然后点击运行到指定位置的按钮,如图所示:
查看下跳转标记,为成功跳转,如图:
取消ZF标记按钮选中状态,点击单步跟踪按钮,如图:
这一步如此操作是有理由的,如果我们想完整的调试一个函数,尽量让该跳转的地方不跳转,那样就可以分析函数每一步都在做什么。
继续重复上述操作,程序运行结果如图所示:
软件成功注册。
0x03:修改软件
如图所示,只需要修改两个跳转即可完成软件破解。
以上是关于Plist文件编辑工具PlistEdit Pro 1.9.1动态调试分析的主要内容,如果未能解决你的问题,请参考以下文章