逆向
文章平均质量分 72
sln_1550
这个作者很懒,什么都没留下…
展开
-
迟到的VNCTF2024逆向题WP
这次比赛因为有事外出,只做了前两题,最近有空才把另外3题也做出来,总体来说比以往的VNCTF逆向题目要难一些。当然也有可能是我水平退步了,就算有时间参加比赛,也做不完这5题。VN的小伙伴越来越厉害了,出的题质量还不错哦。原创 2024-02-28 23:32:58 · 1832 阅读 · 10 评论 -
DASCTF 2023 & 0X401七月暑期挑战赛RE题解
DASCTF 2023 七月赛原创 2023-07-23 12:00:00 · 841 阅读 · 5 评论 -
VNCTF 2023 部分wp
今年逆向题目比较多,还挺顺手的,其他题目还算不难,除了babyAnti这题就AK逆向了。这题用的flutter库,研究了好久也完全找不到思路,只好放弃。后来才知道根据题目的名字,预期解就是去掉反作弊的检查,用作弊方法完成的。原创 2023-02-20 00:35:15 · 2350 阅读 · 1 评论 -
2023 RealWorldCTF “Ferris proxy”逆向题分析(不算wp)
2023 RealWorldCTF “Ferris proxy”逆向题分析过程原创 2023-01-11 01:17:13 · 731 阅读 · 0 评论 -
2022首届数字空间安全攻防大赛RE题wp
首届数字空间安全攻防大赛RE题的WP比赛是周五,上班时间没怎么打,队伍没进线下,太惨了。原创 2022-07-17 22:40:58 · 1763 阅读 · 1 评论 -
SUSCTF2022的tttree逆向wp
这题最终有5个队伍解出来,我比赛的时候感觉不算很难,不过比赛的那两天正好有事,大致看了下觉得有希望,但是没什么时间所以没做出来。然后过了几天再做,没想到花了近一周的时间才搞定,确实超出我的能力了。题目给了一个附件和提示:https://en.m.wikipedia.org/wiki/Treap看了这个,知道了Treap就是二叉树和堆的结合体,和平衡二叉树有点类似。代码基本是全汇编写的...原创 2022-03-15 16:56:53 · 5133 阅读 · 0 评论 -
VNCTF2022的wp
排名第6,逆向没有AK,差一题(要不然就第二了),不过发现自己的不足也算是有进步。CRYPTO:ezmathn取到直接乘4返回即可MISC问卷略仔细找找图片中有间隔几乎相等的杂色点,写脚本取出:from PIL import Imageimg = Image.open(r'g:\share\20220212\flag.png')w, h = img.sizeres = Image.new('RGB', (w//50, h//31), 255)for x in range(w)原创 2022-02-14 00:55:17 · 1204 阅读 · 2 评论 -
2021工业互联网决赛tprinter题wp
这题比赛的时候没有做出来,赛后花了2天才搞定,又学到新知识了:IDA中看不出代码的逻辑,只有print_chk函数:然后看字符串,发现一堆奇怪的格式化字符串,也不知道干啥的。然后开始调试,慢慢梳理程序的逻辑,搞清楚原来程序把一些格式化字母注册了一个函数当碰到printf函数中格式化字符串中有这些字母的时候,就执行对应的函数,这是一种新型的分支引擎,整个代码类似于虚拟机一样的机制来实现加密和比较。比如C这个字母对应的是嵌套调用printf,也就是call的意思;M是赋值,A是加,S是减等等。原创 2021-11-03 10:56:45 · 397 阅读 · 0 评论 -
2021WMCTF的Re1题wp
感觉比赛难度太高了,这题做了1天多才做出来,不过不得不感慨年纪大了,智商也下降的厉害。附件解压是个exe程序,放到IDA里分析咋一看也没啥特别的:前面是常规的flag头部和{}的格式判断,然后是字符串处理,后面再看。刚开始是用输入的4个字符生成字符串,然后对4个字符串进行类似CRC32的校验码这里我分别对4个校验值命名为a,b,c,d,然后发现有个4个等式需要为真,也就是说可以通过方程求出a,b,c,dfrom z3 import *s=Solver()a=BitVec('a',32)原创 2021-08-31 09:44:46 · 443 阅读 · 0 评论 -
从一道CTF题学习inotify技术
上周末8月14日-15日比较闲,参加了印度InCTF线上的比赛,做了几道逆向题,题目的难度还是挺高的,2天时间才做了4道题,还有一题就5个队做出来,我差一点就做出来了,把学习的过程记录下。程序的名称是ialert,IDA里看到有fork函数产生子进程:先看下sub_555E7D0964B7函数:就是用大小写字目和0-9数字共62个字符集组合成两位字符串的文件名,根据末尾奇偶特性生成文件或目录在/tmp/chall目录下。子进程进入执行sub_555E7D096668函数:根据输入的内容进行文原创 2021-08-20 00:58:12 · 234 阅读 · 0 评论 -
2021巅峰极客逆向medical_app题wp
这题附件是个apk,查看了下dex,解密用的是原生so,直接把so拖入IDA:v3是输入的flag值,ss是加密后的正确值:先看z4函数:闻到一股茶的味道;再看z3和z3函数:感觉是RC4,等会先验证下:XXTEA的密钥和RC4的密钥都是d:写脚本解密得到RC4后的flag:5604b0d49c634d3096cec00593be3b82524b16b28a33b74d6d7b9950c2b10c12e1840a93然后再解RC4即可得到flag:这题感觉最简单,不知道为啥原创 2021-08-02 01:02:44 · 475 阅读 · 0 评论 -
2021巅峰极客逆向baby_maze题wp
IDA分析发现题目所谓的迷宫没有一个数据结构来表示,而是每一个函数就是一关:输入S后进入下一关:然后一直过关到这个函数:开始的时候我没注意看有多少个函数,以为就几十个,手工用crossref从结果逆推,搞了很久发现有问题,然后已统计,发现有7000多个函数(关),看来只能写脚本跑。用IDA导出C代码,然后写python脚本处理,先解析每个关卡的函数,得到一个字典:再用穷举路径来爆破,可以得到正确的输入:import syswith open(r'F:\share\20210731\ba原创 2021-08-02 01:02:26 · 453 阅读 · 2 评论 -
2021巅峰极客逆向so_get_sourcecode题wp
这题乍一看是个web,上传php马以后,可以看到flap.php,但是下载下来却是一堆乱码:查看容器中运行了nginx和phpfpm,推测是这两个用了插件,对源码进行了加密:依次查看nginx的php应用和模块,发现有个php_screw_plus.so很可疑。反编译后确认了此模块对文件对php文件解密后进行执行。在github上也搜到了该项目screw-plus项目源码下载后编译screw程序,记得要修改成so文件里的密钥,如下图红框位置:然后运行,对源码目录进行解密:满怀激动的打开fl原创 2021-08-02 01:02:06 · 621 阅读 · 0 评论 -
2021津门杯部分RE题wp
文章目录GoodREeasyRebabydspGoodRE很简单的一个TEA算法,直接用脚本解密:def decrypt(v, k): v0 = v[0] v1 = v[1] x = 0xC6EF3720 delta = 0x9E3779B9 k0 = k[0] k1 = k[1] k2 = k[2] k3 = k[3] for i in range(32): v1 -= ((v0 << 4) + k2原创 2021-05-11 16:19:15 · 1018 阅读 · 2 评论 -
2020太湖杯物联网安全大赛easy-app的wp
打开apk发现有native库,直接把so拖入ida,分析主程序如下:首先输入的字符串判断是否是flag{xxxx}的形式,而且总长度是否为38,不是则报错退出然后中间32字节经过check1函数处理,进行0-15位和16-31的高位互换, 然后再经过一个标准TEA加密这里的key是假的:调试的时候才发现实际是这样的:原来是JNI_Onload的时候才修改掉。然后就是base64encode,再和固定字符串比较,相等表示成功。 但是这里的base64encode是魔改的:3-&原创 2020-11-10 00:30:24 · 866 阅读 · 3 评论 -
后记:2020西湖论剑逆向babyre的wp
这个题目对我而言太难了,比赛的时候只做了个crypto简单题和逆向的flow,这个babyre没时间看,赛后花了2天才搞出来。题目是个PE32的可执行程序,体积挺大的,调试的时候一直报非法指令,应该是有反调试的措施。用x64dbg也是一样,看来动态调试这条路是走不通了,干脆耐心的分析代码。首先根据报错,查到主程序逻辑是在sub_1543D0里:这里是一个虚机,具体代码在开头会有初始化:右边注释是我手工写的0x01, 0x63, 0x00, load strings 0 & output原创 2020-10-12 17:18:08 · 736 阅读 · 0 评论 -
2020强网杯flower题wp
从apk中解压出libnative.so拖入IDA,发现加密算法在sub_F34中:关键部分有花指令,patch后可以直接F5看C源码整个代码逻辑用python描述如下:主要操作是对输入的flag字符串前后各用首字节和尾字节填充满128字节,然后加密变化后和固定字符串比较。根据算法逆写解密程序并执行出结果...原创 2020-08-27 13:23:29 · 532 阅读 · 3 评论 -
DOS时代的TT打字软件简单逆向
这两天孩子考完中考,在家无所事事,就让他练练键盘指法,我只记得自己上大学时候练过2周的TT软件,特别好用,然后找了下,现在DOS的程序只能在DOSBOX下跑了,下载以后跑了起来,很熟悉的界面和speak音效有没有?但是,发现一个严重的问题,就是网上下载的版本都是所有的学生都练习过了,而且也没有办法新加学生,因为就总共就8个学生可以添加。然后尝试修改TT.HIS文件,总是进度不能保存要不就是文件损坏错误。后来无意中发现TT还有指导员模式,只要在命令行后面带上正确的密码参数就可以进,这里不知道密码,所原创 2020-07-23 00:58:34 · 3056 阅读 · 0 评论