頭腦王者分析筆記及微信小程式解包原始碼

2021-08-28 20:08:56 字數 1792 閱讀 4989

通過define定義了多個js檔案。這兒我想知道資料報中sign的來歷。

資料報:

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) ,

success: function (s) , fail: function (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找到了最後的地方

}這段**什麼意思呢,就是先將傳經來的兩個引數拼接起來,構造出來formid=1515596516126&uid=62552339&t=1515596526234&token=***(此處token為登入成功之後返回的token),接著按照&分割該字串,然後再進行sort整理,最後出來的是formid=1515596516126t=1515596526234token=***uid=62552339,然後將該字串進行md5加密,最後得到了我們想要的sign值。通過自己拼接取md5,驗證了該思路的正確

至此,整個分析流程完成。

整個分析過程也踩了不少坑,慢慢的才分析完成。

微信小程式頭腦王者暫停服務 因題目審查不嚴謹

程式設計驛站 www.cppcns.com 1 月 31 日eeodfyszx訊息近期,直播競答相當的火爆,微信上一款競答小遊戲 頭腦王者 也相當的受歡迎。日前,頭腦王者官方宣布卻暫停服務,讓不少玩家心塞了。昨日晚間,使用者進入小程式頭腦王者後發現頁面顯示,因違反 即時通eeodfyszx信工具公眾...

筆記 微信小程式框架分析

資料繫結 控制屬性繫結 if語句條件判斷 關鍵字的繫結 不能直接寫checked false 可以在 中進行數 算 d 邏輯判斷 length 5 字串運算 資料路徑運算 因為wx if是乙個控制屬性,需要將它新增到乙個標籤上。但是,如果我們想要一次判斷多個元件標籤,則可以使用乙個標籤將多個元件包裝...

微信小程式筆記

目錄結構 1.列表渲染 陣列物件都可以 預設陣列的當前項的下標變數名預設為index,陣列當前項的變數名預設為item wx for index index wx for item item 如果是單層渲染,沒有巢狀的話 可以直接省略這個繫結 for page 物件迴圈 2.條件渲染 初始消耗小 切...