首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

请问高人:反汇编中的字符串有关问题

2012-04-03 
请教高人:反汇编中的字符串问题比如:代码中赋值这样的:s abc,那么这个字符串abc能用反汇编看到吗?如果

请教高人:反汇编中的字符串问题
比如:代码中赋值这样的:s = "abc",那么这个字符串abc能用反汇编看到吗?
如果代码:s = "a" + "b" + "c",这个合成的字符串abc,反汇编能看到吗?
如果上述两种情况都可以看到,那么有什么办法可以将字符串常量"abc"在代码中存在,但反汇编无法看到呢?

[解决办法]

探讨
比如:代码中赋值这样的:s = "abc",那么这个字符串abc能用反汇编看到吗?
如果代码:s = "a" + "b" + "c",这个合成的字符串abc,反汇编能看到吗?
如果上述两种情况都可以看到,那么有什么办法可以将字符串常量"abc"在代码中存在,但反汇编无法看到呢?

[解决办法]
在程序中定义"abc"时,将每个字符减30,用之前再加上30。
[解决办法]
探讨
谢谢各位高手,看来第二种方法强度也不够呀。
字符串如何存放,可以不容易破解呢?大家有什么好建议吗?
比如,密码的存放,如果反汇编一下子就看到了,那很麻烦。

[解决办法]
密码本身不要存放在程序里,程序中只存密码的某种校验值,比如密码的MD5、SHA-1,或者自定义的算法等,核对密码的时候,不管是用户输入的还是数据库读出来的还是其他程序传过来的,对它进行同样算法的运算,如果结果和存在的校验值一样,就认为密码正确。这样比直接保存密码本身安全一些。

[解决办法]
压缩了,再用

热点排行