对比法偷师破解某电路仿真软件

文章正文
发布时间:2025-10-22 11:45

先编个小故事,一直在用某电路仿真软件,奈何网上只有老版本的破解资源,强迫症追新。然而这软件没破解=没法用,自己破吧,学艺不精不会搞,想买正版吧,又不支持蓝绿万能修改器。一直处于搁置状态。昨天突然想到一个思路,版本相近的软件一般不会改动验证的地方,那么我可不可以通过对比老版本大佬们修改的地方,应用到新版本呢?然后我就去试了一下,结果还真行。

本文使用工具:

MT管理器(或者同样dex解包的软件)
Beyond Compare(可选,或上边那个开会员,或同样文件对比工具)
JEB(可选,第一个工具也行,反编译java用,只看smali的话甚至记事本都行)

apk需要:老版本纯净破解(不加弹窗,没加固的),同版本的原文件,新版本文件

操作步骤 筛选文件

首先是筛选改动的文件,使用MT或同类工具将原版和破解版dex转为smali,分别放在两个文件夹里,(这里使用pojie代表破解版本文件夹,yuan代表原版)然后可以使用两种方法来分辨。

1、使用终端模拟器

进入pojie文件夹,然后输入命令计算每个文件的md5

find ./ -type f -print0| xargs -0 md5sum >>../md5.md5

接着进入yuan文件夹里,输入命令验证md5

md5sum -c ../md5.md5 | grep -v OK >>../test

然后就可以在上层文件夹找到test文件,打开就可以显示出来哪个文件被改动了。

1.jpg (40.46 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传


2.jpg (83.02 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

2、使用Beyond Compare

文件夹比较,拖入yuan和pojie,点击规则,取消比较时间戳,勾选比较内容,按确定即可。

3.jpg (212.75 KB, 下载次数: 1)

下载附件

2023-7-22 16:11 上传

进一步筛选文件

通过对比,筛选出一部分文件,挨个点开看看,有的长这样,很明显这种改动是无效的,又可以筛掉一部分了。

4.jpg (211.79 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传


删掉多余的,剩下这几个文件

5.jpg (169.1 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

分析改动

文件太多,lb里的内容改动相同,所以举个例子,打开lb/b.smali,破解的内容是

sget-object p1, Llb/l;->A:Llb/l; return-object p1

而原版是有一大堆判断的。

6.jpg (299.76 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

使用jeb打开原版apk和新版本的apk,你会发现,两个版本包名打乱不相同,那么怎么找到是哪一个呢。
点开lb/a.smali,发现有一下字符串

f = "ComponentIapValidator.kt"

用这个足以定位新版本的位置了。

7.jpg (121.56 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

话说回来,在jeb中定位lb/b文件,按tab反编译一个java看看。(这里需要会一点点java)
从右边可以看到,某些条件下,返回l0,而l0就是破解版改动的Llb/l;->A:Llb/l;

8.jpg (141.94 KB, 下载次数: 1)

下载附件

2023-7-22 16:11 上传

然后在看新版的,可以看到,新版需要改成以下代码

sget-object p1, Llb/l;->B:Llb/l; return-object p1

9.jpg (143.15 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

如此改动其他smali回编即可。
(ib/b.smail,只改动了一个值,需要联系上下文来判断新版本具体改哪句)

破解后效果 原版

原版集成电路里只有3个,其他的需要购买扩展包

a.jpg (10.71 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

破解版

破解后可用使用所有扩展

b.jpg (16.78 KB, 下载次数: 0)

下载附件

2023-7-22 16:11 上传

结语

本文写的比较混乱,只是想做一个备忘。另外本文只提供思路,无法提供练手文件。希望对您能有所帮助,如果看不懂的话,也不用怎么细看,本来就是一种取巧的方法,局限性非常大,甚至有可能只有这个软件可以使用。作者不懂安卓,具体展开讲smali和java什么的也不会,只能演示一下操作给大家看看了。想学安卓逆向的话,论坛还是有不少0基础教学贴的,可以看看了解一下入个门。当然如果本文有错误之处,还请大佬们多多指教。

 

免费评分 参与人数 22吾爱币 +30 热心值 +19 理由

zzcl558
  + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

junjia215
  + 1   + 1   用心讨论,共获提升!  

Turno
  + 1   + 1   我很赞同!  

netle8
  + 1     谢谢@Thanks!  

twl288
    + 1   谢谢@Thanks!  

aabbcc123123
  + 1   + 1   谢谢@Thanks!  

zozoz
  + 1   + 1   我很赞同!  

cfl300
  + 1   + 1   用心讨论,共获提升!  

miocaro507
  + 1   + 1   我很赞同!  

Yuewit
  + 1     谢谢@Thanks!  

610100
  + 3   + 1   欢迎分析讨论交流,吾爱破解论坛有你更精彩!  

nonothing
  + 1     用心讨论,共获提升!  

gksj
  + 1   + 1   666!  

www115344
  + 1   + 1   我很赞同!  

芽衣
    + 1   用心讨论,共获提升!  

wanfon
  + 1   + 1   热心回复!  

troyguo
  + 1   + 1   我很赞同!  

cscscscs
  + 1   + 1   用心讨论,共获提升!  

gunxsword
  + 1   + 1   热心回复!  

正己
  + 7   + 1   欢迎分析讨论交流,吾爱破解论坛有你更精彩!  

wystudio
  + 1   + 1   用心讨论,共获提升!  

bypasshwid
  + 3   + 1   威武霸气,666  

查看全部评分