精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 论坛浏览速度太慢? 教你赚取精币 - 每日签到

谋生 求职/招聘- 论坛接单- 资源出售

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

搜索
订阅<精易模块>源码2018年好项目,每月多挣好多钱集团公司重金收购█协yi软件开发定制Qq:5919620█收购所有量,所有粉,有量的速度来██打码兔秒杀一切验证码██
若快打码 快速★准确★稳定★便宜2018年好项目,每月多挣好多钱日消耗宝马X5一辆全新Q处号出售可做任何业务收购所有量,所有粉,有量的速度来█打码兔答题 速度快 极稳定█
若快打码 快速★准确★稳定★便宜全国PPTP秒换IP 动态IP仅35元/月实力收购各种推广渠道★滴滴答题★8元万码★分成任加★收购所有量,所有粉,有量的速度来火眼答题-韩文日文-高质量答题
█网络验证自动发卡即时到帐█云速打码全天50%分成★稳定★快速求真实有效流量大户█斐斐打码@0秒识别 稳定 实惠█收购所有量,所有粉,有量的速度来Thewolf语音验证码接收平台可API
 ┏█收购一切流量Q:503830000█┓
▇QQ新科技软件▇随时更新▇实力收购各种推广渠道收各种量 引流 加群Q:198819199收购所有量,所有粉,有量的速度来收大量微信扫码进群粉Q2286852884
┏-----实力收购各种推广渠道-----┓┏无限收各种推广资源,推广渠道┓实力收购各种推广渠道 ☟人傻钱多QQ:753310☟收购所有量,所有粉,有量的速度来┏ °短信群发内容成功率百分百°┓
║ 长期收购针对性精准QQ人群 ║┃  收小视频引流,直播平台粉  ┃收抖音快手火山美拍小视频引流☟收网赚/男粉/活粉/等等☟收购所有量,所有粉,有量的速度来┃ °手机短信群发广告量找老板°┃
║      合作QQ:64655548      ║┃  收交友粉/兼职粉/网赚粉  ┃收抖音快手火山美拍小视频引流☟.下面那家价格比我低. ☟收购所有量,所有粉,有量的速度来┃ °短信内容不限制实力接单中°┃
║  长期诚聘各大引擎SEO合作  ║┃ 收QQ邮箱流量/邮件发送通道 ┃收抖音快手火山美拍小视频引流☝.上面那家价格比我低. ☝收购所有量,所有粉,有量的速度来┃ °一手卡发机房100%不扣量° ┃
┗-收针对性人群引流加Q群流量┛┗无限收-所有量,QQ群/微信推广┛收卡发短信,淘宝女性流量☝憨厚老实QQ:813009 ☝收购所有量,所有粉,有量的速度来┗低价出各类广告QQ:5690990┛
┏收引流软件渠道方法能引流就行┓
┏  12核24线程,模拟器24开  ┓
收卡发短信,淘宝女性流量手指点一点,钞票翻一翻收购所有量,所有粉,有量的速度来┃  收网赚粉/精准粉/兼职粉  ┃
┃收引流软件渠道方法能引流就行┃┃  单进程单IP,最低15元一天  ┃收卡发短信,淘宝女性流量手指点一点,钞票翻一翻收购所有量,所有粉,有量的速度来┃  收网赚粉/精准粉/兼职粉  ┃
┃收引流软件渠道方法能引流就行┃┗新增E3/16G/750TI最低10元┛收兼职粉丝,网赚粉手指点一点,钞票翻一翻收购所有量,所有粉,有量的速度来┃  收网赚粉/精准粉/兼职粉  ┃
┃收引流软件渠道方法能引流就行┃收抖音火山王者引流:1513888885收兼职粉丝,网赚粉集团重金收购微信各种引流方式收购所有量,所有粉,有量的速度来┃  收网赚粉/精准粉/兼职粉  ┃
┃收引流软件渠道方法能引流就行┃收抖音火山王者引流:1513888885收兼职粉丝,网赚粉集团重金收购微信各种引流方式收购所有量,所有粉,有量的速度来┃收各大媒体/UC头条/爱奇艺┃
┃收引流软件渠道方法能引流就行┃【好单库--提供淘客高佣转链API】实力收app引流高价收购各种PC端游戏粉收购所有量,所有粉,有量的速度来┃收各大媒体/UC头条/爱奇艺┃
┃收引流软件渠道方法能引流就行┃【好单库--提供淘客高佣转链API】实力收app引流高价收购各种PC端游戏粉收购所有量,所有粉,有量的速度来┃收各大媒体/UC头条/爱奇艺┃
┃收引流软件渠道方法能引流就行┃【好单库--提供淘客高佣转链API】实力收app引流高价收购各种PC端游戏粉收购所有量,所有粉,有量的速度来┃收各大媒体/UC头条/爱奇艺┃
┃收引流软件渠道方法能引流就行┃【免费提供淘客高佣API技术指导】收自媒体头条号文章引流粉丝高价收购各种PC端游戏粉收购所有量,所有粉,有量的速度来┃收快手火山抖音小视频引流┃
┃收引流软件渠道方法能引流就行┃【众多小程序/APP/公众号已对接】收自媒体头条号文章引流粉丝高价收购各种PC端游戏粉收购所有量,所有粉,有量的速度来┃收快手火山抖音小视频引流┃
┃收引流软件渠道方法能引流就行┃██实力寻各种短信群发通道██收自媒体头条号文章引流粉丝重金招聘SEO专员Q741188920收购所有量,所有粉,有量的速度来┃收快手火山抖音小视频引流┃
┃收引流软件渠道方法能引流就行┃██  0062、0085、106、 ██重金收各种协议引流重金收购各类引流技术Q:741188920收购所有量,所有粉,有量的速度来┃收快手火山抖音小视频引流┃
┃ 帮我把产品推出去 钱不是问题┃██    邮箱群发     ██重金收各种协议引流┏国外财团诚邀引流技术大神合作┓收购所有量,所有粉,有量的速度来┃收快手火山抖音小视频引流┃
┃ 帮我把产品推出去 钱不是问题┃██    QQ:9011168   ██重金收各种协议引流┃ 长期大量收购 男粉女粉交友粉 ┃收购所有量,所有粉,有量的速度来收男科、减肥等各种精准粉Q53201
┗ 帮我把产品推出去 钱不是问题┛██收各种软件群发引流资源██收微信QQ各种裂变量┃大量收购一切精准流与推广模式┃收购所有量,所有粉,有量的速度来收男科、减肥等各种精准粉Q53201
招收安卓逆向技术工资面议█收微信粉及各种资源█收微信QQ各种裂变量┃ 另招聘技术大牛享受入股分红 ┃收购所有量,所有粉,有量的速度来收男科、减肥等各种精准粉Q53201
招收PHP/C系列/PY等编程技术█ 长期收引流技术 █收微信QQ各种裂变量┗--------实力收购一切活跃量-------┛收购所有量,所有粉,有量的速度来收男科、减肥等各种精准粉Q53201
大量收封号的微信█收精准网赚粉,ios安卓马甲包█诚聘ios安卓上架 易语言引流大牛███高价寻网吧端合作████收购所有量,所有粉,有量的速度来收男科、减肥等各种精准粉Q53201
大量收封号的微信████qq:1602177412████收购解封微信预加好友█大量收发布QQ空间说说号█收购所有量,所有粉,有量的速度来诺宾混拨动态vps/PPTP多地区换IP
█精准网赚流量有实力的来对接██IP精灵█最强大的动态IP加速器收WAP小说图片影视量/站群/X量大量租售各种qq小号 2892721932收购所有量,所有粉,有量的速度来长期出QQ群QQ号微信精准粉网挣粉
大量收微信男粉QQ 2820301656——-出售最新QQ小号———无限收微信优质本地群出粉.精准粉网赚粉交友粉收购所有量,所有粉,有量的速度来诚聘█APP上架、引流、易语言大牛
收粉、收流量QQ:1055533318█腾讯企业QQ█当天现号 推广必备求实力引流工作室合作招脚本制作收一切粉联系Q65390037收购所有量,所有粉,有量的速度来大量收微信男粉QQ 1289624992
高价收购网吧量QQ:36288大量收微信男粉QQ 237839996高价收购网吧量QQ:36288日出3W男女粉1精准网赚粉10招代理收购所有量,所有粉,有量的速度来出网赚粉,价低 量大 可论坛担保
【美国、香港固定ip代理月付9块】滑块极速验证,识别率百分之99无限收优质微信本地群,量大的来出售大量QQ活令牌活手机收购所有量,所有粉,有量的速度来
◆独立IP永久服务器,永久使用◆
█拨号VPS服务器4元/天免费测试█
招聘逆向大神QQ65194
出男粉加Q群和出网赚跟各种精准粉收成品软件收各种粉引流资源收购所有量,所有粉,有量的速度来出网赚粉-交友粉-宝妈粉+Q7688880
出网赚粉-交友粉-宝妈粉+Q7688880███引流神器,日引十万████收微信扫码或邀请进群质量粉█大量高质量处Q 老Q 接各种QQ业务 我要租广告位 
查看: 20680|回复: 275
收起左侧

