Skip to content

Latest commit

 

History

History
82 lines (58 loc) · 2.73 KB

WIKI_FOR_LIBS.md

File metadata and controls

82 lines (58 loc) · 2.73 KB

lib 下的JS模块说明

AesUtil.js

  • 封装了AES加密和MD5方法,基于 croypto-js 实现
  • 使用 require('./lib/AesUtil.js') 来访问该模块
  let AesUtil = require('./lib/AesUtil.js')
  let encryptStr = AesUtil.decrypt('content info', '_aesKey_')
  let decryptStr = AesUtil.decrypt(encryptStr, '_aesKey_')

encrypt 执行AES加密

  • 入参 message 明文
  • 入参 key AES加密的秘钥,长度必须为 8/16/32
  • 出参 加密后的密文

decrypt 执行AES解密

  • 入参 encrypt 密文
  • 入参 key AES加密的秘钥,长度必须为 8/16/32
  • 出参 解密后的明文

md5 执行md5计算

AutoJSRemoveDexResolver.js 移除已载入的dex

  • 针对免费版的AutoJS在加载dex文件之前通过反射方式移除已加载的dex,避免importClass的时候报错
  • 使用 require('./lib/AutoJSRemoveDexResolver.js') 来访问该模块
  let resolver = require('./lib/AutoJSRemoveDexResolver.js')
  resolver()
  // 或者直接调用,不推荐
  require('./lib/AutoJSRemoveDexResolver.js')()

DateUtil.js 日期格式化

  • 封装了日期格式化方法
  • 使用 require('./lib/DateUtil.js') 来访问该模块
  let formatDate = require('./lib/DateUtil.js')
  let dateStr = formatDate(new Date(), 'yyyy-MM-dd')// 2020-10-28

ResourceMonitor.js 图像资源监控

  • 用于自动释放图像资源,避免图片未释放导致内存泄露
  • 代理了AutoJS的images方法,在脚本执行完毕之后会自动释放所有的图片,也可以直接调用releaseAll来手动释放
  • 使用 require('./lib/ResourceMonitor.js')(runtime, this) 来访问该模块
  let resourceMonitor = require('./lib/ResourceMonitor.js')(runtime, this)
  let img = images.fromBase64(image_base64_string)
  // 相当于自动执行了img.recycle(), 在images模块使用较多时可以简化代码
  // 也可以不执行releaseAll(), 在脚本结束后会自动执行它 * 依赖于CommonFunction$registerOnEngineRemoved
  resourceMonitor.releaseAll()

OpenCvUtil.js

  • 封装了几个opencv的方法,用于识别图片的主色调和差异化均值等等

SingletonRequirer.js 维护模块单例

  • 通过它来以单例方式调用 lib/prototype 下的模块,避免脚本执行时产生多个实例
  • 使用 require('./lib/SingletonRequirer.js')(runtime, this) 来访问该模块
  let singletonRequire = require('./lib/SingletonRequirer.js')(runtime, this)
  // 可以直接传递对应模块的文件名
  // 如果脚本已经实例化过logUtil,那么会直接返回缓存的对象
  let logUtil = singletonRequire('LogUtil')

Unlock.js 用于自动解锁

  • 内置了通用的几个解锁方式,pin/手势/字符串密码等