JuiceSSh破解分析

JuiceSSH是一款免费的远程ssh客户端,感觉是一款挺优秀的软件,里边有一些高级功能需要购买高级版才能使用,这里便对其对高级功能的破解进行分析。

本文仅用于学习交流使用,请尊重作者,勿在网上肆意发布其破解版

这里以v2.12版为例,目的是解锁其代码片断的功能(可以把一些长的命令储存在里边,用的时候不用手打了)。

1、控制台代码片段功能解锁

未解锁之前代码片断是灰色的,无法点击。

首先通过“保持屏幕常亮”对此Dialog的代码进行定位

通过keep_screen_on再进行定位

通id定位到smali文件中

明显修改地方位于这个Activity里。然后打开此smali文件,可以看到id出现的地方

是创建一个ContextMenu,然后查阅java源码:

定位到onCreateContextMenu方法

接着看里边的内容

关键是这个setEnable方法,设置了菜单项不能点击,并且上边有个字符串拼接的句子拼接的结果是(XXXX)可以想到是未解锁前的(仅高级用户可用)这样就可以对这个if判断取反了,回到smali里边:

定位到onCreateContextMenu,然后向下找:

可以看到(和)并且有个if-eqz,直接取反改为if-nez.

然后还需要解锁管理代码片断的功能

没解锁的话点击会跳转到购买页面,那么就想到会有一个Activity的跳转,而且设置页面一般采取的是Preference。

直接去xml文件夹找,发现了setting.xml

很容易知道上边两个上锁的item是前两个,而且是自定义的Preference组件,俩个都是com.sonelli.juicessh.views.ActionPreference,直接用包名找到文件,查看源码:

看到里边有个onClick方法,并且会开启PurchaseActivity,所以对上边的if取反,回到smali文件:

把if-nez改为if-eqz,让它直接返回,不开启购买页面。

但是这样修改之后安装发现点击被锁住的菜单项不会弹出购买但是也没有反应,应该还有验证的地方,再回到ActionPreference的java源码:

发现他实现了一个接口,并且从名字就可以看出是与购买高级版有关、

进入接口发现只有一个方法,然后再回到PurchaseActivity里寻找:

看到上边有个判断,将点击的监听事件设置为了null,可以断定验证在这。

回到smali文件:

可以找到代码在这,然后修改if-eqz 为 if-nez;

这样就完成了所有的破解的工作。

时间: 2024-12-29 23:42:59

JuiceSSh破解分析的相关文章

RFID入门:Mifare1智能洗澡卡破解分析

科普前置知识: Mifare Classic card提供1k-4k的容量,我们经常见到的是Mifare Classic 1k(S50),也就是所谓的M1卡.M1卡有从0到15共16个扇区,并且每个扇区都有独立的密码,每个扇区配备了从0到3共4个段,每个段可以保存16字节的内容,反正从0开始数 就对了(和数组下标为0开始一样). 每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的00扇区的00段,也称为厂商段,其中前4个字节是卡的UID,第5个字节是卡UID的校验位,剩下的是厂商数据.

神庙逃亡破解分析

分析目标:破解神庙逃亡内购 一.神庙逃亡网络验证破解 首先用Android Killer载入, 然后编译,运行,发现提示盗版软件 继续搜索dialog_initconfig_msg a方法show弹出了警告框,其主要是这个arg4.d为校验值 向上层追踪来源于这里赋值,但是这个只没法做交叉引用,只好用堆栈法来进行跟踪了 追踪得到这些信息 一层层耐心的向上层跟踪关键点  原来是发了包,把程序的签名发送过去了, 我们来抓包看看 配置好burpsuite代理和手机端代理 抓到包信息如下:(记住是没有修

滑雪大冒险破解分析

载入JEB发现支付SDK好熟悉EgamePay 上次分析的一个游戏就是从支付SDK入手,回溯定位 所以直接进入EgamePay,对pay函数做交叉引用 定位到如下函数,但是我们操作了一下,Log.i的日志并没有输出 我们跟进那个listener 对其做交叉引用 然后去插入日志看哪些pay来了 可以看到我们pay111来了 修改onResult  直接调用OnSuccess并返回 最后修改成功 总结一下: 游戏的内购都是常见的支付sdk ,熟悉这些支付sdk 可以快速定位 来自为知笔记(Wiz)

非常漂亮滴皮肤skin++ 终极破解之法

破解includeparametershook汇编windows *[标题]:Skin++通用界面换肤系统V2.0.1破解探讨 *[作者]:gz1X <gz1x(at)tom(dot)com> *[来自]:中国黑客联盟 *[前言]: skin技术,大家都不会陌生,比如winamp,可以灵活的更换界面风格.早期的实现定制的外观方法都需要程序本身做许多处理,编码太麻烦. 后来出现了专门的Skin插件,ActiveSkin什么的.再后来dll调用的skin软件出现,需要Skin支持的程序调用几个方法

分析MAC*.a库文件信息

一.起因 在前面的文章中,我尝试在MAC终端上编译构建了可直接用于COCOS2D-X C++开发的Lean Cloud库.于是,接下来制作一个基本的例子去使用这个库中功能.出于类似于windows vc开发时候的好奇吧,我想先瞅瞅(使用mac下的工具)这个.a文件中包含/输出哪些内容.于是,在网络上搜索找到几个基本工具. 二.分析工具 目前我使用的工具有MAC终端命令行工具(系统本身提供,但是需要安装xcode,我的是version 7.2): ar nm otool file lipo 还有专

Android破解之北斗手机定位系统

我想破解GIS相关的安卓程序,于是找到了这个北斗手机定位系统,且不论它是否能定位,定位精度有多高,本文件只进行破解分析. 在模拟器中安装,输入手机号码,点击"卫星定位",它会一级一级地往下定位.当定位到区县时,会弹出需要消耗G币的信息,点击"确认",然后说金G币不足,要通过安装广告App来换取. 使用APK改之理,反编译程序,找到res-values-string.xml和public.xml,前者存储了字符串,第一个字符串都有一个name,即唯一的标识符号,例如&

人工智能计算器AI Calculator 3.3.0 详细破解思路&amp;教程

人工智能计算器AI Calculator 3.3.0 详细破解思路&教程 [文章标题]:人工智能计算器AI Calculator 3.3.0 详细破解思路&教程 [文章作者]: Ericky [作者邮箱]: [email protected] [下载地址]: 附件附上 [保护方式]: 360加固 [作者声明]: 主要记录自己的学习过程!欢迎交流学习 0x1脱壳 具体的脱壳去看看以前的一些文章,此篇文章主要讲破解部分,壳就略过了 0x2破解 先安装程序,看看错误提示,所谓知己知彼百战不殆正是

CTF中那些脑洞大开的编码和加密

0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问题:表哥,你知道这是什么加密吗?其实CTF中脑洞密码题(非现代加密方式)一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索,所以写此文的目的是想给小伙伴做题时给一些参考,当然常在CTF里出现的编码也可以了解一下.本来是想尽快写出参考的文章,无奈期间被各种事情耽搁导致文章断断续续写了2个月,文章肯定有许多没有提及到,欢迎小伙伴补充,总之,希望对小伙伴们有帮助吧! 0x01 目录 1 2 3

C#中的Mutex对象认识

我们知道,有些应用程序可以重复打开,有些只能打开一个,我以前写的程序为了防止用户打开多个程序,都是去遍历Process 查找进程的方式,现在看起来真是不专业,今天看大神的破解分析文章时,认识了mutex,从中get到了新的方法. /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { bool isAppRunning = false; System.Threading.Mutex m