自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【DASCTF 三月赛 逆向replace】

2021年DASCTF三月赛逆向部分的学习,这个题又是一道程序运行时修改了特定函数的保护属性,从而在函数内部写入了其他函数的内存地址,达到跳转的目的,之前好像遇到过类似的题目,但这个题目一开始仍然没有分析出来,后面看了其他师傅的WP后有了思路,从头到尾独立完成了下,在此做一记录。题目上来一看,貌似逻辑挺简单:貌似很简单,然后bytes.fromhex,异或回去,得到了一个很好假flag,意料之中,怎么可能这么简单,然后就不会了,之后学习了一下,关键地方还是在:这里1这部分是获取了IsDebuggerP

2022-07-01 11:40:36 477

原创 【BUUCTF逆向 [GUET-CTF2019]encrypt】

BUUCTF逆向刷题,本题涉及到RC4加密,变表base64编码题目一进来可以看到很清晰的函数逻辑,有三个关键函数,后面就是和密文比较:这里第一个函数是在构造RC4的S盒,第二个函数是对输入的flag进行RC4加密,第三个函数是变表base64加密,这里在字符串中没有找到相关的变表,这个在具体函数中再进行分析:总结脚本积累...

2022-06-29 16:58:35 940

原创 【BUUCTF逆向 [安洵杯 2019]crackMe】

BUUCTF逆向刷题记录,本题主要涉及SM4加密算法和变表base64,hook函数这个题目刚开始直接跟进main()函数,看了半天也没看懂是个什么,而且越看越懵逼,后来看了其他师傅的WP,才有了思路,慢慢理清了逻辑:首先用findcrypt插件查了一下,发现有base64和SM4存在,跟进base64加密部分:这部分是第一次对base64编码表进行换表,大小写互换,跟进Handler:base64编码部分里面仍然动了小手脚,这里在进行索引的时候凯撒移位了24位,可以理解为编码表循环左移了24位。

2022-06-28 00:09:43 996

原创 【BUUCTF逆向 [2019红帽杯]xx】

