美文网首页
微信小程序/小游戏逆向超详细教程---绝对实操干货

微信小程序/小游戏逆向超详细教程---绝对实操干货

作者: July_EF | 来源:发表于2020-07-07 11:46 被阅读0次

写在开头

操作步骤

  • 安装 node.js 环境
  • 下载逆向工具包并更新包
  • 获取小程序 .wxapk 文件
  • 还原小程序源代码
  • 遇到的问题

安装 node.js 环境

去nodejs中文官方网站下载最新版本 https://nodejs.org/zh-cn/
... 此处安装省略100行

下载逆向工具包并更新包

下载地址 https://github.com/aen516954023/wxappUnpacker
我是在github上找到的 怕之前的作者删除 直接flok到我的github上仅供研究 (github上也有教程)

下载完以后 cmd 进入目录运行 npm install

获取小程序 .wxapk 文件

安装夜神模拟器 安装微信 在微信中打开需要的小程序完全加载完以后 去模拟器的目录下找到 .wxapk文件
安卓具体目录位置:

/data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/

在这个目录下,会发现一些 xxxxxxx.wxapkg 类型的文件,这些就是微信小程序的包
想办法复制的电脑中 (不会的直接搜索夜神模拟器文件复制到电脑中)

还原小程序源代码

进入逆向工具包目录 在cmd下 运行以下命令 之后会在相同的目录下生成解析出来的目录 然后导入小程序开发者工具即可

node wuWxapkg.js <wxapkg目录>
常见问题
1\. Module build failed: Error: Cannot find module 'escodegen'(本项目已经修复该问题)

####### 解决方法:

npm i escodegen -S

2\. Error: This Package is unrecognizable, please decrypted every type of file by hand.

解决办法:虽然微信小程序的包后缀是.wxapkg,但有一些包的依赖后缀也是.wxapkg,真正的小程序包大小1M左右,而依赖包大小2、3M甚至更多。所以一股脑的反编译.wxapkg 类型的文件可能会报错,遇见这个问题的小伙伴请自知,你可能没找对包哦
3\. _vd_version_info__ is not defined (本项目已经修复该问题)

解决办法: 修改反编译目录下的wuWxss.js文件,修改RunVm方法为

function runVM(name,code){

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

    let tsandbox = {

        __vd_version_info__:"",

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

        __mainPageFrameReady__: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]();

        }   

    }

}

以上问题我只遇到第2个问题 是我的wxapk文件问题 文件大小应该在3M左右
测试 了一个小程序 完美解析 只是小程序端页面
测试了一个小游戏 解析成功 但运行时白屏 提示编译出错

写在最后
对于不想写小程序页面的小伙伴们可以照此方法操作 技术让我慢慢变懒.....

相关文章

网友评论

      本文标题:微信小程序/小游戏逆向超详细教程---绝对实操干货

      本文链接:https://www.haomeiwen.com/subject/gtkaqktx.html