[易语言纯源码] 头脑王者分析笔记及微信小程序解包源码

  [复制链接]

签到天数:10 天

结帖率:100% (3/3)
发表于 2018-1-12 00:28:36 | 显示全部楼层 |阅读模式
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
  最近感觉微信小程序比较火,周围很多人在玩“跳一跳”和“头脑王者”之类的小游戏。
  对于小程序我也产生了浓厚的兴趣。
  一开始看到官方的小程序的介绍,也看了小程序的部分开发文档,本能以为微信小程序不过是一个浏览器框架,小程序也只是网页而已。首先认为小程序通过了HTTP协yi传输了相应的JS、HTML文件。开始抓HTTP协yi,发现进入小程序内部之后的数据包可以找到,但是小程序的结构包死活找不到。因此猜想可能通过其他协yi进行了传输。
  使用中惊奇的发现将小程序添加至桌面,断网后发现有些小程序依旧可以使用,这个时候猜想小程序在本地有缓存。
  因此,比较手笨的先删除了微信目录下的数据文件,记录此时的文件信息,接着登录自己的账号,进入小程序,添加至桌面后退出微信。对比文件信息,发现多了的几个wxapkg数据包比较可疑。
  文件具体目录为./data/data/com.tencent.mm/MicroMsg/[自己的微信目录,为一串字符]/appbrand/pkg/

  首先先直接将可疑数据包pull到本地电脑,方便进一步分析。这儿的小程序的文件名也是一串字符。
  通过HEX分析软件分析其中一个apkg包,浏览中发现很多地方直接明文,因此猜想可能整个apkg包都没有加密。
