题目
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521225851847-554916344.png)
main.exe
打开
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521224304454-375015151.png)
查壳
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521224330865-1656305531.png)
不是有效的PE文件 即不是window 平台运行的软件
猜测是linux
我现在方法是
将main.exe拖入ida 32
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521224413157-1259121055.png)
得到信息 ELF64 for x86-64
elf即代表是在linux下运行的软件
64 代表 ida 32 分析不了这个 程序 得用ida 64 分析
所以现在拖入linux里 (ubuntu 64)
打开终端
然后查看 main.exe的权限
ls -a main.exe
然后显示
chmod a+x main.exe//变为可执行 //如果权限不够的话执行改命令
发现 -rwxrwxrwx此时有权限执行main.exe
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521224833688-256240781.png)
然后输入命令 ./main.exe
显示
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521224907536-248016724.png)
然后随便输入
然后提示 YOUSUCK//你真笨
猜测 这个程序 先输出一句话 Gimme
然后又输入东西
错误的话 输出 YOUFUCK
正确的话 输出我们想要的信息
接下来 将main.exe 拖入ida 64
查找 关键字符串 Gimme//因为很少直接看到了就不用再搜索了
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521225157345-384055084.png)
双击 进去与之对应的代码段 可以看到
然后敲击键盘上的x键可查看那几个引用它了
敲击 X 键
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521225313716-612762299.png)
点进去为一个函数
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521225405104-1496098195.png)
tab 反汇编
![](https://img2018.cnblogs.com/blog/1684035/201905/1684035-20190521225434668-837572240.png)
即明白了 我们在linux中应该输入42
然后他输出
Cipher from Bill \nSubmit without any tags\n#kdudpeh
猜测
kdudpeh
是我们想要的flag
ISCC{kdudpeh}
提交错误
看题目注意到 sha1
以为是 sha1碰撞 后来发现是 shi1加密 获得flag为
ISCC{80ee2a3fe31da904c596d993f7f1de4827c1450a}
OK 结束!