吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 20287|回复: 48
收起左侧

[原创] xxx破解过程分享

  [复制链接]
zzhouqianq 发表于 2017-5-27 15:57
本帖最后由 姐又寡闻了 于 2019-6-6 22:19 编辑

以前一直都是在索取破解版,现在自己有能力了,也给大家分享下我的破解。这次是Charles的破解。
Charles的破解其实很简单,因为它是用Java做的注册验证。所以只要替换类就可以了,关键就在于找到那个类。使用jd-gui看字节码,我这边做了不完全的统计:

这是3.10.2的License.class:

Charles 3.10.2

Charles 3.10.2


这是3.11.4的License.class:

Charles 3.11.4

Charles 3.11.4


这是4.0.2的License.class:

Charles 4.0.2

Charles 4.0.2


这是4.1.2的License.class

Charles 4.1.2

Charles 4.1.2


可以发现,每个版本的License.class的包名和类名都不一样,其中4.0.2的XXXX犯了一个很大的失误,连类名都忘记混淆了。知道了类名,事情就好办了,大致浏览一遍代码,发现License.class里被外界用到的只有3个public static方法。就最新的4.1.2来说,用下面的代码覆盖原代码即可:

[Java] 纯文本查看 复制代码
package com.xk72.charles;
public final class qFep {
        public static boolean gtOW() { return true; }
        public static String SkgP() { return "52pojie"; }
        public static String gtOW(String name, String key) { return null; }
}


而4.0.2则是:

[Asm] 纯文本查看 复制代码
package com.xk72.charles;
public final class License {
        public static boolean a() { return true; }
        public static String b() { return "52pojie"; }
        public static String a(String name, String key) { return null; }
}


其它版本也是一样的破解方式,只是因为包名、混淆的类名、方法名不一致,所以需要根据实际的类来生成。整个破解我们可以用脚本来完成:

[Shell] 纯文本查看 复制代码
charles=/Applications/Charles.app/Contents/Java/charles.jar
dir=charleshack

mkdir $dir
cd $dir
cat >> qFep.java <<EOF
package com.xk72.charles;
public final class qFep {
        public static boolean gtOW() { return true; }
        public static String SkgP() { return "周骞"; }
        public static String gtOW(String name, String key) { return null; }
}
EOF
javac -encoding UTF-8 qFep.java -d .&& jar -uvf $charles com/xk72/charles/qFep.class
cd .. && rm -rf $dir


附上破解成功的截图:
99B18E0C-A733-4108-8606-5E8322035E8E.png


写在最后:
大家可以看到xxx的License.class上有个写给破解者看的话:
Thanks for looking at the source. Please register Charles if you use it.

本文内容仅供大家学习交流使用,还请支持正版,你懂的。。。


PS. 第一次在52pojie发帖,不知道会有多少关注,请大家支持

点评

@smile1110 你记错了,大多数都是替换JAR文件  发表于 2017-5-27 21:40
这个软件破解不是单纯修改一个dll吗?我记得是  发表于 2017-5-27 16:50

免费评分

参与人数 17吾爱币 +24 热心值 +15 收起 理由
鸡腿二哥 + 1 + 1 热心回复!
610100 + 1 膜拜大佬!
w724652480 + 1 英语差有没有中文版
yqz030622 + 1 + 1 热心回复!
仁二 + 1 + 1 思过以
rzlsysw01 + 1 + 1 谢谢@Thanks!
我的宝宝 + 1 + 1 热心回复!
jaffa + 1 + 1 谢谢@Thanks!
无奈红茶妃子笑 + 1 + 1 热心回复!
123-木头人 + 1 + 1 我很赞同!
冥界3大法王 + 3 终于等到你啦~~~~~
ayoma + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
long9 + 1 + 1 谢谢@Thanks!
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zha + 1 + 1 用心讨论,共获提升!
duanjia0912 + 1 + 1 用心讨论,共获提升!
黑龍 + 3 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dryzh 发表于 2017-5-27 21:29
Charles v4.1.2版本分析记录

–by B.S.

5/23/2017 1:32:17 PM

最新版v4.1.2相对v.4.0.2比较,明文类名已混淆.

反编译为源码后,找关键点的分析流程:

在com\xk72\charles\gui\frames\RegisterFrame.java里找到this.bRegister.addActionListener导入的类import com.xk72.charles.gui.frames.GTvL;
在com.xk72.charles.gui.frames.GTvL里找到if (object2 != null) 使他永久为null的函数导入的类import com.xk72.charles.qFep;
在com.xk72.charles.qFep里就是关键类。分析关键点HOOK。
水天下 发表于 2017-5-29 07:02
在com\xk72\charles\gui\frames\RegisterFrame.java里找到this.bRegister.addActionListener导入的类import com.xk72.charles.gui.frames.GTvL;
在com.xk72.charles.gui.frames.GTvL里找到if (object2 != null) 使他永久为null的函数导入的类import com.xk72.charles.qFep;
duanjia0912 发表于 2017-5-27 16:38
头像被屏蔽
yaojing 发表于 2017-5-27 17:23
提示: 作者被禁止或删除 内容自动屏蔽
随遇而安110 发表于 2017-5-27 17:57
不错的帖子,值得学习一下。
zhatian 发表于 2017-5-27 18:06
厉害了,感谢分享
Hmily 发表于 2017-5-27 18:10
除了分析破解后的文件来学习如何修改的,最好能分析出为什么这么改能破解。
zach14c 发表于 2017-5-27 19:09
连类名都忘记混淆了

真的是极大的失误!!
刘统宝 发表于 2017-5-27 21:41
学习楼主的破解过程,感谢分享经验
jzhjm 发表于 2017-5-27 22:08
学习一下,正要这个软件呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-5 06:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表