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:修改软件

如图所示,只需要修改两个跳转即可完成软件破解。

原文地址:https://www.cnblogs.com/heycomputer/p/11875469.html

时间: 2024-07-30 09:34:04

Plist文件编辑工具PlistEdit Pro 1.9.1动态调试分析的相关文章

Fedora 25 (linux平台)开源的PDF文件编辑工具——PDF mod

Fedora 25 (linux平台)开源的PDF文件编辑工具--PDF mod PDF文件具有非常好的跨平台属性,无论你在哪个平台用哪个PDF阅读器打开,其格式是永远不变的.但是缺点也很明显,文本文件或者图文混排文件,要想再次编辑就有很大难度了. Document viewer作为fedora 25默认PDF阅读器,用来阅读PDF文件没什么大问题,但是如果要修改一下PDF就显得不够强大了. PDF Mod是一款编辑 PDF 文件很方便的工具.包名:pdfmod PDF Mod 让用户可以移除页

DSP-Quattro 5(音频文件编辑工具)

DSP-Quattro 5 Mac特别版是一款由斯特凡诺·迪诺公司开发的音频文件编辑软件,DSP-Quattro 5的功能非常的强大,可以让你的电脑成为一台专业的音频编辑工具,只要有了DSP-Quattro 5使用最新的MacOS库编译,这款这么好的工具有新的完全可编程批处理器,你也可以成为音频编辑制作达人.在家就可以进行音频的编辑和创作. DSP-Quattro 5 Mac软件介绍 DSP-Quattro 5 Mac特别版具有64位音频和图形引擎,多线程内部引擎,使用最新的MacOS库编译,为

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

链接:http://skysider.com/?p=458 IDA Pro使用(静态分析+动态调试) 1.静态分析 IDA FLIRT Signature Database -- 用于识别静态编译的可执行文件中的库函数 IDA signsrch -- 寻找二进制文件所使用的加密.压缩算法 IDA scope -- 自动识别windows函数和压缩.加密算法 Ponce -- 污点分析和符号化执行工具 snowman decompiler -- C/C++反汇编插件(F3 进行反汇编) keyst

最强反编译工具 ida pro 6.6 x86 arm x64 f5全插件原始安装文件泄露版 + sdk_utils

最强反编译工具 ida pro 6.6 x86 arm x64 f5全插件原始安装文件泄露版 + sdk_utils 完整安装包+6.6最新sdk工具包 国内某团购群泄露的的版本 x86 arm x64 f5插件为2.0的版本 正版价值人民币3-5万 6.6更新的内容 IDA: What's new in 6.6 x64 Decompiler It was tough and it required even more research than was planned but finally

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

FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函数库以及源代码供我们按需使用.FFmpeg提供了非常强大的功能,可以完成音视频的编码.解码.转码.视频采集.后处理(抓图.水印.封装/解封装.格式转换等),还有流媒体服务等

PDF编辑工具哪个好 如何修改编辑PDF文件

PDF编辑工具哪个好 如何修改编辑PDF文件?相信很多人都会,这里还是讲下方法,这样可以多学一种方法的,可以提高工作效率. 1.首先安装迅捷PDF编辑器,然后打开PDF文件,PDF文件最好放在一个文件夹里,这里点击文件下面的打开就可以. 2.这里是注释,可以为PDF文件添加注释,说明自己在这做过什么,也方便快速查找. 3.添加好文件之后就是编辑修改PDF文件啦,点击图片中的按钮修改PDF文件,也可以全屏移动鼠标到编辑内容,然后在需要修改的文件上双击. 4.在空白的地方可以添加文本,点击工具添加文

编辑PDF用什么工具比较合适?怎样使用PDF编辑工具去编辑PDF文件?

编辑PDF用什么工具比较合适?日常的办公中很多的办公人员都会用到PDF文件,但是对于编辑PDF的操作就不太精通了.今天小编给大家分享一下可以直接编辑PDF的方法,这样我们就可以根据需求进行PDF文件的编辑了.我们是怎样使用这种工具的呢?一起看看吧! 编辑PDF工具:PDF编辑器PDF编辑器功能介绍:在PDF编辑器的页面中,我们可以看到上方的功能栏中有六种功能.分别是编辑(复制.粘贴.属性.查找等),视图(工具栏.缩放.书签等),文档(页眉页脚.水印.背景.插入页面等),注释(汇总注释.导入注释等

Cocos数据篇[3.4](4) ——plist文件操作

[唠叨] 在Cocos中,plist文件 是非常常见的配置文件.它是特定格式的xml文件. 例如:小图打包成大图的纹理图片.制作粒子特效.帧动画等,都用到了plist文件作为配置文件. 本节要介绍的是:如何创建plist文件,以及读取plist文件中的数据信息. [扩展阅读] http://zh.wikipedia.org/wiki/Plist (维基百科) http://zengrong.net/post/1981.htm (COCOS2D-X中的PLIST文件格式详解) http://cn.

Plist文件和字典转模型

模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲 key如果写错了编译器也不会报错 2. 模型概念 概念 专门用来存放数据的对象 特点 一般继承自NSObject 在.h文件中声明一些用来存放数据的属性 注释 //单行注释 / /多行注释 /* /文档注释,调用属性时会显示出来文档注释 使用模型的好处 模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性 使用模型访问属性的时候,编译器会提供一系列的提示,提