pic.png
比如开头的很多文件路径,但是中间部分有较多的乱码,在后半部分又出现了明文。在这些明文中,我发现了关键字question.hortor.net。这个是我在抓包的时候的一个host。因此,90%的可能性发现的apkg包就是关键性的数据包。
通过对多个小程序的数据包进行分析。得出如下结论:
文件开头是一段结构,标识了数据包的一些信息,文件的后面是具体的文件的主体。
文件开头都是0xBE,0x00000000,接下来是一个四字节的索引长度、四字节的文件长度。然后就是0xED的尾部。接下来是一个四字节的文件数量,我这边的数据为0x00000045,用计算器计算是十进制的69,先按下不表。接下来数据就比较清楚了,四字节的文件名长度N,N字节的文件名,四字节的文件开始位置,四字节的文件大小。整个索引长度过后,就是正常的文件主体了。
写个代码帮我们自动进行数据包的解析
代码可以在底部下载。
通过代码,成功的还原了“头脑王者”这个小程序的代码。
pic.png
我们可以清楚的看到文件结构,image为游戏图片资源,template与page为游戏部分页面。
app-config.json为小程序的配置文件,定义了页面地址之类的信息
[img]file:///C:\Users\Xiaodui\AppData\Roaming\Tencent\Users\244036962\QQ\WinTemp\RichOle\{1))PS(8%(I[DZBK2R9~~CH.png[/img]
pic.png
此处为经过格式化的,建议大家阅读js,json等代码,最好先格式化一下。
page-frame.html从字面直接可以理解到是页面框架。
软件的主体逻辑就在app-service.js里面了。同样格式化之后看看
pic.png
通过define定义了多个js文件。这儿我想知道数据包中sign的来历。
数据包:
https://question.hortor.net/question/message/recordForm
formId=1515596516126&uid=62552339&t=1515596526234&sign=c2942c7420a22b224f514db81db5f058
直接搜索sign一般是不现实的,毕竟sign肯定很多处出现,我们搜一搜url中的关键字:message/recordForm
我们定位到了RecordForm: "/question/message/recordForm"
接着搜索RecordForm
定位到了:
var s = require("./../net/network.js"),
            t = require("./../const/consts.js"),
            e = module.exports;
        e.recordForm = function (e, r) {
            s.post(t.MessageHead.RecordForm, {
                params: {
                    formId: e
                },
                success: function (s) {
                    r(null, s)
                }, fail: function (s) {
                    console.warn("recordForm失败。-" + s.errMsg), r(s)
                }
            })
        }
我们跟进s这个network这个js,找到了sign的地方
var n = this,
                a = Object.assign({}, i.params),
                d = "",
                u = "";
            a.uid = t.uid, a.t = Date.now();
            for (var c in a) "" != d && (d += "&", u += "&"), d += c + "=" + encodeURIComponent(a[c]), u += c + "=" + a[c];
            var g = e.GenNetSign(t.token, u);
            "GET" == o ? (a.sign = g, d = a) : d += "&sign=" + g;
说明:此处,将uid,timestamp,以及传递进来的formId赋值给了a,接着格式化构造出来d:formId=1515596516126&uid=62552339&t=1515596526234以及u:formId=1515596516126&uid=62552339&t=1515596526234。调用e.GENNetSign进行了加密,往上翻翻看,发现了e的定义var e = require("./../util/util.js"),
接着进入util.js中,该处定义了多个方法,我们通过关键key找到了最后的地方
{
                    key: "GenNetSign",
                    value: function (e, t) {
                        var r = "",
                            o = (t += "&token=" + e).split("&");
                        o.sort();
                        for (var a = 0; a < o.length; a++) r += o[a];
                        return r = n.hex_md5(r)
                    }
                }
