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动态调试分析的更多相关文章

  1. Linux文件编辑工具——VIM

    Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...

  2. IDA Pro使用(静态分析+动态调试)

    链接:http://skysider.com/?p=458 IDA Pro使用(静态分析+动态调试) 1.静态分析 IDA FLIRT Signature Database —— 用于识别静态编译的可 ...

  3. 【强大的视频编辑工具】Adobe Premiere Pro CC 2019 for Mac

    [简介] PR CC是视频编辑爱好者和专业人士必不可少的视频编辑工具.它可以提升您的创作能力和创作自由度,它是易学.高效.精确的视频剪辑软件.PR CC提供了采集.剪辑.调色.美化音频.字幕添加.输出 ...

  4. Duplicate Manager Pro for Mac(重复文件查找工具)破解版安装

    1.软件简介    Duplicate Manager Pro 是 macOS 系统上一款重复文件查找工具,可以帮你在 Mac 电脑上查找出磁盘上面的重复文件,然后让你对这些重复文件进行判断并删除,使 ...

  5. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  6. day59:Linux:编辑工具vim&文件类型&文件属性

    目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具,  和windows的n ...

  7. [系统安全] 十六.PE文件逆向基础知识(PE解析、PE编辑工具和PE修改)

    [系统安全] 十六.PE文件逆向基础知识(PE解析.PE编辑工具和PE修改) 文章来源:https://masterxsec.github.io/2017/05/02/PE%E6%96%87%E4%B ...

  8. 日志查看工具 logviewer pro的使用

    1.logViewer Pro 介绍 logViewer Pro 是一款log文件查看器,它可以在短短数秒内打开上G的LOG文件,支持高亮某行文字(例如警告,错误),支持Unicode名字,支持查看的 ...

  9. Plist文件和字典转模型

    模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲 key如果写错了编译器也不会报错 2. 模型概念 概念 专门用来存放数据的对象 特点 一般继承自NSObje ...

随机推荐

  1. python教程:用简单的Python编写Web应用程序

    python现在已经成为很多程序员关注的编程语言之一,很多程序员也都开始弄python编程,并且很多时候都会用自己的操作来选择,而现在不管是程序员还是少儿编程,都会有python这门课,今天就和大家分 ...

  2. python 开机 定时启动

    Windows开机自动运行.py文件1.找到写好的.py文件,例如我的.py文件路径:D:\编程测试文件\untitled\03131105.py 2.选中文件03131105.py,右键——属性—— ...

  3. kibana内存设置

    kibana是一个基于NodeJS的单页web应用.而NodeJS则是基于Chrome V8引擎的.V8引擎对于内存的使用是有限制的,默认情况下,64位系统下约为1.4GB,32位系统下约为0.7GB ...

  4. 回归写博客时间-----CeliaTodd

    2019-10-17-19:28:01 记录自己的学习路程 国庆期间本来是有持续写博客的,但是有各种原因就没时间写博客了, 但是学习的进度还是没有落下的,现在正式回归写博客的时间了. 但现在不是写Py ...

  5. pandas-15 df['one_col'].apply()方法的用法

    pandas-15 df['one_col'].apply()方法的用法 apply有点像map的用法,可以传入一个函数. 如:df['A'].apply(str.upper) import nump ...

  6. JavaScript之DOM节点操作

    a.appendChild(b)  追加标签 a是b的父级,将b追加到a中 追加标签  a.insertBefore(b,c);  a是b和c的父级,在c前面插入b 删除标签  a.removeCli ...

  7. Linux内核同步机制之completion

    内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束.这个活动可能是,创建一个新的内核线程或者新的用户空间进程.对一个已有进程的某个请求,或者某种类型的硬件动作,等等.在这种 ...

  8. rabbitmq:新建用户登陆rabbitmq management失败

    参考文档:https://www.rabbitmq.com/management.html#permissions 安装好rabbitmq之后,遇到一个问题,新建的账号无法在rabbitmq的UI界面 ...

  9. MySQL5.7应当注意的参数

    简介: 本篇文章主要介绍 MySQL 初始化应当注意的参数,对于不同环境间实例迁移,这些参数同样应当注意. 注: 本文介绍的参数都是在配置文件 [mysqld] 部分. server_id 和 log ...

  10. day 04 作业 预科

    目录 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定义方式和使用方法. 数字类型 字符串类型 列表 字典 词云图 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定 ...