BUUCTF刷题记录,本题主要是一道C++程序题,主要在于理清代码逻辑,c++的反汇编伪代码看的还不是很熟练。代码稍长,可以分段看,首先来到第一段,是一个获取输入的部分:这里有一个容易看错的地方,就是存储输入的那个变量叫Code,然后v6指向的内容也叫Code,但是这两个不是一个东西,后者跟进去后可以看到如图上标注所示这里是最后一个异或的逻辑,相当于从v20[3]开始,每一位都会和前面的几个数据循环异或,范围就是range(i//3),逆的时候从后往前算总体的逻辑差不多是这样,但是在解的时候卡在了解

2022-06-27 10:37:12 787

原创 【PwnTheBox逆向 asong】

记录一道PwnTheBox逆向题,原题是2018QCTF-re-asong题目一共给了3个附件,IDA打开函数后发现函数不多,但是总体逻辑并不那么简单,还是有些很绕的地方:一开始非常绕的地方是那个词频统计的地方,这里看到v4的生成与输入无关,就想着动态调试看看v4是什么,猜测v4是个列表,因为后面看到了对v4取列表元素的操作,但是又没理解这个怎么样的列表,后面看了WP,明白了词频统计的过程:这里我们可以看到按字节读取文件中的内容,经过sub_400936,算出一个数v2,然后a2[v2]++,那么这个v

2022-06-24 22:14:39 206

原创 【攻防世界逆向 BabyXor】

攻防世界逆向刷题,此题主要学习ESP定律法脱壳,一开始脱壳后程序有点问题,无法运行,不知道是不是后续哪些步骤没有完成,但是不影响反汇编,代码逻辑也没那么复杂,所以不影响做题,看了别人的WP都是动态调试出的结果,问题出在了脱壳时我没有勾选掉重新输入表,虽然不知道为什么。查壳发现不知名壳,IDA载入程序什么也看不到,没办法用我的万能脱壳工具,这里学习使用ESP定律法进行手动脱壳。OD载入程序,f8一次:在esp寄存器这里右键设置硬件断点,然后f9运行,程序会被断在刚才下的断点的位置:然后在这个位置利用ol

2022-06-21 22:42:46 378

原创 【BUUCTF逆向 jocker】

通过本题,学习了使用OD的dump插件题目无壳,进入以后看到如下函数逻辑:这里我是直接可以看到反汇编的,但是后面看了别人的WP,说是这个地方有堆栈不平衡,因而导致看不到反汇编,不知道是不是IDA版本的原因,我这里用的是7.7版本这里有两个函数,wrong和omg,通过这两个函数可以还原出一个假flag,具体就不说了,关键的地方在encrypt和finally,这两个函数在干什么的,其中encrypt无法跟进,然后再有一段(encrypt + i) ^=0x41,这么一段,一开始没明白,为什么这里是对函数

2022-06-19 21:59:26 307

原创 【BUUCTF逆向 number_game】

递归算法,识别二叉树遍历附件程序没有加壳,在IDA中打开后可以看到几行简短的函数:按照惯例我习惯先看比较函数:这里可以看出是一个55的矩阵,而且每行每列的元素都不能重复这里是最开始的一个判断,也就是说我们输入的内容必须是0-4,长度为10,sub_400758、sub_400807这两个函数一开始没有去看,直接跟了后面一个sub_400881:这个函数是一个赋值函数,把数组中的值附给刚才55矩阵的特定位置,跟进一下生成数组的数据,发现其实就是在完成一个数独,我们输入的内容就是去填充这个数独,完成数独后

2022-06-19 13:46:17 339

原创 【逆向学习 testre2】

刷题过程中碰到一道恶心了我半天的题,但归根到底还是自己菜。。。。。。程序拖入IDA,跟进main函数后发现如下内容:两个函数一个比较,先看看第一个函数干了什么,跟进sub_400894:利用给定的参数0xB7E1516、0x61C88647生成了一个数组,里面包含26个int型数,后面又和v4进行了相关运算,相当于用v4混淆掉刚才生成的数组获取输入后执行了sub_4006FC:![在这里插入图片描述](https://img-blog.csdnimg.cn/f76095cf8ba24f5a从v5中

2022-06-16 10:28:07 252

原创 【逆向练习题 crakeme】

浅记一道逆向练习题首先程序无法运行好,那拿去查个壳吧很好,甚至无法识别,010打开也看了看,没什么收获,最后看了下hint原来是对PE头动了手脚。先看标准的PE头本程序中魔改成如下一开始没注意到,改成标准PE头后,程序就可以运行了,经过查壳发现有个nsPack的壳,题目难点就在于手动脱壳,我菜,所以我用万能脱壳工具,有时间再慢慢研究。脱壳之后进入程序发现就是一个简单的异或,把关键数据搞出来异或就出了结果。总结对PE文件格式不熟悉,如果熟悉,第一遍用010看的时候就应该发现问题了。关于PE

2022-06-08 16:19:42 295

原创 【ctfshow 月饼杯 re1_西北望乡】

ctfshow 月饼杯

2022-06-08 10:11:20 289

原创 【ctfshow摆烂杯 比烂为主】

ctfshow摆烂杯 比烂为主

2022-06-02 09:35:49 1220 1

原创 【ctfshow BJDctf2020 encode】

一、代码分析程序是由各UPX的壳的,用工具脱壳后,IDA打开可以看到,基本的逻辑是首先判断输入长度是否为21,然后进行了一个变表的base64加密,然后加密后的结果与v5进行循环异或,再将得到的结果经过一个不知道是什么的加密后,将得到的结果与v6比较。刚开始做的时候并没有一下子看出来最后经过了一个RC4加密,而是看到了a1指针指向的内容最后经过了一个异或运算,并且异或的值应该与输入无关,所以我直接通过在异或的位置下断点,从寄存器内读出了v9的内容。实际上如果看懂了这是个RC4加密的代码后,可以通过写

2022-05-31 09:03:31 778

原创 【ctfshow逆向 数学不及格】

前言ctfshow逆向浅尝,比较简单的题目,难的我也不会…一、代码分析就不啰唆了,很简单的逻辑,直接上图接收4个输入,然后做一些运算判断,主要是f函数是生成斐波那契数列,没看出来的话直接复制出来跑一下,反正菜鸡都是这么逆向的。解的过程就是逆推这几个数,首先解决v4是多少,其他的就好算了,v4这里反正是200以内的,生成一个200项的斐波那契数列(实际上没用到这么长),然后暴力求解一下,后面就顺理成章了。二、脚本示例代码如下(示例):import numpy as npimport pan

2022-05-30 11:14:38 956

原创 【ctfshow单身杯 TooYoungRSA】

前言ctfshow—单身杯 TooYoungRSA一、题目分析nc之后题目给出了个随机数(小于n)加密后的值ck,以及ck经过sha256之后的hex编码(key),后面用到这个key对flag进行AES加密,AES加密部分很好处理,但是关键在于不知道前面RSA加密部分的n和e。根据源码后面我们知道了,我们可以一直输入内容,然后函数返回相同的n和e加密后的值,这里我们可以进行选择明文攻击,得到n和e。二、公式推导由题知:k ^ e ≡ c1(mod n)此时假设我们再输入k^2,得到:(k

2022-05-28 13:46:32 435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除