这段代码什么意思呢,就是先将传经来的两个参数拼接起来,构造出来formId=1515596516126&uid=62552339&t=1515596526234&token=XXX(此处token为登录成功之后返回的token),接着按照&分割该字符串,然后再进行sort整理,最后出来的是formId=1515596516126t=1515596526234token=XXXuid=62552339,然后将该字符串进行md5加密,最后得到了我们想要的sign值。通过自己拼接取MD5,验证了该思路的正确

至此,整个分析流程完成。
整个分析过程也踩了不少坑,慢慢的才分析完成。虽然解包代码不复杂,但是论坛好像还没有微信小程序相关的源代码,特意奉上小小的一段代码。

论坛好像也没有微信小程序如何分析的文章,希望大家给个好评==有钱的捧个钱场,没钱的捧个人场。
test.e (1.05 MB, 下载次数: 559)

点评

对于游戏中部分数据,是通过wss协yi进行传输的。协yi地址为wss://notifyquestion-tj.hortor.net/ws,这部分呢,建议大家了解一下微信小程序的websocket协yi,然后再反编译出来的文件中搜索就可以搞定了  发表于 2018-1-12 22:49
额,未隐藏的那个好像是有问题的,明明更新了。。编辑的时候找不到那个附件。。  发表于 2018-1-12 00:36

评分

参与人数 17好评 +14 精币 +33 收起 理由
解千语 + 1 + 2 新技能已get√
zjwanywn + 1 + 2 支持开源~!感谢分享
ginkgoy + 1 新技能已get√
本源清风 + 1 感谢发布原创作品,精易因你更精彩!
诺离 + 1 + 2 这么厉害!必须给个红包鼓励下~
Violation + 1 感谢发布原创作品,精易因你更精彩!
铅笔刀 + 3 新技能已get√
曙天 + 1 + 2 感谢分享,很给力!~
一曲离歌 + 1 + 2 一种看雪,吾爱文章的即视感,很给力
aixnhc + 1 + 2 新技能已get√
陌落 + 1 + 2 新技能已get√
冯古屋 + 1 感谢分享,很给力!~
大飛 + 1 + 5 精易因你更精彩!
单身汪 + 1 + 2 奉上小小红包希望笑纳
雪山凌狐 + 1 + 3 感谢分享,很给力!~
爱生活爱大乔 + 1 + 2 支持开源~!感谢分享
xslyhk + 1 + 2 新技能已get√

查看全部评分


您可以选择打赏方式支持楼主

打赏

参与人数 2 打赏积分 理由 收起 打赏时间
free2933 +10   精币 小小心意,意思一下 2018-1-16 22:30
yangyitzzg +10   精币 小小心意,意思一下 2018-1-12 20:49

查看全部打赏

本帖被以下淘专辑推荐:

发表于 2018-5-8 14:38:44 | 显示全部楼层
观摩下
回复

使用道具 举报

签到天数: 22 天

发表于 2018-5-5 21:52:41 | 显示全部楼层
感谢大神分享,mark一下
回复

使用道具 举报

签到天数: 3 天

发表于 2018-4-26 11:21:39 | 显示全部楼层
感谢大神分享,mark一下
回复

使用道具 举报

发表于 2018-4-21 01:31:19 | 显示全部楼层
img]file:///C:\Users\Xiaodui\AppData\Roaming\Tencent\Users\24
是什么意思 求教
回复

使用道具 举报

签到天数: 23 天

结帖率:38% (3/8)
发表于 2018-4-6 14:22:09 | 显示全部楼层
方法貌似失效了
回复

使用道具 举报

发表于 2018-4-3 11:36:23 | 显示全部楼层
下载咯- -新人求问 这个。e怎么打卡
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2018-3-28 19:00:34 | 显示全部楼层
支持支持看看
回复

使用道具 举报

结帖率:75% (6/8)
发表于 2018-3-24 22:47:37 | 显示全部楼层
非常感谢,小游戏开放注册后最近在研究小程序游戏
回复

使用道具 举报

发表于 2018-3-23 15:45:19 | 显示全部楼层
先下载下来看看,谢谢楼主
回复

使用道具 举报

签到天数: 19 天

发表于 2018-3-20 11:28:10 | 显示全部楼层
感谢发布原创作品,精易因你更精彩!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

快速回复 收藏帖子 返回列表 按钮

sitemap|易语言源码|易语言教程|易语言论坛|诚聘英才|易语言模块|手机版|联系我们|精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.2 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125

快速回复 返回顶部 返回列表