![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
逆向
文章平均质量分 55
liuxiaohuai_
这个作者很懒,什么都没留下…
展开
-
buu [UTCTF2020]babymips
这个题就是简单的对mips汇编语片做反编译分析使用工具:ghidra使用ghidra对文件进行静态分析找到main(),并对其分析分析关键函数FUN_00401164void FUN_00401164(int param_1, basic_string<char,std--char_traits<char>,std--allocator<char>> *param_2){ int iVar1; basic_os原创 2021-08-23 10:50:49 · 258 阅读 · 0 评论 -
攻防世界 re simple-check-100 wp
这个题目说实话有点坑!!!他给了三个不同版本的题目。.exe文件是windows版本的。但是这个windows版本的题目有问题。怎么弄都弄不出答案。换成linux也就是这个就可以找到flag了!!!!!!解题步骤下面进入正文先查壳,无壳。直接拖进ida64中查看main()函数这个函数就是初始化了一个数组,然后判断check_key()的返回值。我们查看这个函数发现,它就是用来阻止我们进入之后的函数的。应为。不论你输入什么,他都反汇-559038737所以我们直接跳过这个函数看后面的原创 2021-04-04 17:03:40 · 411 阅读 · 0 评论 -
[WUSTCTF2020] funnyre wp
下载附件。无壳,直接ida64打开。发现没有main()函数。感觉应该是用了混淆。从上往下查看汇编代码发现了main()函数的位置。继续向下看。上图红圈里的jz和jnz一看就有毛病!红框中没有标红的地方也是一样。这里的代码应该都是像这样的格式。先声明地址,然后一个xor语句,一个add语句,一个cmp语句,一个jnz语句,最后再来一个xor语句。把上面红框中的语句改成这种格式,直接nop掉这些多余的语句。下面大概还有4,5处这样的地方。弄完这么的清爽!到最后这里有个判断语句。对比v7和unk_原创 2021-04-03 16:27:09 · 568 阅读 · 0 评论 -
[VNCTF 2021] notsudoku wp
这个题目之前比赛写的时候就是一脸懵。比赛之后看了大神们的wp才知道还是我太弱了,学习的太少了。1.查壳下载附件后先查壳。发现带有upx壳,我么先脱壳。2.将python打包的exe文件转化为pyc文件通过观察文件图标可以发现,这个文件是使用python打包的一个exe文件我们需要使用pyinstxtractor.py将python打包的.exe文件还原成.py文件python pyinstxtractor.py notsudoku.exe //注意:要将被还原文件和 pyinstxtrac原创 2021-03-22 17:53:07 · 451 阅读 · 0 评论 -
buuctf [RoarCTF2019]polyre
今天刷的这个题是关于平坦化和虚假控制流程的题目。第一次见到所以写篇wp记录一下。1.处理文件1.1 控制流平坦化将文件直接拖入ida64中,查看main函数的控制流程图(CFG)得到的代码是一个多重循环,我们需要对代码进行控制流平坦化。可以参考:https://security.tencent.com/index.php/blog/msg/112deflat.py脚本https://pan.baidu.com/s/1Tuw2ITns1bI05nWfTpwNag提取码:u2g0使用时需要注意原创 2021-03-04 16:12:48 · 1622 阅读 · 2 评论 -
Kali angr环境配置
写ctf题目的时候了解到python下的angr这一工具。写这篇博客来记录我安装angr的心酸过程。1.kali linux安装angr1.1 运气好没有报错的安装方法直接使用pip install angr如果出现如上报错我是真没招了。接着往下看吧。1.2 没有那个运气就还是跟着接下来的步骤慢慢来吧环境:python2新版的kali可以直接使用这条命令安装virtualenvwrapperpip install virtualenvwrapper老版的kali使用这条命令安装旧版本的v原创 2021-03-02 18:55:35 · 739 阅读 · 0 评论 -
buu [FlareOn5]Ultimate Minesweeper wp
先把下载的附件直接拖进ida发现这个是.NET文件所以我们直接放进dnspy中 查看代码。我们很容易的就找到了主函数。点进去,发现有一个GetKey()函数,估计这个函数就是输出flag的函数了。我们接着在主函数里翻,找到了调用了GetKey()的函数通过分析代码可以知到上图中的第一个if语句是用来输出fail的(也就是踩到雷之后,游戏结束。)我们通过修改语句(在要注释的地方点击鼠标右键->编辑方法->弄好之后点击右下角的编译),将这个if语句注释掉再保存为新文件(ctrl+shi原创 2020-12-24 14:54:26 · 564 阅读 · 0 评论 -
buu [2019红帽杯]Snake wp
不得不说这个游戏做的还是蛮精致的,我就这么玩玩了我半个小时。该游戏是用unity编写的,那么在文件中找到Assembly-CSharp.dll(\Snake\Snake_Data\Manage\Assembly-CSharp.dll这个路径)拖进dnspy就能对该游戏框架的反汇编了。我们把它拖入ida中,就可以很清楚的看到文件中的函数调用情况而这个GameObject函数就是这个游戏的主函数。再回到dnspy中,找到Interface下的GameObject函数在游戏文件中找到interface原创 2020-12-23 18:10:40 · 665 阅读 · 0 评论 -
buu [ACTF新生赛2020]SoulLike wp
下载附件后查壳发现无壳直接拖进ida64查看main()函数函数的结构非常简单。重点就在于sub_83A()这个函数这个函数很大直接f5是会报错的,要将ida /ctg目录下的hexrays.cfg文件中的MAX_FUNCSIZE=64 改为 MAX_FUNCSIZE=1024再按f5等待一段时间后出伪c代码。这里就是将输入的flag进行接近3000行的异或操作后与最后的v4~v15的数值进行比较。但是当判断错误时会输出wrong on # + 出错的位置所以我们可以直接爆破。from原创 2020-12-22 20:03:46 · 1142 阅读 · 3 评论 -
buu [2019红帽杯]childRE wr
无论 __cdecl,__fastcall还是__stdcall调用方式,函数修饰都是以一个“?”開始,后面紧跟函数的名字。再后面是參数表的開始标识和 依照參数类型代号拼出的參数表。原创 2020-12-19 17:32:29 · 1172 阅读 · 2 评论 -
buu 内涵的软件
这个题下载文件后解压,先运行一下这个exe文件发现没什么用,直接放入ida中。找到main函数 双击打开它发现里面还有一个main_0函数我们继续双击点进去看看得到flagflag{49d3c93df25caad81232130f3d2ebfad}...原创 2020-12-09 19:46:26 · 545 阅读 · 0 评论 -
buu reverse2
这个题下载文件后直接解压拖入ida64中查看main函数f5后得到伪代码如下图通过对代码的分析可以知道这段代码大致的意思就是:将你输入的字符串存放到argv中用argv和代码中的flag变量进行比较,相同就得到flag。但是代码中19行到23行对flag变量进行了操作将flag变量中存放的字符串中等于‘i’和‘r’的项转变为了‘1’所以我们直接上脚本:a = "{hacking_for_fun}" #flag变量中存放的字符串flag = ""原创 2020-12-09 19:36:50 · 359 阅读 · 0 评论 -
buu reverse1
还是先下载文件。下载文件后解压得到reverse_1.exe先查壳发现没有加壳,那就直接放进ida64 然后shift+f12打开strings window界面查看字符串发现有句话this is the right flag!我们直接双击他点进去看一下发现这句话被sub_1400118C0这个函数引用了。我们直接双击上图画红圈的地方,进去查看这个函数双击之后是这样的,我们选中这里然后直接按f5查看他的伪代码通过对伪代码的分析我们可以知到flag就是Str2字符串,将‘o’转化为‘0原创 2020-12-09 19:17:50 · 700 阅读 · 0 评论 -
buu easyre
buu 逆向方向的第一题非常简单下载文件后解压直接拖进ida64打开后就可以看到flag得到:flag{this_Is_a_EaSyRe}原创 2020-12-09 18:56:30 · 673 阅读 · 0 评论