Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问大大 key存在符号表中,同时隐藏字符表 指的是哪一块? #6

Closed
63889657 opened this issue Feb 5, 2018 · 8 comments

Comments

@63889657
Copy link

63889657 commented Feb 5, 2018

请问大大 key存在符号表中,同时隐藏字符表 指的是哪一块?

指的是如下的内容吗?
char * key = "NMTIzNDU2Nzg5MGFiY2RlZg";//这里是key被做过处理存储在这里的,实际上真实的key是:"1234567890abcdef"

字符表是指什么? 在代码什么地方

谢谢

@BruceWind
Copy link
Owner

字符表不用关心了,现在不再使用字符表了
请看注释

//__attribute__((section (".mytext")))//隐藏字符表 并没有什么卵用 是个初阶的小方案而已

@BruceWind
Copy link
Owner

字符表是指什么?是语言解释器的一种数据结构。

在代码什么地方?这个是跟代码不相关,是存在so里固定位置的数据。

@BruceWind
Copy link
Owner

你还在看老版本的代码,及时更新到最新代码阅读最新代码。

@63889657
Copy link
Author

63889657 commented Feb 5, 2018

好的 ,明白一些了,谢谢

老版本用的是符号表,新版本已经改用更好的方式了

本项目的README.md 中 还写了 key存在符号表中,同时隐藏字符表
容易给人歧义 建议去掉


追求极致的代码安全性保障

ndk实现AES加密
使用JniOnload 隐藏c函数
再做一层防止被二次打包的签名校验
key存在符号表中,同时隐藏字符表 这里

@63889657
Copy link
Author

63889657 commented Feb 5, 2018

除了 key, 包名和签名的hashcode也在代码中,后期有无必要隐藏掉,这些字符串也可能被搜索到吧 容易被定位


//合法的APP包名
static const char *app_packageName = "com.androidyuan.aesjniencrypt";
//合法的hashcode -625644214:这个值是我生成的这个可以store文件的hash值
static const int app_signature_hash_code = -625644214;

@BruceWind
Copy link
Owner

你说的对,我后期会优化。谢谢您的提醒。

@BruceWind
Copy link
Owner

BruceWind commented Feb 6, 2018

关于包名的隐藏,我觉得没有必要隐藏,因为多数情况下,大家都知道要去做签名校验,也很容易获得你的包名,比如aapt工具,你隐藏了,他终究会猜到。一测试就发现了。

@BruceWind
Copy link
Owner

“本项目的README.md 中 还写了 key存在符号表中,同时隐藏字符表容易给人歧义 建议去掉”
README 已经修改,我要关闭这个issues了。

@zxp0505 zxp0505 mentioned this issue Jun 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants