版本是2.1.3,试了下2.1.4按照这个方法无法破解
方法来自吾爱破解,我只是简化了流程,更简单
点classes.dex,dex编辑器,进入类列表,
右上角把完整包名的勾选去掉。
位置在/com/sonelli/下面的ada里面
点方法列表找到a(Landroid/preference/Preference;)V
第十行const/4 v0 1 ,把1改成0
然后保存,退出,签名,安装
这样就可以使用高级功能了
但是点解锁高级功能依旧会提示没购买,但在设置里面可以用
还有个问题就是,ssh界面代码片段依旧是灰色不可用
用一下方法破解
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;
这样就完成了所有的破解的工作。
请先
!