流程图

image.png

反编译教程

教程:

小程序源码反编译实战笔记

解决$gwx报错问题

方案一:

wuWxss.js:68

  1. let vm=new VM({sandbox:Object.assign(new GwxCfg(),{__wxAppCode__:wxAppCode,setCssToHead:cssRebuild.bind(handle)})});

改为

  1. let gg = new GwxCfg()
  2. let tsandbox = {$gwx:GwxCfg.prototype["$gwx"],__mainPageFrameReady__:GwxCfg.prototype["$gwx"],__wxAppCode__:wxAppCode,setCssToHead:cssRebuild.bind(handle)}
  3. let vm=new VM({sandbox:tsandbox});

方案二:

使用另一个包
https://github.com/museL/wxappUnpacker-master

主要源码

chooseImage.js:92 chooseImage()

  1. case s.DEFAULT:
  2. e.uploadImages({
  3. showLoading:
  4. !0,
  5. imgs: o
  6. }).then(function(e) {
  7. console.log(e);
  8. var t = e.length;
  9. if (r > t) for (var a = r - t,
  10. o = 0; o < a; o += 1) {
  11. var i = Math.floor(Math.random() * t);
  12. e.push(e[i]);
  13. }
  14. g.navigate({
  15. url: "/pages/xyPlusVideo/xyPlusVideo?automake=true&imgs=" + JSON.stringify(e)
  16. });
  17. });
  18. break;
  19. case s.CROPPER:
  20. (0, t.getTemplateById)(u).then(function(t) {
  21. var a = t.sizeList[0],
  22. i = a.width / a.height,
  23. n = o[0];
  24. wx.getImageInfo({
  25. src: n,
  26. success: function(t) {
  27. var s = t.width,
  28. r = t.height;
  29. console.log(Math.abs(s / r - i) < .1),
  30. console.log("规定宽高", a.width, a.height),
  31. console.log("用户图片宽高", s, r),
  32. Math.abs(s / r - i) < .1 ? e.uploadImages({
  33. showLoading: !0,
  34. imgs: o
  35. }).then(function(e) {
  36. g.navigate({
  37. url: "/pages/xyPlusVideo/xyPlusVideo?automake=true&imgs=" + JSON.stringify(e)
  38. });
  39. }) : g.navigate({
  40. url: "/pages/cropper/cropper?imgInfo=" + JSON.stringify(a) + "&src=" + n
  41. });
  42. }
  43. });
  44. });

