Proxifier逆向分析(Mac)

2023-11-06

简介 
      Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。

概念

      支持 64位系统,支持Xp,Vista,Win7,MAC OS ,支持socks4,socks5,http代理协议,支持TCP,UDP协议,可以指定端口,指定IP,指定域名,指定程序等运行模式,兼容性非常好。有点类似SOCKSCAP。

作用

      有许多网络应用程序不支持通过代理服务器工作,因此不能用于局域网或防火墙后面。这些会损害公司的隐私和导致很多限制。Proxifier解决了这些问题和所有限制,让您有机会不受任何限制使用你喜爱的软件。此外,它让你获得了额外的网络安全控制,创建代理隧道,并添加使用更多网络功能的权力。

    Proxifier官网地址是:https://www.proxifier.com/,主页如下图所示。

图片

 

      虽然Proxifier功能非常强大,通过Proxifier官网我们也看到了它是一个收费软件。因此,我通过这篇文章来分析下这个工具除了功能外是否也在安全方面做了不少工作呢。

 Mac 端逆向分析      

      用到工具:

      xcode

      frida

      ida

      我这里的mac环境版本是macOS Catalina 10.17,如下图所示。

图片

去官网下载最新版本的Proxifier,这里我这个版本的系统他最新更新日志是Version 2.26 (2019.11.13),我们就下这个版本,如下图所示。

图片

我们安装它之后启动界面如下图所示。

图片

图片

现在我们开始逆向分析这个程序,首先我们先看看这个软件是否能够调试,也就是先看它我们所说的是否有反调试,这里我直接用xcode去附加它(怎么附加这里不说,下面有的地方可能没说到,不再说明,详细视频教程可以联系作者。),如图所示,发现是可以直接调试的。现在我们去分析它这个程序是什么写的(主要分析他是Qt、js、还是原生程序)。

图片

    我们通过xcode集成的lldb调试器打印这个程序的所有模块,如下图所示,发现这个程序是一个原生程序。

图片

    那好现在我们思考一个问题,你是一个研发要实现一个付费功能,或者需要序列号(购买的key)来激活它,那如何现实呢。先简单实现,拿后者来说首先是要提供一个输入框给用户输入序列号,然后提供一个按钮给用户点击确定,后面的事情就是内部检测是否为真的代码部分。因此现在回来我们做为一个逆向分析者,我就从用户点确定那开始分析。我们先在系统模块(AppKit)下一个点击事件的断点,如图所示,这里我们看寄存器rdx(rdx保存的是一个函数签名),我们直接就能看到一个okRegWindow:的函数(没有做名称混淆)。

图片

    现在我们找到了用户模块(上面我们下断点的是系统模块)实现点击事件的函数,通过ida分析找到这个函数逻辑,如下图所示。

图片

继续分析他的代码逻辑定位到函数sub_10003581E是主要检测函数,如图所示。

图片

图片

图片

通过上面发现有一个很明显地方,他调用objc_msgSend(NSApp, "stopModal");,这句话的意思就是把窗口结束模态状态(也就是窗口可以接受用户点击),我们也发现如果没注册的情况下是不能点击后面窗口的,如下图所示,猜测如果正确他就会调用这里。

图片

我们用xcode调试去验证,如下图所示。

图片

我们修改下这个函数返回值(强制让他判断正确),如下图所示。

图片

发现与猜测的不一样(函数里面没有成功逻辑,可以自己动手去调试。),那我们换个思路,现在知道了他点击事情是okRegWindow:函数,找到这个函数对应的类名(ProxifierAppDelegate),如下图所示。

图片

到这里我们用另一个工具frida去追踪这个类在软件启动的时候调用了哪些函数,如图所示,发现nagwindow函数可疑。

图片

hook这个函数打堆栈,如下图所示。

图片

找到偏移0x5de9,通过ida去定位这个函数,然后分析最后定位到函数名NagNotifyReceived:,从名字上来看就可能是一个监听线程函数,然后调用doModal函数,把窗口注册成非模态(不接收用户点击)。

图片

通过分析我们大概知道了这个软件付费功能的实现逻辑,安全性不高想破解它还是不难,这里就不多说什么了。

 

