返回列表 发新帖

[技术文章] 破解 jar 包之直接修改 .class 文件方式

[复制链接]

39

主题

719

回帖

4221

积分

大学生

Rank: 5Rank: 5

金币
2065
好评
12
信誉
98

MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员

QQ
发表在  2019-2-21 11:39:06 | 显示全部楼层 | 阅读模式  来自 湖北
一、常规 JAVA 软件破解流程
先讲一下常规jar包的破解流程。

1. 快速定位。
         1) 通过procmon监控相关软件,查看程序都访问了些啥。
         2) 用jd-gui反编译 jar 包,得到源码。
         3) 搜索关键字以定位。

这种定位方法只是千万种中的一种,根据不同软件的不同执行特性再具体实施不同的定位方案。

2. 修改破解。
1) 用 dex2jar 将 JAR 包转成 Dex 文件。
         2) 再将 Dex 解出 Smali。
         3) 修改 Smali 代码
         4) 将修改后的文件重新打包回 Dex
         5) 最后转成 JAR 包,破解完成。



二、直接修改 .class 字节码的方式实现破解
上面的方式基本已经可以解决破解JAR包的需求。但最近研究了一下直接修改.class 字节码的形式来实现修改程序流程的方法,总有会用得上的应用场景的。下面进入正题。

很多时候别人的 jar 包,反编译过来后是没办法直接用Eclipse创建java 工程再编译通过的。各种引用及反编译带来的错误会让人抓狂。既然破解的关键点已经找到了,我们可以不可以直接修改.class 字节码以实现破解呢,答案是肯定的。

此处省略定位环节,不是本文重点。



准备工具
1.      jclasslib 源码地址:https://github.com/ingokegel/jclasslib

2.      010 Editor 神器不多说
回复

使用道具 举报

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