申请会员ID:mmmmar【申请通过】
1、申请ID:mmmmar2、个人邮箱:1286325867@qq.com
3、原创技术文章:JuiceSSH破解分析
l链接:http://www.cnblogs.com/mmmmar/p/5533484.html
本人是一名大一学生,对逆向感兴趣,希望加入本论坛学习交流
JuiceSSH是一款免费的远程ssh客户端,感觉是一款挺优秀的软件,里边有一些高级功能需要购买高级版才能使用,这里便对其对高级功能的破解进行分析。本文仅用于学习交流使用,请尊重作者,勿在网上肆意发布其破解版这里以v2.12版为例,目的是解锁其代码片断的功能(可以把一些长的命令储存在里边,用的时候不用手打了)。
1、控制台代码片段功能解锁 http://images2015.cnblogs.com/blog/933137/201605/933137-20160527091451506-1204127730.png未解锁之前代码片断是灰色的,无法点击。 首先通过“保持屏幕常亮”对此Dialog的代码进行定位http://images2015.cnblogs.com/blog/933137/201605/933137-20160527091736944-364676459.png通过keep_screen_on再进行定位http://images2015.cnblogs.com/blog/933137/201605/933137-20160527091754366-860890103.png通id定位到smali文件中http://images2015.cnblogs.com/blog/933137/201605/933137-20160527091854569-1387958064.png明显修改地方位于这个Activity里。然后打开此smali文件,可以看到id出现的地方http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092027600-788054858.png是创建一个ContextMenu,然后查阅java源码:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092134459-2090451155.png定位到onCreateContextMenu方法接着看里边的内容http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092253459-1397713590.png关键是这个setEnable方法,设置了菜单项不能点击,并且上边有个字符串拼接的句子拼接的结果是(XXXX)可以想到是未解锁前的(仅高级用户可用)这样就可以对这个if判断取反了,回到smali里边:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092322459-1516283498.png定位到onCreateContextMenu,然后向下找:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092357616-318471800.png可以看到(和)并且有个if-eqz,直接取反改为if-nez.然后还需要解锁管理代码片断的功能http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092553834-1144432850.png没解锁的话点击会跳转到购买页面,那么就想到会有一个Activity的跳转,而且设置页面一般采取的是Preference。直接去xml文件夹找,发现了setting.xmlhttp://images2015.cnblogs.com/blog/933137/201605/933137-20160527092734616-1963016945.pnghttp://images2015.cnblogs.com/blog/933137/201605/933137-20160527092845506-702227456.png很容易知道上边两个上锁的item是前两个,而且是自定义的Preference组件,俩个都是com.sonelli.juicessh.views.ActionPreference,直接用包名找到文件,查看源码:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092903631-232456344.png看到里边有个onClick方法,并且会开启PurchaseActivity,所以对上边的if取反,回到smali文件:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092919506-718698146.png把if-nez改为if-eqz,让它直接返回,不开启购买页面。但是这样修改之后安装发现点击被锁住的菜单项不会弹出购买但是也没有反应,应该还有验证的地方,再回到ActionPreference的java源码:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527092935100-2125526964.png发现他实现了一个接口,并且从名字就可以看出是与购买高级版有关、http://images2015.cnblogs.com/blog/933137/201605/933137-20160527093031272-966538568.png进入接口发现只有一个方法,然后再回到PurchaseActivity里寻找:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527093048944-690275290.png看到上边有个判断,将点击的监听事件设置为了null,可以断定验证在这。回到smali文件:http://images2015.cnblogs.com/blog/933137/201605/933137-20160527093107694-1742889688.png
可以找到代码在这,然后修改if-eqz 为 if-nez;
这样就完成了所有的破解的工作。
ID:mmmmar
邮箱:1286325867@qq.com
申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。
ps:登录后请将文章整理后发到移动安全区,并把图片上传本地。 Hmily 发表于 2016-5-30 17:42
ID:mmmmar
邮箱:
来报道啦{:1_912:}
页:
[1]