页面载入中...

当前位置:首页 > 教程福利 > 福利经验 > 福利经验

逆向微信小程序

温馨提示:本信息由【h4ckm310n】搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉

逆向微信小程序

负责甲方小程序的运维,然后发现他们木有源码,没见过这么操蛋的情况……于是我就尝试对小程序进行逆向,这里分享一下我的过程。

一、从手机中提取出wxapkg文件

iOS端需要越狱,安卓端需要root。
以安卓为例,进入以下目录:
/data/data/com.tencent.mm/MicroMsg/(一长串字符串)/Appbrand/pkg
可以找到wxapkg文件,把它提取到电脑上。

二、准备解包工具
首先下载工具:
https://github.com/qwerty472123/wxappUnpacker/tree/master

安装node,并且安装这些依赖:
cssbeautify、CSSTree、VM2、Esprima、UglifyES、js-beautify
安装命令为npm install [依赖包]
修改wxWxss.js文件中的runVM方法:

function runVM(name,code)

{

        let wxAppCode={},handle={cssFile:name};

        let gg = new GwxCfg();

        let tsandbox ={

                $gwx:GwxCfg.prototype["$gwx"],

                __mainPageFrameReady__:GwxCfg.prototype["$gwx"],

                __vd_version_info__: GwxCfg.prototype["$gwx"],

                __wxAppCode__:wxAppCode,

                setCssToHead:cssRebuild.bind(handle)};

        let vm=new VM({sandbox:tsandbox});

        vm.run(code);

        for(let name in wxAppCode) 

                if(name.endsWith(".wxss"))

                {

                        handle.cssFile=path.resolve(frameName,"..",name);

                        wxAppCode[name]();        

                }

}


不进行这一步的话,提取不出wxss文件。

逆向微信小程序

三、运行解包工具
cd到解包工具目录,运行命令:
node wuWxapkg.js [wxapkg文件名]
运行完毕后可以看到解包后的源码目录。

  
 

逆向微信小程序