Android10系统源码内核定制开发从入门到入坑

Cygwin下ndk standalone版本的交叉编译环境搭建(Root研究)

ARM64逆向基础

安卓逆向之ARM汇编基础

 

走过路过的大佬们留个关注再走呗,后续精彩文章不断,方便第一时间接收到最新文章图片图片图片图片

图片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Proxifier逆向分析(Mac) 的相关文章

  • GPG 错误由于没有公钥,无法验证下列签名

    问题描述 输入apt get update 时 提示 没有数字签名 无法安全地用该源进行更新 所以默认禁用该源 主要原因是由于apt get update没有公钥 无法验证下列签名 错误 1 http mirrors aliyun com
  • Vuex状态管理详解

    Vuex详解 学习目录 vuex介绍 解释 Vuex是一个专门为Vue js应用程序开发的状态管理模式 它采用集中式存储管理应用的所有组件 并以相应的规则保证状态以一种可预测的方式发生变化 配套的公共数据管理工具 它可以把一些共享的数据放到
  • Styles and Themes

    http blog csdn net recordgrowth article details 52310974
  • 下载matlab内存不足怎么办,MATLAB 内存不足 "Out of memory" 解决办法

    如果你的系统是32位系统 进程最大支配2G空间 另外2G给系统进程了 在使用matlab 运行耗内存程序时候 会可能出现 out of memory 错误 这是因为matlab没有足够内存可以使用的缘故 解决的简单方法是加内存和升级为64位
  • Flash Linux to eMMC

    实验目的 从eMMC启动Linux系统 Step1 确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区 就是eMMC 实验中是位于mmcblk1上 root am64xx evm ls l dev mmcblk brw
  • QT入门Input Widgets之QScrollBar

    目录 一 界面布局功能 1 界面位置介绍 2 控件界面基本属性 2 1 horizontalScrollBar界面属性 3 样式设置 此文为作者原创 创作不易 转载请标明出处 一 界面布局功能 1 界面位置介绍 QScrollBar主要分为
  • Python使用Matplotlib可视化多组并排的柱状图

    Python使用Matplotlib可视化多组并排的柱状图 Matplotlib是Python中最流行的数据可视化库之一 它可以创建各种类型的图表 包括线性图 散点图 饼图等等 在本文中 我们将重点介绍如何使用Matplotlib库创建多组

