众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可以更改的,从手机上发出的请求的Referer一般是这样 https://servicewechat.com/wx05ac2038cb1a1286/1000/page-frame.html 结构很清晰,可以分为四部分: https://servicewechat.com是小程序的域名,wx05ac20…
目录 1,前言 2,说明 3,核心代码 1,前言 分享一个完整的微信小程序自定义Tabber,tabber按钮可以设置为跳转页面,也可以设置为功能按钮.懒得看文字的可以直接去底部,博主分享了小程序代码片段和GitHub地址. 2,说明 由于微信小程序自带的Tabber功能比较单一,比如要做到中间是一个突出的圆形扫一扫按钮,就需要自定义Tabber了. 博主创建了一个Tabber组件,自己写的样式,在需要用到的页面引入组件. 组件使用了position: fixed定位到底部,所以在用到组件的页面…
上一讲我们介绍了如何获取资源文件,这一节讲解如何获取源码,其实获取源码真的很简单 首先还是要有工具,Dex2jar,这个工具用于将apk解压之后的dex文件转化为jar文件还有jd-gui的这个工具能够将jar文件转化为java文件,包括jar包等 两个工具的现在链接 http://sourceforge.net/projects/dex2jar/ https://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.window…
昨天微信更新了,出现了一个小游戏“跳一跳”,玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来分把,于是就想着要是开发个辅助就好了,于是简单想了一下最高游戏 先来说下这个游戏的界面和规则: 先看看界面 规则:按住屏幕 按一定时间松开就可以跳跃,跳跃到前方的图案中得1分,图按中间得2分(连续多个中间累加2分,比如第一个2分 第二个4分 第三个6分 最高累计32分) 其它规则不说明了 整理了下实现原理,其实挺简单的…
阅读demo有助于理解逻辑,而且demo源码中应该包含了框架开发人员想要表达的意思的精华,先从app.js着手来阅读. 附带贴下说明: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/app.html //app.js App({ onLaunch: function () { // 展示本地存储能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Da…
最近在研究反射,想做一个东西,把运行的java程序饭编译(Decompile)成.java文件.现思路如下: 1.写出程序反编译一个类 2.将所有类反编译 3.java代码注入一个正在运行的java程序中 现已实现第一步: 代码如下: //这是一个要反编译的类public class Reflect { private int num; public int getNum() { return num; } public void setNum(int num) { this.num = num…
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具  dex2jar   http://code.google.com/p/dex2jar/downloads/list   2).JAVA反编译工具 JD-GUI   http://jd.benow.ca/   2.反编译步骤 步骤1:把apk文件后缀名改为.zip 步骤2:解压zip包得到classes.dex 步骤3:将Dex反编译为Jar包(工…
Android反编译调试源码 1. 反编译得到源码 直接在windows 命令行下输入命令java -jar apktool_2.0.0.jar d -d 小米运动_1.4.641_1058.apk -o out,此处必须使用-d参数,这样反编译出来的代码后缀才是java,只有java文件才能被eclipse识别调试. 2. 加入可调试标志 在Eclipse中以out文件夹为源码新建Android工程,用out文件夹下的所有资源文件替换到当前的资源文件.找到out文件夹下面的AndroidMan…
首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false.   当productionSourceMap: true,时: 1.打包后能看到xxxx.js.map文件,map文件够通过反编译看到源码; 2.打包后会导致文件变大(因为多了很多map文件导致的):   当productionSourceMap: false,时: 1.打包后无法看到xxxx.js.map文件,所以无法进行反编译; 2.打包后的文件很小(因为没有map文件);  如…
今天在看ArrayList,发现一个很有意思的问题.从VS里反编译看,ArrayList继承了ICollection. IEnumerable.IList和ICloneable,而IList又继承了ICollection和IEnumerable, ICollection又继承了IEnumerable.见下图: 接口是成员的签名,继承接口的父接口并没有意义,微软应该不会写这种代码.所以怀疑这只是反编译显示DLL的优化,方便查看而已,实际上ArrayList只直接继承了IList和ICloneabl…