236,139, 118, 170,139, 170, 118,139, 236, 85,170, 118, 139,170, 139, 118,236, 85, 139,236, 139, 85 };接下来使用这组结果去进行异或反推得到新的一组输入值...0x20 ^ val[i] ^ 0x54; printf("%02x %02x %02x %02x \n",val[i],val[i+1],val[i+2],tmp); }}得到新的一组结果...,使用第一组输入试试:成功运行,显示提示字符已注册但是这里用户名还没有显示出来,用户名经过的操作只有两次,一次是最初的对每个字符都异或一遍读取长度,然后就是用前三字节去循环异或用户名了: int main...:查壳与脱壳:无壳,但是自带了一个dll文件调试分析是个C/C++程序,直接打开可以运行,但是用x86dbg打开则会发生异常,因为跳转到的0地址执行因为调试器会接管异常的缘故,不管怎么点运行,程序都停留在了这里首先推测是这里存在反调试...,存在一个MessageBoxA的调用,查阅资料[1]可知,创建对话框的时候,会有一个初始化消息会发送到消息循环,这个时候窗口还未显示出来,这个消息WM_INITDIALOG就是0x110号消息Nag存在于这个消息里