随机推荐

  • CyclicBarrier调试

    一CyclicBarrier 控制所有线程等待 知道达到某种条件 所有的线程才会继续走下去 是一个同步工具类 它允许一组线程互相等待 直到到达某个公共屏障点才停止等待 与CountDownLatch不同的是该barrier 屏障 在释放等待
  • 在vw中运行linux,Windows系统直接运行Linux,竟是如此简单

    要想在Windows10以前的系统上 运行Linux程序是比较复杂的 需要使用cygwin之类的工具 不仅下载慢 而且功能有限 后来出现了诸如VirtualBox VMWare Workstation和Microsoft Hyper V之类
  • 使用python随机生成IP+域名并写入excel表

    题目要求 使用python随机生成IP 随机域名 并创建excel表 将生成的随机IP与域名数据写入 代码如下 import random import socket import struct import xlwt book xlwt
  • Window 安装Hive

    基本环境资源 Hadoop 2 7 X Hive 2 1 X bin tar gz 版本 Hive 1 x src tar gz 源码版本 第一步 windows 安装Hadoop2 7 x 请参考 第二步 下载Hive tar gz 官网
  • ASP.NET Core 企业级开发架构简介及框架汇总

    ASP NET Core 企业开发架构概述 企业开发框架包括垂直方向架构和水平方向架构 垂直方向架构是指一个应用程序的由下到上叠加多层的架构 同时这样的程序又叫整体式程序 水平方向架构是指将大应用分成若干小的应用实现系统功能的架构 同时这样
  • VScode连接本地Docker

    一 安装VScode和Docker 1 vscode的安装 官网下载到最新的X64安装包 然后使用下述命令进行安装 dpkg i code 1 73 1 1667967334 amd64 deb 安装成功之后 可以在应用的安装列表中查看到
  • OpenHarmony学习笔记——Hi3861使用DHT11获取温湿度

    文章目录 前言 DHT11简介 通信流程 硬件连接 编程实现 GPIO API简介 复位总线 DHT11应答 数据读取 效果一览 总结 目录 前言 此文主要是使用Hi3861的GPIO口 模拟1 Wire时序 获取类单总线协议器件DHT11
  • 2023中国人工智能成熟度模型报告

    本报告基于三大关键指标 参考市场规模 融资事件等公开资料 并结合了AI行业内硬件 模型 应用不同领域的各位专家观点 构建涵盖40 技术点的中国人工智能成熟度模型 为技术的应用决策和未来投资参考提供研究分析工具 关注公众号 互联互通社区 回复
  • xp系统itunes无法连接服务器失败,xp系统iTunes无法连接到iTunes store的修复步骤

    今天和大家分享一下xp系统iTunes无法连接到iTunes store问题的解决方法 在使用xp系统的过程中经常不知道如何去解决xp系统iTunes无法连接到iTunes store的问题 有什么好的办法去解决xp系统iTunes无法连接
  • NoSQL数据库入门

    一 NoSQL数据库概述 NoSQL 是一种不同于关系数据库的数据库管理系统设计方式 是对非关系型数据库的统称 它所采用的数据模型并非传统关系数据库的关系模型 而是类似键 值 列族 文档等非关系模型 NoSQL 数据库没有固定的表结构 通常
  • java截取某两个字符之间的字串_Java截取特定两个标记之间的字符串实例

    Java截取特定两个标记之间的字符串实例 如有一串字符串 higklmnopq java代码如下 public class StringTest public static void main String args String str
  • linux 下安装编译配置 QT

    注 1 自己 make qt everywhere opensource src s时 在 configure前主动装好下面3个 sudo apt get install libX11 dev libXext dev libXtst dev
  • 声灭火器火灾数据集-Acoustic Extinguisher Fire Dataset

    Acoustic Extinguisher Fire Dataset The dataset was obtained as a result of the extinguishing tests of four different fue
  • FFmpeg 的介绍与使用

    FFmpeg Fast Forward Moving Picture Experts Group FFmpeg 命令行工具的使用 在 FFmpeg 官网 可以下载对应平台的可执行程序包 比如 Windows 平台的下载地址是 https f
  • c语言 统计字符出现次数

    本题要求编写程序 统计并输出某给定字符在给定字符串中出现的次数 输入格式 输入第一行给出一个以回车结束的字符串 少于80个字符 第二行输入一个字符 输出格式 在一行中输出给定字符在给定字符串中出现的次数 我的答案 include
  • E1,T1的用途和区别

    T1在北美等国家使用 1 548M 24channels E1在欧洲和中国等大部分国家使用 2 048M 32channels 都是TDM的东西 一般是做语音使用 E1 T1说白了只是传输标准 真正承载什么业务其实没有太大关系E1 2 04
  • pytorch实现Deep_Residual_network,resnet源码解读

    今天带大家学习resnet网络系列 resnet的发展与思考 任何一篇网络的理解不应该单单局限在一篇或几篇博客上 复制别人的代码 不追根溯源是很难有深度的理解 所以今天 我整理这篇博客带大家从头到位看resnet为什么有用 理论层面 怎么实
  • electorn更换窗口图标

    在用electron开发桌面端的时候 打包成exe文件 需要更改默认的图标 具体做法 在根目录新建新建存放icon图标的目录 需要两个icon icon icns icon ico 注意 1 这两个图标大小不能256 256 2 不能直接用
  • 怎么把name一样的多个字段传到后台_泛微OA E8流程小技巧(01)-- 字段联动(后台)...

    大家好 我是响指不够响 前面我介绍了OA一个很实用的功能 字段联动 通过它我们可以让系统自动带出一些相关信息不需要我们自己一项项的去查找 如果大家感兴趣的话 请移步到泛微OA E8流程小技巧 01 字段联动 前台 查阅 图1 那么这个功能我
  • Proxifier逆向分析(Mac)

    简介 Proxifier是一款功能非常强大的socks5客户端 可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链 概念 支持 64位系统 支持Xp Vista Win7 MAC OS 支持socks4 soc