微信Android SDK反编译还原源码 进行修改重新编译
来源:互联网 发布:程序员三大浪漫 编辑:程序博客网 时间:2024/06/01 10:35
一、介绍
微信sdk,做开发的都应该用过,微信分享、支付,都要用到的。
接下来,跟着我,把他的sdk源码还原为一个module可编译的形式。
用到的工具:
- jadx: 这是一款反编译apk和jar包的工具,下载地址点我
- jeb: 这也是一款查看apk源码的工具,下载地址点我
- Android Studio
二、过程
2.1 下载微信Android sdk的jar包
下载页面
我用的方法是,gradle依赖,然后把jar拿出来,我用的是没有统计功能的包。
2.2 jadx另存
打开jadx,打开微信的Android sdk jar包,File -> Save as gradle project
保存出来到一个文件夹,看到src目录和builde.gradle文件。 我保存为wx文件夹。
2.3 Android Stuido导入
修改build.gradle文件为如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
打开Android Studio,新建一个Project,然后File -> import Module,选择刚刚保存出来的文件夹。
然后会出现一些问题,我们来慢慢解决
build tool版本问题
点击第一个update即可。
Cannot read packageName问题
切换到Project视图,在main文件夹下新建AndroidManifest.xml文件,内容为以下:
- 1
- 2
- 3
- 4
- 5
然后,Build -> Make Module ‘xx’
然后你会看到一堆报错
2.4 解决代码错误
到了上一步骤的Make Module之后会看到下面的一堆错误,我们一步步解决
双击第一个错误,定位到了com.tencent.mm.opensdk.channel.a这个文件。原因是因为外部类和内部类名字相同冲突了。
那把一个类改名呗,好咧。 按住ctrl+鼠标左键 点击内部类a,可以看到有什么方法引用了这个类,这个内部类改了,也要把这些引用给改了。
我们把内部类改为ABean,添加无参数构造器,然后把那些引用给改了。继续编译
接着提示:Error:(15, 14) 错误: d不是抽象的, 并且未覆盖AsyncTask中的抽象方法doInBackground(Void…),双击进去看到是com.tencent.mm.opensdk.diffdev.a.b 这个类报错。好,接下来祭出另外的杀器:jeb。
2.5 使用jeb
新建一个项目,依赖微信的sdk,编译成一个apk
- 1
- 2
- 3
然后打开jeb,打开这个apk,打开Bytecode,查看微信sdk的源码(com.tencent.mm.opensdk
),打开上面报错的类: com.tencent.mm.opensdk.diffdev.a.d
对比jeb的源码,进行代码修改:删除泛型,修改doInBackground方法,修改a方法
f类也是一样修改,然后f方法会发现里面的内部类a没有反编译出来,ok,我们看jeb
把这段代码还原为java代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
接下来到com.tencent.mm.opensdk.diffdev.a.b
这个类。a类里面的变量改为public即可
接下来到com.tencent.mm.opensdk.diffdev.a.e
这个类,提示Error:(4, 23) 错误: 程序包org.apache.http
不存在
这个问题是因为没有导入http包导致的,在build.grdle里面的android标签添加下面的代码即可解决。继续编译
- 1
- 2
然后在com.tencent.mm.opensdk.diffdev.a.a
这个文件中报错:
- 1
- 2
- 3
这个把参数new Void[0]删除即可。
然后在com.tencent.mm.opensdk.diffdev.a.e
这个文件中报错:
- 1
添加异常捕捉即可
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
然后在com.tencent.mm.opensdk.modelmsg.WXMediaMessage
这个类中报错:
- 1
- 2
- 3
修改OutputStream
为ByteArrayOutputStream
然后在com.tencent.mm.opensdk.openapi.MMSharedPreferences
报错:
- 1
- 2
- 3
在jeb查看,可以看到a类是util包下面的c文件里面的a内部类,我们把a.a改为c.a.a,导入util目录下c的包 即可。
然后在com.tencent.mm.opensdk.openapi.WXApiImplV10
报错:
- 1
- 2
- 3
- 4
把BaseResp改为Resp,然后Resp类,添加一个无参数的构造方法。
- 1
添加String.valueOf()方法即可
- 1
- 2
- 3
req改为: ShowMessageFromWX.Req req = new ShowMessageFromWX.Req(intent.getExtras());
- 1
- 2
- 3
- 4
IMediaObject
修改为WXWebpageObject
,WXWebpageObject类里面添加无参数的构造方法
ok。基本修改完毕,再把build.gradle里面minSdkVersion修改为12,重新Make Module即可。
三、生成新的jar包
在源码module的build.gradle底部添加代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
然后在右边Gradle,:xx Module名称 -> other -> makeJar 右键run。 即可在build/libs看到weixinsdk.jar这个就是根据你的源码编译出来的新的微信jar包。
http://www.chengshiluntan.com/6917210-1.html
http://www.chengshiluntan.com/6917406-1.html
http://www.chengshiluntan.com/6917415-1.html
http://www.chengshiluntan.com/6917442-1.html
http://www.chengshiluntan.com/6917466-1.html
http://www.chengshiluntan.com/6917478-1.html
http://www.chengshiluntan.com/6917498-1.html
http://www.chengshiluntan.com/6917537-1.html
http://www.chengshiluntan.com/6917590-1.html
http://www.chengshiluntan.com/6917604-1.html
http://baijiahao.baidu.com/builder/preview/s?id=1582026938020897352
http://baijiahao.baidu.com/builder/preview/s?id=1582039159015647408
http://baijiahao.baidu.com/builder/preview/s?id=1582039360113121208
http://baijiahao.baidu.com/builder/preview/s?id=1582039573322455310
http://baijiahao.baidu.com/builder/preview/s?id=1582039718004335961
http://baijiahao.baidu.com/builder/preview/s?id=1582039909318708132
http://www.19lou.com/board-73061508556280516-thread-76581508739143051-1.htm
https://www.wang1314.com/doc/topic-6657294-1.html
https://www.wang1314.com/doc/topic-6658374-1.html
https://www.wang1314.com/doc/topic-6658633-1.html
https://www.wang1314.com/doc/topic-6658924-1.html
https://www.wang1314.com/doc/topic-6659557-1.html
https://www.wang1314.com/doc/topic-6659680-1.html
https://www.wang1314.com/doc/topic-6659864-1.html
https://www.wang1314.com/doc/topic-6660005-1.html
https://www.wang1314.com/doc/topic-6660666-1.html
https://www.wang1314.com/doc/topic-6609646-1.html
http://www.51sole.com/b2b/sides126186361.html
http://www.51sole.com/b2b/sides126186624.html
http://www.51sole.com/b2b/sides126186686.html
http://www.51sole.com/b2b/sides126186772.html
http://www.51sole.com/b2b/sides126187022.html
http://www.51sole.com/b2b/sides126187055.html
http://www.51sole.com/b2b/sides126187096.html
http://www.51sole.com/b2b/sides126187127.html
http://www.51sole.com/b2b/sides126187238.html
http://www.51sole.com/b2b/sides126187266.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxv6.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxv9.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxva.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxvb.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxvd.html
http://blog.sina.com.cn/s/blog_17b5382a20102xthd.html
http://blog.sina.com.cn/s/blog_17b5382a20102xthi.html
http://blog.sina.com.cn/s/blog_17b5382a20102xthl.html
http://blog.sina.com.cn/s/blog_17b5382a20102xthn.html
http://blog.sina.com.cn/s/blog_17b5382a20102xthp.html
http://groups.tianya.cn/post-224172-51ccfde5bf8e4da393a9474a082b7c74-1.shtml
https://club.1688.com/article/63153589.html
https://club.1688.com/article/63153762.html
https://club.1688.com/article/63154090.html
https://tieba.baidu.com/p/5386469825
https://tieba.baidu.com/p/5386471541
https://tieba.baidu.com/p/5386475851
https://tieba.baidu.com/p/5386482872
https://tieba.baidu.com/p/5386484224
https://tieba.baidu.com/p/5386490335
https://tieba.baidu.com/p/5386491309
http://www.chengshiluntan.com/6915808-1.html
http://www.chengshiluntan.com/6915825-1.html
http://www.chengshiluntan.com/6915841-1.html
http://www.chengshiluntan.com/6915852-1.html
http://www.chengshiluntan.com/6915856-1.html
http://www.chengshiluntan.com/6915865-1.html
http://www.chengshiluntan.com/6915871-1.html
http://www.chengshiluntan.com/6915876-1.html
http://www.chengshiluntan.com/6915878-1.html
http://www.chengshiluntan.com/6915882-1.html
https://www.wang1314.com/doc/topic-6606626-1.html
https://www.wang1314.com/doc/topic-6606845-1.html
https://www.wang1314.com/doc/topic-6607270-1.html
https://www.wang1314.com/doc/topic-6607756-1.html
https://www.wang1314.com/doc/topic-6607841-1.html
https://www.wang1314.com/doc/topic-6608214-1.html
https://www.wang1314.com/doc/topic-6608745-1.html
https://www.wang1314.com/doc/topic-6609028-1.html
https://www.wang1314.com/doc/topic-6609303-1.html
https://www.wang1314.com/doc/topic-6609646-1.html
http://www.19lou.com/board-49041508472050881-thread-48631508640211455-1.html
https://buluo.qq.com/p/detail.html?bid=329211&pid=1242779-1508657617
http://blog.csdn.net/wonderfulwyq991/article/details/78310152
http://blog.csdn.net/sprite12io12/article/details/78310178
http://blog.sina.com.cn/s/blog_17b5382a20102xtg9.html
http://blog.sina.com.cn/s/blog_17b5382a20102xtg8.html
http://blog.sina.com.cn/s/blog_17b5382a20102xtga.html
http://blog.sina.com.cn/s/blog_17b5382a20102xtgb.html
http://blog.sina.com.cn/s/blog_17b5382a20102xtgc.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxsx.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxsy.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxsz.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxt0.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxt1.html
https://club.1688.com/threadview/49696723.htm
https://club.1688.com/threadview/49696750.htm
https://club.1688.com/threadview/49696758.htm
https://club.1688.com/threadview/49696768.htm
http://baijiahao.baidu.com/builder/preview/s?id=1581948825320626187
http://baijiahao.baidu.com/builder/preview/s?id=1581949373717418375
http://baijiahao.baidu.com/builder/preview/s?id=1581949504752257022
http://baijiahao.baidu.com/builder/preview/s?id=1581949628525014624
http://baijiahao.baidu.com/builder/preview/s?id=1581949794692411463
http://baijiahao.baidu.com/builder/preview/s?id=1581950036340781106
https://tieba.baidu.com/p/5385005459
https://tieba.baidu.com/p/5385095696
https://www.douban.com/note/641935862/
https://www.19lou.com/board-56081508570206074-thread-56241508570579468-1.html
https://www.19lou.com/board-56081508570206074-thread-56351508571299964-1.html
https://www.19lou.com/wap/board-56081508570206074-thread-48391508572110589-1.html
https://www.19lou.com/board-56091508570886242-thread-56571508586179505-1.html
https://www.19lou.com/board-56091508570886242-thread-53921508590662025-1.html
https://www.19lou.com/wap/board-48121508590547628-thread-73551508590711589-1.html
http://www.19lou.com/board-48061508479844091-thread-56961508555784191-1.html
http://www.19lou.com/board-48061508479844091-thread-56451508556735798-1.html
http://www.19lou.com/board-48061508479844091-thread-56271508558579911-1.html
http://www.19lou.com/board-48061508479844091-thread-56561508561871011-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53171508556828094-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53961508564806973-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53181508566578551-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53401508568058642-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53121508571881462-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53581508573216301-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53601508573369685-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53621508573529197-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53671508573749530-1.html
http://taizhou.19lou.com/board-49081508556617184-thread-53731508573970612-1.html
https://www.douban.com/note/641934310/
https://www.douban.com/note/641934119/
https://www.douban.com/note/641934401/
http://www.19lou.com/board-73061508556280516-thread-49341508573298850-1.html
http://www.19lou.com/board-73061508556280516-thread-49821508572317344-1.html
http://www.19lou.com/board-73061508556280516-thread-49531508571648305-1.html
http://www.19lou.com/board-73061508556280516-thread-49501508571346263-1.html
http://www.19lou.com/board-73061508556280516-thread-49481508566877867-1.html
http://www.19lou.com/board-73061508556280516-thread-49361508565965149-1.html
http://www.19lou.com/board-73061508556280516-thread-49281508565418274-1.html
http://www.19lou.com/board-73061508556280516-thread-49941508556806027-1.html
http://www.19lou.com/board-73061508556280516-thread-49871508556671497-1.html
http://www.19lou.com/board-73061508556280516-thread-49751508556417484-1.html
https://www.wang1314.com/doc/topic-6578555-1.html
https://www.wang1314.com/doc/topic-6579098-1.html
https://www.wang1314.com/doc/topic-6579547-1.html
https://www.wang1314.com/doc/topic-6579708-1.html
https://www.wang1314.com/doc/topic-6579918-1.html
https://www.wang1314.com/doc/topic-6581520-1.html
https://www.wang1314.com/doc/topic-6581695-1.html
https://www.wang1314.com/doc/topic-6585393-1.html
https://www.wang1314.com/doc/topic-6585468-1.html
https://www.wang1314.com/doc/topic-6585531-1.html
http://dy.163.com/v2/article/detail/D19L662A0523LCR7.html
http://dy.163.com/v2/article/detail/D19MRC0Q0517MR88.html
http://dy.163.com/v2/article/detail/D19N7R8A0523LCR7.html
http://dy.163.com/v2/article/detail/D19NSPJ40523LCR7.html
http://dy.163.com/v2/article/detail/D19O6SQE0517MQQ2.html
http://dy.163.com/v2/article/detail/D19ON61R0517MQQ2.html
http://dy.163.com/v2/article/detail/D19PGPM00517MQQ2.html
http://dy.163.com/v2/article/detail/D19PNBCP0517MQQ2.html
http://dy.163.com/v2/article/detail/D19UD4830517MQQ2.html
http://blog.sina.com.cn/s/blog_17b52c5a90102xnyf.html
http://blog.sina.com.cn/s/blog_17b52c5a90102xnyg.html
http://blog.sina.com.cn/s/blog_17b52c5a90102xnyi.html
http://blog.sina.com.cn/s/blog_17b52c5a90102xnyj.html
http://blog.sina.com.cn/s/blog_17b52c5a90102xnyk.html
http://blog.sina.com.cn/s/blog_17b539da20102xdfe.html
http://blog.sina.com.cn/s/blog_17b539da20102xdff.html
http://blog.sina.com.cn/s/blog_17b539da20102xdfg.html
http://blog.sina.com.cn/s/blog_17b539da20102xdfh.html
http://blog.sina.com.cn/s/blog_17b539da20102xdfn.html
https://buluo.qq.com/p/detail.html?bid=329211&pid=1242779-1508657617
http://www.chengshiluntan.com/6914932-1.html
http://www.chengshiluntan.com/6914984-1.html
http://www.chengshiluntan.com/6915011-1.html
http://www.chengshiluntan.com/6915016-1.html
http://www.chengshiluntan.com/6915023-1.html
http://www.chengshiluntan.com/6915100-1.html
http://www.chengshiluntan.com/6915106-1.html
http://www.chengshiluntan.com/6915118-1.html
http://www.chengshiluntan.com/6915134-1.html
http://www.19lou.com/board-49041508472050881-thread-48701508556947506-1.html
http://www.19lou.com/board-49041508472050881-thread-53791508570448292-1.html
http://www.chengshiluntan.com/6911287-1.html
http://www.chengshiluntan.com/6911538-1.html
http://www.chengshiluntan.com/6911778-1.html
http://www.chengshiluntan.com/6911782-1.html
https://www.wang1314.com/doc/topic-6454177-1.html
https://www.wang1314.com/doc/topic-6454648-1.html
https://www.wang1314.com/doc/topic-6454954-1.html
https://www.wang1314.com/doc/topic-6455395-1.html
https://www.wang1314.com/doc/topic-6458085-1.html
https://www.wang1314.com/doc/topic-6458362-1.html
https://www.wang1314.com/doc/topic-6458636-1.html
https://www.wang1314.com/doc/topic-6458806-1.html
https://www.wang1314.com/doc/topic-6459305-1.html
https://www.wang1314.com/doc/topic-6459504-1.html
http://www.sohu.com/a/198856653_100034855
http://www.sohu.com/a/198861115_100034855
https://www.3566t.com/sell/s10667341.html
https://club.1688.com/threadview/49690686.htm
http://www.chengshiluntan.com/6907965-1.html
https://www.wang1314.com/doc/topic-6395405-1.html
https://www.wang1314.com/doc/topic-6395618-1.html
https://www.wang1314.com/doc/topic-6395832-1.html
https://www.wang1314.com/doc/topic-6396078-1.html
https://www.wang1314.com/doc/topic-6396251-1.html
https://www.wang1314.com/doc/topic-6397065-1.html
https://www.wang1314.com/doc/topic-6397173-1.html
https://www.wang1314.com/doc/topic-6397294-1.html
https://www.wang1314.com/doc/topic-6397416-1.html
http://www.sohu.com/a/198612284_100034855
http://www.sohu.com/a/198616261_100034855
http://www.sohu.com/a/198619084_100034855
https://club.1688.com/threadview/49686645.htm
https://club.1688.com/threadview/49686783.htm
https://club.1688.com/threadview/49686957.htm
http://www.99inf.com/zyfw/ybsw/5344538.html
http://blog.sina.com.cn/s/blog_17b5382a20102xt9a.html
http://blog.sina.com.cn/s/blog_17b5382a20102xt99.html
http://blog.sina.com.cn/s/blog_17b5382a20102xt9d.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxmv.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxmy.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxn0.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxn3.html
http://blog.sina.com.cn/s/blog_17baa4f330102wxn5.html
http://blog.tianya.cn/post-7664061-129236581-1.shtml
http://blog.tianya.cn/post-7664061-129236622-1.shtml
http://blog.tianya.cn/post-7664061-129236631-1.shtml
http://blog.tianya.cn/post-7664061-129236635-1.shtml
http://blog.tianya.cn/post-7664061-129236678-1.shtml
- 微信Android SDK反编译还原源码 进行修改重新编译
- 微信Android SDK反编译还原源码 进行修改重新编译
- 图形化操作:Android反编译、修改代码、重新编译
- android apk反编译、修改源码、重新打包全过程
- 反编译apk,修改sdk文件,重新签名
- android修改系统源码(重新编译源码)
- Android对apk源码的修改--反编译+源码修改+重新打包+签名【附HelloWorld的修改实例】
- Android对apk源码的修改--反编译+源码修改+重新打包+签名【附HelloWorld的修改实例】
- Android对apk源码的修改--反编译+源码修改+重新打包+签名【附HelloWorld的修改实例】
- Android 反编译,修改,重新打包,签名
- Android 反编译,修改,重新打包,签名
- 游走Android系列之APK文件的反编译、修改和重新编译打包
- 游走Android系列之APK文件的反编译、修改和重新编译打包
- 游走Android系列之APK文件的反编译、修改和重新编译打包
- android源码编译sdk
- Android源码编译SDK
- Android 源码编译SDK
- C#中修改Dll文件 (反编译后重新编译)
- leetcode 96. Unique Binary Search Trees
- Android 开发 打印出intent 的key和value
- leetcode 665. Non-decreasing Array
- AngularJS敏感词过滤,下拉菜单排序,表格隔行换色,添加数据
- (4) Eureka原理分析
- 微信Android SDK反编译还原源码 进行修改重新编译
- DWR入门学习案例
- 最长公共前缀(Longest Common Prefix)
- Camera2开发之CameraDevice类
- Oracle基本用法补充学习
- BaseRecyclerViewAdapterHelper源码解读(五) header和footer完善
- 二分 starway
- java大神给初学者的建议 发展方向
- number类型