本文为看雪论坛优秀文章
看雪论坛作者ID:钞能力大叔
认识electron项目文件目录特征
electron asar解包
万能js提取方案
let napi_create_string_utf8 = Module.getExportByName(null, 'napi_create_string_utf8');
var index = 0;
if (napi_create_string_utf8) {
console.log('绑定成功');
Interceptor.attach(napi_create_string_utf8, {
onEnter: function (args) {
console.log('napi_create_string_utf8', '调用', args[0], args[1].readCString().substring(0, 100), args[2], args[3]);
if (args[2].toInt32() > 100) { // 过滤出大文件
index += 1;
var f = new File('export_' + String(index) + '.js', 'wb');
f.write(args[1].readByteArray(args[2].toInt32()));
f.flush();
f.close();
}
}
});
} else {
console.log('绑定失败');
}
无限试用思路
Windows Registry Editor Version 5.00
[ ]
"IDate"="1/24/9999"
"SLicense"=""
去除授权功能实现单机版本思路
注册机思路
const crypto = require('crypto');
const fs = require('fs');
const path = require('path');
const keyPair = crypto.generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem',
cipher: 'aes-256-cbc',
passphrase: ''
}
});
fs.writeFileSync("public_key.pem", keyPair.publicKey);
fs.writeFileSync("private_key.pem", keyPair.privateKey);
自建授权网关实现注册机思路
重打包发版思路
对于electron加密方式的思考
看雪ID:钞能力大叔
https://bbs.pediy.com/user-home-860779.htm
# 往期推荐
球分享
球点赞
球在看
点击“阅读原文”,了解更多!
原文始发于微信公众号(看雪学苑):向Typora学习electron安全攻防