简单的就不说了就一个查壳操作结果发现既不是32bit也不是64bit那就随便拖一个进去拖进去之后是这样的里面有一大堆数据我们选中按A转换为字符串形式仔细看看里面有点flag的影子在,那就shifte提取数据出来然后放到vs中进行筛选#includestdio.h int main() { int str[] { 104, 102, 108, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 97, 103, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 123, 112, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 111, 112, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 112, 111, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 112, 114, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 101, 116, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 125, 10, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 72, 49, 255, 72, 184, 60, 0, 0, 0, 0, 0, 0, 0, 15, 5 }; for (int i 0; i sizeof(str) / sizeof(int);i) { if (str[i] 32 str[i] 128) { printf(%c, str[i]); } } return 0; }就这样先简单筛选一下看看出来什么东西注意这边32128是为了输出字符形式的数据作为第一次筛选结果运行出来hflHH4$HHhagHH4$HHh{pHH4$HHhopHH4$HHhpoHH4$HHhprHH4$HHhetHH4$HHh}HH4$HHH1H发现有很多的hH$那就筛选掉这些再看看#includestdio.h int main() { int str[] { 104, 102, 108, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 97, 103, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 123, 112, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 111, 112, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 112, 111, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 112, 114, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 101, 116, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 104, 125, 10, 0, 0, 72, 191, 1, 0, 0, 0, 0, 0, 0, 0, 72, 141, 52, 36, 72, 186, 2, 0, 0, 0, 0, 0, 0, 0, 72, 184, 1, 0, 0, 0, 0, 0, 0, 0, 15, 5, 72, 49, 255, 72, 184, 60, 0, 0, 0, 0, 0, 0, 0, 15, 5 }; for (int i 0; i sizeof(str) / sizeof(int);i) { if (str[i] 60 str[i] 128 str[i] ! h str[i] ! H) { //这边直接取60-128的去掉特殊字符只选大小写字母并去除hH printf(%c, str[i]); } } return 0; }然后运行一下flag就直接出来了总结一下这道题首先查不出是32或者是64bit的这边要敢于操作直接随便拖一个进去然后转字符串形式发现有flag的影子然后提取数据出去再运用小算法进行筛选。问题不大简简单单。