通过反编译工具获取河北健康码源代码在上一篇文章中讲到过,这里就不在过多讲解! 关于微信小程序反编译获取源码
次问题只需要删除目录中__plugin__文件即可!
此问题为反编译经典错误,其解决方案: 在目录中找@babel-runtime-helpers-typeof.js 把里面的代码全部删掉~ 换成以下代码
function _typeof2(o) {
"@babel/helpers - typeof";
return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
})(o);
}
function _typeof(o) {
return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function(o) {
return _typeof2(o);
} : module.exports = _typeof = function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
}, _typeof(o);
}
module.exports = _typeof;
全局搜索'去登录'关键字找到弹框的位置,注释掉即可! 以及全局搜索'当前网络繁忙,请稍后重试'弹框,注释掉即可! 这个比较简单就不在截图了
打开pages中的index文件
我们从上往下分析寻找源码
名字用的字段是name,身份证号用的字段是identity
也就是说我们只需要修改这2个值,便可以更改首页中的姓名与身份证号
我们顺着代码继续往下寻找,会发现健康码的顶部皇冠图片,但是皇冠图片是通过wx:if="{{fxdjflag!=20&&!newflag&&severalvaccine&&severalvaccine.num>=severalvaccine.maxNum}}"语句来判断是否显示,我们需要把该句代码注释掉,皇冠图片即可显示出来
同时继续往下查看会发现绿码旁边的边框,我们依旧注释或者删除掉他的判断语句wx:if,即可显示出来
说明:
wx:if条件判断语句
只有满足wx:if= ""里面的判断,此语句才能生效
以边框图片中的判断条件为例:
wx:if="{{fxdjflag!=20&&!newflag&&severalvaccine&&severalvaccine.num>=4}}"
fxdjflag:风险等级 severalvaccine:代表接种疫苗的次数
也就是只有风险等级!=20并且接种疫苗次数大于4,才显示这个图片
接下来是注释掉条件判断语句的代码:
完成上述步骤以后,接下来就是二维码,我们大家都知道二维码区分黄码,绿码,红码,从源代码中我们可以看到他是通过参数imgData获取并且展示的。
接下来那么我们去js文件中寻找imgData参数,看看他是怎么获取,怎么使用的
通过inde.js源码分析可知:
imgData是由m构成!
m是由一个方法h传递2个参数构成
其中第一个参数是t.data.imgStream
另一个参数是键值对形式{}
而我们发现{}中有color是通过f传递,而f有3种颜色分别是:f = "#39b778" f = "#f5d000" f = "#d8242b",那么我们把这3种颜色分别转换一下
颜色很明显,到这为止我们可以构建出一个键值对,直接把里面的color写死,写成绿色,只需要在寻找到t.data.imgStream参数我们便可以自己构建绿码 继续搜寻imgStream 通过源码可知,imgStream是通过API:/hbjkm/code/createCode获取的,通过单词的imgStream翻译可知是照片流! 我们可以这样在网络上随意找一张图片,拷贝其地址当做imgSteam 这样有imgSteam有键值对,我们可以构建m有了m我们可以构建imgData,就可以生成绿色二维码 如图
需要注意的是我们需要再onShow方法中构建
核酸检测时间目前我们已知有24小时,48小时,72小时,4天 ,5天
我们继续在index.wxml源码中寻找:
通过源码分析可知:
内容展示参数为hsDay(初步猜测字段含义可能是小时天)
hsDay如果是0,1,2就显示单位小时,否则就显示单位天
然后时间展示为hsjcsj(初步猜测为核酸检测时间)
带着疑问前去js寻找
我们在js中发现这样一段代码:
通过源码查看我们可以大概猜测到hsDay如果是0,那么就会在hsObj中取出24,如果hs是1那么就会是48,
带着疑问我们输入0看看是不是24小时
大家也都看到了,接下来还差一个检测时间:通过上一步分析我们已经知道检测时间参数是hsjcsj,
那我们就在onShow中构建随意输入一个看看情况!
到这,我们对源代码首页中一些重要的信息进行了分析和修改,后期我们甚至可以加入我们自己的代码,在代码中进行手动的自定义设置核酸时间,设置检测时间,以及检测机构等各种信息~
此文章仅限于对反编译教程的学习交流使用,并不会用于其它各种用途,本人也不上传任何形式的源代码。