【攻防世界逆向】《getit》《no-strings-attached》《csaw2013reversing2》

Crackme

Posted by Corax on September 30, 2023

#题目getit ##解法 先用exeinfo打开看看文件格式 无壳elf文件,放进ida64打开看看,并f5查看伪代码 耐心的学习了一下。我先学了下面的文件操作 fseek 修改原指向stream流指针,按照第p【i】个位置 从左开始数 fputc 把前面内容 从上面的指针开始编辑 不带格式化 fprintf 把内容写入流文件 带格式化 到这里文件的操作已经分析完了,转手看把什么字符串进行了处理。 看的时候遇到了一些困难,比方 lodword有啥用:其实和正常的调用没啥区别 v5&1 可以说是判别正负号 这里的部分是对t进行操作,这样子我们可以写脚本了。 b70c59275fcfa8aebf2d5911223c6589 加上外面的SharifCTF{}即可 #题目no-strings-attached ##解法 这道题也是一道elf题目,有一个方法是用gdb来动态调试,但我的电脑还没有装好gdb,所以只能用ida来逆向。 进入之后 可以看到这样的几个函数,一个个打开,这个比较可以 锁定里面的decrypt 可以看到里面的一下加密过程,所以只要知道传进来的什么就可以了。往前,点击 跟进可以看到字符串,编写脚本即可 #题目csaw2013reversing2 ##解法 这题真是烧了我太多脑细胞(终究是太菜了)。 打开它 乱码 无壳32位程序,直接放进ida进行伪代码 再一个个打开,debugbreak()是debug,重点在于这个sub40100打开看一看 好,是一个加密过程,过程有点长,试试看动态调试 重点在于这个地方(我已经汇编完了)。红字的地方雨哪里是jz,意思就是后面的B9(也就是40100)根本没执行,把它改一改。还是不行。 问题出在这 这是40100中的部分,按照他原来的跳转地址输出的flag地址是错误的(因为 )这里不一样,改成图中的地址,运行。 出现了flag。