![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF
「已注销」
这个作者很懒,什么都没留下…
展开
-
JarvisOJ——病毒数据分析
0x00前言这是一道恶意代码分析的题目,其实特征不太像病毒啦。。。整个流程分析下来,还是有不少收获,虽然最后卡在了某个点,但程序的所有功能和流程都分析完成了(因为不复杂,T__T)。在这里,我就把它当作真正的恶意程序来分析一番。0x01信息收集一开始我们没有必要直接去逆向这个程序,而是先收集相关信息,这样能够更轻松的完成逆向分析的步骤。0.首先将它丢进沙箱可以看到给出的评估...原创 2019-03-07 20:07:04 · 434 阅读 · 2 评论 -
2019西湖论剑re
easyCpp本来想静态看出来,看不了。。。IDA调试插件崩了,无奈得使用gdb。首先随便输⼊16个数字gdb-peda$ rStarting program: /mnt/c/CTF/reverse/xihu/easyCpp_o100 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45然后下断看以下函数做了什么最下方begin的返回...原创 2019-04-08 06:53:31 · 944 阅读 · 0 评论 -
KCTF2019 变形金刚
一道安卓逆向,由于没找到关键函数,比赛时没搞出来,复现一下对APK进行反编译,结果十分诡异,看起来就像是对用户名进行了字符串反转,但测试后并非这样public class MainActivity extends AppCompiatActivity { class MyHandler extends Handler { WeakReference mWeakRe...原创 2019-03-29 07:21:41 · 448 阅读 · 0 评论 -
DDCTF2019-Writeup
目录WindowsReverse1WindowsReverse2confusedobfuscating macros黑盒破解2北京地铁MulTzor[PWN] strikeWireshark联盟决策大会滴~Web签到题Upload-IMG大吉大利,今晚吃鸡~Breaking LEMWindowsReverse1比较基础的一...原创 2019-04-19 11:31:32 · 4843 阅读 · 0 评论 -
angr-example(解CTF题目)
0x0废话emmm,总之就是官方给的examples啦。持续更新...链接:https://docs.angr.io/examples0x1defcamp_r100angr在CTF中最常见的使用方式就是利用符号执行来探索路径。来看主函数可以看到本题中只需要达到0x400844这个地址,我们的输入就是正确的flag,即我们打印到达0x400844这个地址的state的标准...原创 2019-05-03 00:17:56 · 2845 阅读 · 1 评论 -
强网杯-JustRe
Windows32位程序,无壳,编译器版本还算高。主函数除了CFG有点诡异外,流程十分简单。进入第一个check函数,可以看到大量SSE指令,前面一些基本的判断很不好看,直接调试看结果.text:00401682 060 movd xmm0, eax.text:00401686 060 pshufd xmm5,...原创 2019-05-28 02:36:42 · 1716 阅读 · 0 评论 -
asis2016-b00ks
off-by-one本题主要是堆上面的off-by-one漏洞利用。off-by-one的成因主要是输入边界考虑不周导致的单字节溢出。一种利用方式是通过修改chunk大小造成结构块之间的重叠,本题就是这种利用方式。程序分析__int64 __fastcall main(__int64 a1, char **a2, char **a3){ __int64 savedreg...原创 2019-06-02 21:40:02 · 728 阅读 · 0 评论 -
两个UAF
HITCON-training-lab 10 hacknote本题为最简单的UAF利用add note0,note1后chunk使用情况0x80b4000 FASTBIN { //note0 prev_size = 0, size = 17, fd = 0x804865b <print_note_content>, //put bk...原创 2019-06-04 23:59:15 · 603 阅读 · 0 评论 -
hgame week3——babytcache
一道tcache的题目,完全不知道tcache是啥,结果看了一上午tcache的东西,大概是分配优先级比fastbin还高的fastbin吧。。主要区别是tcache的next直接指向了chunk的mem,fastbin的fd指向的是chunk的首地址,然后分配和归还内存的优先级最高。思路利用tcache poisoning和tcache dup两种利用方式来完成任意地址写,用来泄漏sys...原创 2019-03-07 09:34:33 · 241 阅读 · 0 评论 -
reversing.kr(下)
AutoHotkey1运行文件很常规的对话框,貌似用了某种脚本语言文件加了upx壳,脱之。脱壳后运行失败不太清除为啥,在IDA中找到"EXE corrupted"字符串,可以看到一个判断当然上图是我已经标注后的,很明显,sub_4508c7函数里进行了某种检测,进入该函数,反编译结果如下int __thiscall sub_4508C7(FILE **this, ...原创 2019-03-03 19:35:44 · 210 阅读 · 0 评论 -
bugku逆向&安卓
入门逆向嗯。Easy_vb嗯。Easy_re嗯。游戏过关flag通过硬编码生成,爆破关键跳即可Timer安卓逆向,看样子和上题类似,直接爆破判断点即可,不过要算出一个关键值根据程序逻辑可以直接算出最终的f320k的值,代码如下public static void main(String[] args) { int...原创 2019-03-08 19:57:35 · 869 阅读 · 0 评论 -
pediy2016 CM7
运行效果动态调试程序,直接运行后触发异常查看堆栈,在不远处找到SEH处理程序位置,并在函数内部下断选择yes让程序来进行异常处理,然后会断在SEH内部。接着进行动态调试,直到找到关键代码处。这里创建了4个线程,每个进去看一看,经测试,另外的线程是用来反调试的,要patch掉。在第一个函数下断,单步跟踪,首先输出了"请输入验证码",然后以另一个函数地址作为参...原创 2019-01-23 00:55:50 · 136 阅读 · 0 评论 -
南邮平台逆向
前面几题太基础就不写了。WxtVM1IDA打开直接查看主函数,可以看到flag的长度为24,经过一个函数调用后,与密文进行对比。那么关键点就是sub_4005B6函数了,内部是这样的,这个流程说明它是个虚拟机,字节码存在byte_6010C0中,一共有15000个字节,3个字节为一条指令,第1个字节决定操作符,第2个字节决定flag的偏移,第3个字节作为值与flag对应偏移...原创 2019-01-23 01:03:17 · 292 阅读 · 0 评论 -
安恒月赛杯9月逆向
NewDriver本题主要涉及base64加密和RC4加密的知识 拿到一个PE文件,运行之后是个控制台程序,简单的要求输入flag,然后判断是否正确,无壳。用32位IDA打开,找到main函数,由于栈帧不平衡无法反编译,可以修改堆栈指针使其平衡然后进行反编译,不过该题主函数逻辑不复杂,可以直接看汇编代码。直接来到开始输入的指令位置显然,var_38便是用来存储输入的变量...原创 2019-01-29 14:05:33 · 752 阅读 · 0 评论 -
reversing.kr(上)
EasyCrack找到关键验证函数如下显然,这是个明文比较,一眼就能看到结果。EasyKeygen题目描述:Find the Name when the Serial is 5B134977135E7D13主函数中可以找到序列号的生成算法,逻辑很清晰,就是依次异或3个密钥随手写个脚本就可以解辣s = '5B134977135E7D13's = s.dec...原创 2019-02-15 21:12:19 · 345 阅读 · 0 评论 -
pwnable.tw——hacknote
很少做pwn,之前也只懂点rop,现在跟着练练pwn的堆利用吧,pwnable.tw上的一题hacknote,比较纯粹的uaf题目,还好不久前看了点glibc内存管理的东西,可以派上用场了。逆向很轻松,那为什么不直接给源码呢。。。根据add_note函数很容易了解note的结构体特征unsigned int add_node(){ note *v0; // ebx signed...原创 2019-02-24 10:39:50 · 820 阅读 · 0 评论 -
pediy2016 CM29
运行程序,传统32位窗口程序要找到程序的输入点,考虑找MessageBoxA,GetWindowText等API调用点,由于没有进行api隐藏,可以轻易找到输入点。反编译结果很清晰,可以看到我们的输入转变为ascii进行了求和,输入长度为8,然后调用sub_401B0A函数对其进行检查,进入该函数反编译结果同样清晰,它看起来是个switch case结构,不过这本质上是个障...原创 2019-02-24 10:40:46 · 165 阅读 · 0 评论 -
pediy2016 CM2
整个程序大致流程:(所有重要字符串都已经过RC6解密处理,达到加密的效果)解密出fnGetRegSnToVerify和fnCalcUserInputRegSnAfterEnc两个函数名并注册为lua函数 获取输入并进行RC6解密处理 解密出lua编译后的脚本并执行该脚本 在该脚本中调用了fnGetRegSnToVerify和fnCalcUserInputRegSnAfterEnc函数 ...原创 2019-02-24 10:41:33 · 248 阅读 · 0 评论