C++ 如何可能混淆本地变量?
如果源文件中存储了密码,那么像strings或objdump这样的程序可以轻松地读取字符串和密码。 我的问题是如何像下面这段代码那样存储数据:C++ 如何可能混淆本地变量?,c++,string,obfuscation,C++,String,Obfuscation,如果源文件中存储了密码,那么像strings或objdump这样的程序可以轻松地读取字符串和密码。 我的问题是如何像下面这段代码那样存储数据: to_send[77] = data[0]; to_send[27] = data[1]; to_send[4] = data[2]; to_send[777] = data[3]; 其中,data是一个字符串randomkey,to_send是要发送的字符串。 在C++中,攻击者可以轻松地读取像字符串那样的代码吗? 或者更难?如果您想让逆向工
to_send[77] = data[0];
to_send[27] = data[1];
to_send[4] = data[2];
to_send[777] = data[3];
其中,data是一个字符串randomkey,to_send是要发送的字符串。
在C++中,攻击者可以轻松地读取像字符串那样的代码吗?
或者更难?如果您想让逆向工程变得更难,您应该使用DES3 encription或类似的方法。任何类型的硬编码数据都可以通过这种方式进行加扰。当然,因为钥匙也是硬编码的,所以它可能会被破解。但是,没有防弹的解决方案。您只需按照破解复杂度的级别进行操作,因为一旦内存中有了原始的解密数据。您几乎没有办法做到这一点 1 Md5 不要在资源中保存密码,请保存MD5access\u密码。 当用户输入密码测试时,如果MD5entered_password==MD5access_password 赞成:即使有人反转你的代码并找到你的MD5,如果使用的密码不是字典中的单词,也很难反转该值并输入密码 2非安全但简单的方法 字符传递[]={p',a',s',s'} 这与您尝试过的版本有点出入。 它的快速和简单,您的密码将不会被发现与ResHacker,因为通过将不会被存储为一个紧凑的内存块在您的exe
3使用密码学保存密码您是否熟悉这条格言及其含义?是否可以对密码哈希进行硬编码?使用objdump等命令读取例如发送[x]?@user1056635调试器(如Olly、WinDbg和IDA Pro)用于此目的。