随笔分类 - CTF逆向
摘要:IDA载入程序,进入主函数。 可以看到关键的比较 将dword_6020C0和off_6050A0的数据提取出来,写脚本。 ALIGN Num其中:Num必须是2的幂,如:2、4、8和16等。伪指令的作用是:告诉汇编程序,本伪指令下面的内存变量必须从下一个能被Num整除的地址开始分配。如果下一个地址
阅读全文
摘要:查壳,nSpack壳,直接用软件脱壳,IDA载入程序。 很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据。dwrd占4字节。 这道题主要记录一下刚学到的,直接在IDA使用python脚本。 将代码粘贴到此处,回车运行即可。IDA好强大,自己好菜,只会F5。 今天
阅读全文
摘要:题目提示是走迷宫。 IDA载入程序分析。 输入字符长度必须是24,开头必须是nctf{,结尾必须是}。在125处按R就可以变成字符。 sub_400650和sub_400660是关键函数,分析sub_400650。 v10的下一字节减1. sub_400660v10的下一字节加1. 分析这两个函数。
阅读全文
摘要:运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近。 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数。将00B61094的指令修改为JE SHORT 00B6109b。然后跟进函数,单步执行。 拿到了flag。 原程序是在00B610B9处弹窗,我们将00B610A3
阅读全文
摘要:iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数 然后进入主函数, 经过分析,可以得出:输入的字符要等于 经过处理的v7和v8的异或。v8很明显,但是v7是怎么回事呢,新手没有遇到过,所以上网查看资料,LL是长长整型,v7要转换为16进制然后在转换为字符串,而且字符是
阅读全文
摘要:看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串。IDA载入程序查找入口函数, main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中, 很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容
阅读全文
摘要:一、re1 随便输一串数字测试,返回关键字符串。 打开OD载入程序,智能搜索,看到flag,直接提交。 二、game 程序是一个小游戏,如果有游戏天赋的话,玩过关就拿到flag了。 用IDA打开程序,搜索字符串(shift+f12), 进入这个字符串所在的函数, 看到关键算法,写一个python脚本
阅读全文