hardcode的密码破解有多难
这篇文章中实现了lua文件的简单加解密功能,
但是感觉密码直接写在全局变量中很容易被人拿到,
但是究竟有多难, 自己尝试了一把
相关代码片段为:
static const char *getF (lua_State *L, void *ud, size_t *size) {
...
//将文件读入LoadF结构体的buff内存, 并将实际读到的长度赋予size,
*size = fread(lf->buff, 1, sizeof(lf->buff), lf->f);
//将buff内容解密
*size = aes256_decrypt(key, lf->buff,*size);
return (*size > 0) ? lf->buff : NULL;
}
反编译执行文件, 找到getF
函数,一看
我的密码刺裸裸的展现出来了
##疑问:
- 有密码, 没有S盒的情况下, 是否能解密?
- 有密码, 有执行文件, 是否能把执行文件转换成lib, 另外写个程序调用
aes256_decrypt
方法进行解密? (也就相当于有了S盒)
如果以上两个都能实现, 那这个加密也就骗骗非技术人员罢了…