chooseImage.js:72 uploadImages()调用了o.uploadImages()
此函数指定11F5A441123AF0DF7793CC461F864D02:10就是上传图片

  1. wx.uploadFile({
  2. url: d,
  3. filePath: e,
  4. name: "file",
  5. formData: {
  6. OSSAccessKeyId: n,
  7. Signature: l,
  8. policy: g,
  9. key: u + "/" + p + "/" + t,
  10. success_action_status: "200"
  11. },
  12. success: function() {
  13. i && (s += 1, wx.showLoading({
  14. title: "上传中(" + s + "/" + c + ")"
  15. }));
  16. },
  17. fail: function() {
  18. a && a();
  19. },
  20. complete: function(n) {
  21. s === c && (o && o(), i && wx.hideLoading());
  22. var a = n.statusCode,
  23. d = n.data,
  24. u = n.errMsg;
  25. 200 == a ? f({
  26. frontend: e,
  27. backend: t
  28. }) : (wx.reportAnalytics("video__upload_images", {
  29. version: r,
  30. code: a,
  31. data: d,
  32. errmsg: u
  33. }), f({}));
  34. }

抓包

上传图片

  1. https://xcx.xiaoyingji.com/api/templateLog/save
  2. {
  3. "code": 0,
  4. "message": "Ok"
  5. }

https://t-ws.api.xiaoying.co/api/rest/t/tg?requestParam=%7B%20'a'%3A%20'zh_CN'%2C%20'b'%3A%20'1'%2C%20'c'%3A%20'0x0100700000000128'%2C%20'd'%3A%20'196636'%20%7D&appKey=10007000&productId=226&countryCode=CN

https://pingtas.qq.com/pingd?dm=wechat.apps.xx&url=pages/xyplusvideo/xyplusvideo&pvi=859231551172165745&si=s108671551248728736&ty=0&r2=500665556&r4=wx&ext=v=1.3.6&adt=oneplus%20a3010&scl=3&scr=360x640&lg=zh_cn&fl=7.0.3&jv=android%208.1.0&tz=android&ct=wifi&rand=1551248928855
{
“f1”: “http://hybrid.xiaoying.tv/vcm/20190220/11384242/2019022011384242.gif“,
“templateImgLength”: 1,
“templateExtend”: “{\”cover\”: [], \”back\”: [], \”body\”: [{\”HexID\”: \”0x4C81700000000128\”, \”text_list\”: [], \”preview_pos\”: null, \”size_list\”: [{\”width\”: \”600\”, \”height\”: \”700\”}], \”rect_list\”: []}]}”,
“audioFlag”: 0,
“templateTextLength”: 0,
“height”: 1280,
“a”: “0x0100700000000128”,
“b”: “196624”,
“c”: “1”,
“d”: “雨天唯美照”,
“m1”: “2”,
“e”: “替换1张照片,生成我的雨天唯美照,分享给家人好友吧”,
“f”: “http://hybrid.xiaoying.tv/vcm/20190220/11383939/2019022011383939.gif“,
“g”: “http://hybrid.xiaoying.tv/vcm/20190220/11410707/2019022011410707.mp4“,
“h”: “3”,
“i”: “zh_CN”,
“j”: “2”,
“sceneIcon”: “”,
“l”: “8416708”,
“m”: “简约”,
“n”: “”,
“o”: “小影”,
“p”: “20190220171527”,
“q”: “”,
“r”: “”,
“s”: “25”,
“t”: “0”,
“u”: {
“a”: 0
},
“v”: “0”,
“w”: “{\”code\”: \”11002\”, \”parameter\”: {\”shareText\”: \”【@你】春雨无声,我的照片有声,点开看看\”}}”,
“x”: “http://hybrid.xiaoying.tv/vcm/20190220/11383030/0x0100700000000128.zip“,
“width”: 720
}
https://pingtas.qq.com/pingd?dm=wechat.apps.xx&url=pages/xyplusedit/xyplusedit&pvi=859231551172165745&si=s108671551248728736&ty=0&r2=500665556&r4=wx&ext=v=1.3.6&adt=oneplus%20a3010&scl=3&scr=360x640&lg=zh_cn&fl=7.0.3&jv=android%208.1.0&tz=android&ct=wifi&rand=1551252067743
https://pingtas.qq.com/pingd?dm=wechat.apps.xx&url=pages/cropper/cropper&pvi=859231551172165745&si=s108671551248728736&ty=0&r2=500665556&r4=wx&ext=v=1.3.6&adt=oneplus%20a3010&scl=3&scr=360x640&lg=zh_cn&fl=7.0.3&jv=android%208.1.0&tz=android&ct=wifi&rand=1551252068375

提交相关参数,制作视频

  1. {
  2. "sessionId": "43874660-bcea-41cb-a2c6-2431074c0d3b",
  3. "productId": 5,
  4. "assets": [{
  5. "title": [],
  6. "filename": "wxfile:tmp_98e083c000fd30bcc4620aefd4376dcb1ce47bf6ed5eca67.jpg"
  7. }],
  8. "templateId": "0x0100700000000135",
  9. "templateUri": "http://hybrid.xiaoying.tv/vcm/20190226/17530606/0x0100700000000135.zip",
  10. "templateTitle": "龙腾好兆头"
  11. }
  12. {"code":0,"message":"Ok"}

获取视频信息

  1. https://xcx.xiaoyingji.com/api/video/get?sessionId=43874660-bcea-41cb-a2c6-2431074c0d3b
  2. {
  3. "code": 0,
  4. "data": {
  5. "config": "{\"assets\":[{\"filename\":\"wxfile:tmp_98e083c000fd30bcc4620aefd4376dcb1ce47bf6ed5eca67.jpg\",\"title\":[]}],\"sessionId\":\"43874660-bcea-41cb-a2c6-2431074c0d3b\",\"templateId\":\"0x0100700000000135\",\"templateTitle\":\"龙腾好兆头\",\"templateUri\":\"http://hybrid.xiaoying.tv/vcm/20190226/17530606/0x0100700000000135.zip\",\"videoHeight\":\"1280\",\"videoWidth\":\"720\"}",
  6. "createdAt": "2019-02-27 14:28:50",
  7. "id": "23857adbe7914b19b4a17fe0155490e2",
  8. "intId": 88123752,
  9. "posterSrc": "hybrid-hz.xiaoying.tv/xiaoyingji_thumb/5/43874660-bcea-41cb-a2c6-2431074c0d3b-1551248933824.mp4.jpg",
  10. "productId": 5,
  11. "sessionId": "43874660-bcea-41cb-a2c6-2431074c0d3b",
  12. "status": 2,
  13. "templateId": "0x0100700000000135",
  14. "title": "熊猫君的小影",
  15. "uId": "372e3785-6108-4bf7-9ec8-baa8da9b77b9",
  16. "update_at": "2019-02-27 14:28:54",
  17. "videoSrc": "hybrid-hz.xiaoying.tv/xiaoyingji/5/43874660-bcea-41cb-a2c6-2431074c0d3b-1551248933824.mp4"
  18. },
  19. "message": "Ok"
  20. }

播放视频

https://hybrid-hz.xiaoying.tv/xiaoyingji/5/43874660-bcea-41cb-a2c6-2431074c0d3b-1551248933824.mp4