Reverse answer to everything

 题目 
 
main.exe
打开

 

查壳
不是有效的PE文件  即不是window 平台运行的软件
猜测是linux  
我现在方法是
将main.exe拖入ida  32
 

 

得到信息 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

然后输入命令 ./main.exe

显示

然后随便输入

然后提示  YOUSUCK//你真笨
猜测    这个程序  先输出一句话  Gimme
                           然后又输入东西
错误的话   输出  YOUFUCK
正确的话   输出我们想要的信息
 
接下来  将main.exe 拖入ida 64
查找 关键字符串  Gimme//因为很少直接看到了就不用再搜索了

双击 进去与之对应的代码段  可以看到

 

然后敲击键盘上的x键可查看那几个引用它了
敲击   X 键

 

点进去为一个函数

 

tab  反汇编

 

即明白了   我们在linux中应该输入42
 
然后他输出
Cipher from Bill Submit without any tags #kdudpeh
  猜测
kdudpeh
是我们想要的flag
ISCC{kdudpeh}
提交错误
看题目注意到 sha1
以为是 sha1碰撞  后来发现是  shi1加密  获得flag为
ISCC{80ee2a3fe31da904c596d993f7f1de4827c1450a}
 
 
OK  结束!

原文地址:https://www.cnblogs.com/mutou123/p/10903074.html