目前刚刚入门汇编,学完MIPS之后在看intel x86,有一个项目需要反向解码来寻找password
目前已经能理解大概的flow- 输入password,decrypt解密secret,strcomp 判断输入与变量public password是否相同,相同的话print secret,目前找到了secret是smooth cord,但是这一串password实在是不知道要怎么解码,用什么进制。
目前能确认一定是这一串,并且password应该是一个英语词汇+几个数字:
但是不知道该怎么decrypt,尝试过通过hex转二进制,但是转换出来后是乱码
同时不确定是否需要通过decrypt函数,以及decompile成c的伪代码后 具体的转换方式也让我看得很懵: *secret++ ^= 0x55u
以下是decrypt函数截图:
如果有大佬愿意帮忙看一眼不胜感激,下面为源码链接,tar file中的spy1-tkb13
https://people.duke.edu/~tkb13/courses/ece250/homeworks/extracredit/spy-tkb13.tgz
以下为整个的flow