随笔分类 -  CTF wp

摘要:本来想着做出来的题都蛮基础的就不写了,后来寻思着把没有出的复现一下,顺便就把做了的所有题目记录下来 #MISC ##Signin 签到题,dockerhub 一搜就出了 ##Pixel_Signin 先把像素点提出来 from PIL import Image f = open("1.txt",'w 阅读全文
posted @ 2022-08-05 14:51 Moominn 阅读(578) 评论(0) 推荐(0) 编辑
摘要:这题 wp 看得我挺郁闷的,位运算那里花的时间最长,但 wp 都是一句话带过,在我看来或运算不可逆,因为答案不唯一,但是很奇怪官方 wp 还有网上搜到的一些 wp 逆出来了,也不知道进行的操作是什么原理,几个对这一步进行爆破的 wp 也不知道为什么 38 个数据的数组算着算着变成了 39 个,我不太 阅读全文
posted @ 2022-07-25 18:05 Moominn 阅读(160) 评论(0) 推荐(0) 编辑
摘要:搜索字符串定位到主函数,F5 发现和粑粑一样,只能看汇编分析 首先找到了一个 cmp,合理猜测输入长度为 32,继续看分支 并不是很长,但是看不懂在干啥,尝试动调看一下 输入 32 个字符,我这里输入了 abcdefghijklmnopqrstuvwxyz123456,函数暂且不用跟进去,看看能不能 阅读全文
posted @ 2022-07-14 21:24 Moominn 阅读(187) 评论(0) 推荐(0) 编辑
摘要:buu 附件提供了源码,打开直接 flag 糊脸,建议装作没有看见并关掉 载入 IDA 查看 main 函数 规定输入长度 16,有两个函数 sub_401680 和 sub_4016F0,先进入 sub_401680 看看 有个异或,a1,a1+4,a1+8 看起来也像个二叉树,先不管他,看看 s 阅读全文
posted @ 2022-07-07 19:47 Moominn 阅读(179) 评论(0) 推荐(0) 编辑
摘要:go 逆向,先看 main_main 函数 规定长度 43,格式 GKCTF{......},查看一些 check 函数 可以看到一些加密函数与比较,但是第三个加密函数结束后直接 return 0 了,显然有些问题,去汇编里面查看一下,可以看到后面也有一部分数据和加密函数 当然,这里也可以通过 no 阅读全文
posted @ 2022-07-04 19:13 Moominn 阅读(228) 评论(0) 推荐(0) 编辑
摘要:此题的关键在于动调,使我一个只会 F5 的菜鸡受益匪浅 加了 UPX 壳,工具没脱下来,手动脱了后运行不了(悲),看了 wp 说是要用 UpxUnpacker,亲测有效 先查看字符串,看到一个 Success,进去瞧一眼 整不明白,动调试试,首先是函数最开始的 lp 其实就是我们输入,这里我输入了 阅读全文
posted @ 2022-07-01 19:48 Moominn 阅读(289) 评论(0) 推荐(0) 编辑
摘要:无壳,载入 IDA,查看主函数 首先是几个名字随便函数:F0X1 ~ F0X5 F0X1 是求 gcd F0X2 & F0X3 为一个布尔类型,返回值为 1 需要传入的两个参数均为 true F0X4 实质上是 a - b F0X5 求的是 a 的 b 次方 大体分析一下,即为 可以发现主要的运算过 阅读全文
posted @ 2022-06-02 16:23 Moominn 阅读(104) 评论(0) 推荐(0) 编辑
摘要:载入 IDA,查看主函数 直接看一下操作部分,首先是一个 lambda 函数,跟进去发现是一个与 1 异或 接下来就是遍历 vecotr,首先会先进入一个 depart 函数 也就是一个递归进行分解质因数,然后将分解出来的质因数以空格间隔并以字符串的方式存储 depart 函数过后紧跟一个 lamb 阅读全文
posted @ 2022-05-26 22:50 Moominn 阅读(144) 评论(0) 推荐(0) 编辑
摘要:不咋会 VM,大家都觉得简单,只有我觉得难:( IDA 打开,查看主函数 分析 sub_CD1 函数 提取出来操作码如下 0xF5, 0xF1, 0xE1, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xF1, 0xE4, 0x20, 0x00, 0x00, 0x00, 0xF1, 阅读全文
posted @ 2022-02-23 23:05 Moominn 阅读(311) 评论(0) 推荐(0) 编辑
摘要:利用 dnspy 查看 Assembly-CSharp.dll,定位到关键部分 注意到 Decrypt 函数所在地方将输入数据与解密内容对比,查看一下这个函数 对传入的字符串先 base64 解密再 des 解密,查看传入字符串 得到密文以及密钥 因为 C# 里面字符串默认是 Unicode,密钥是 阅读全文
posted @ 2022-02-15 11:28 Moominn 阅读(151) 评论(0) 推荐(0) 编辑
摘要:IDA 打开,没法 F5,发现几处花指令 main 函数里总共有三处这样的花指令,把每处的这三句都 nop 掉,再往下又发现一处花 上面两句 jb,jnb 都 nop 掉,然后看到 in 那里 in 的字节码是 E4,后面紧跟一个 C7,C7 是 mov,所以这一定是花,把 E4 改为 90(对应操 阅读全文
posted @ 2022-02-06 11:00 Moominn 阅读(512) 评论(0) 推荐(0) 编辑
摘要:懒得去平坦化了,直接嗯看 64 位 ELF,查看主函数 看到有个 sudoku 数组,应该是个数独,查看一下提取出来 然后上网随便找个网站做一下,得到:4693641762894685722843556137219876255986 继续往下看,重点在于 check1() 和 check3() 两个 阅读全文
posted @ 2022-01-27 18:06 Moominn 阅读(123) 评论(0) 推荐(0) 编辑
摘要:终于找到远程动调 ELF 失败的原因了,补一下之前的题目 64 位 ELF,载入 IDA,查看主函数 mprotect 是一种保护函数,不做重点分析,观察到 sub_402219 函数既作为数据参与异或,又作为函数来引用,猜测异或完后,这个函数才是它真正的样子,所以找到这段函数的地址 看到一大坨数据 阅读全文
posted @ 2022-01-26 21:57 Moominn 阅读(326) 评论(0) 推荐(0) 编辑
摘要:因为新电脑一直没法动调 elf 又懒得找原因,所以用静态分析的办法解这个题,载入 IDA 看到 sub_4006B6 很明显是 rc4 的 s 盒的初始化,传入的 v10 应该就是 key 然后看 sub_4007DB 很明显是 RC4 的加密函数,再看 sub_4008FA 看到了一些 base6 阅读全文
posted @ 2022-01-24 16:04 Moominn 阅读(364) 评论(0) 推荐(0) 编辑
摘要:查壳儿,没有,32 位,载入 IDA 首先根据字符串定位到函数 sub_412AB0 看到对 base64 码表进行了一个大小写的变换,得到新表 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/" 接着使用向量化异常处 阅读全文
posted @ 2022-01-19 20:37 Moominn 阅读(611) 评论(0) 推荐(0) 编辑
摘要:查壳,没壳,64 位,IDA 分析一下 #第一步 从后往前看,先看最后的输出部分 对 outputString 与23取余和除数,在 a1234567890Qwer 数组中找到位置,再与另外两个数组进行明文比较,所以可以根据逻辑直接得到 outputString str1 = "(_@4620!08 阅读全文
posted @ 2022-01-16 17:53 Moominn 阅读(320) 评论(0) 推荐(0) 编辑
摘要:查壳,莫得,64 位,载入 IDA,查看主函数 看到关键的三个加密函数,第一个就是进行了个 base64,第二个进行移位变换,第三个对字符进行了一些变换 encode_three 爆破就可以,然后按照 encode_two 的逻辑重组字符串最后进行 base64decode 即可获得 flag ex 阅读全文
posted @ 2022-01-16 10:50 Moominn 阅读(225) 评论(0) 推荐(0) 编辑
摘要:查壳,莫得,64位,载入 IDA 简单分析一下 int __cdecl main(int argc, const char **argv, const char **envp) { unsigned __int64 v3; // rbx __int64 v4; // rax __int128 *v5 阅读全文
posted @ 2022-01-14 18:08 Moominn 阅读(443) 评论(0) 推荐(0) 编辑
摘要:参考博客: https://www.cnblogs.com/LLeaves/p/13522069.html https://blog.csdn.net/mcmuyanga/article/details/113628506 查壳,莫得,64位 载入 IDA,定位到主函数 int __cdecl ma 阅读全文
posted @ 2022-01-12 22:45 Moominn 阅读(307) 评论(0) 推荐(0) 编辑
摘要:查壳,莫得,32位 载入 IDA,搜索字符串 跟进 发现左边地址是红色的,往上看到有花指令,两个一样的指令删掉一处就可以 然后选中这一块区域按 P 将汇编代码转换为函数,F5 反编译 LRESULT __stdcall sub_401640(HWND hWndParent, UINT Msg, WP 阅读全文
posted @ 2022-01-11 15:03 Moominn 阅读(384) 评论(0) 推荐(0) 编辑