摘要: 首先查壳发现啥也没有,然后静态分析,看到代码十分简单,以为是签到题 将flag提交上去显示错误,说明这道题另有玄机 可以看到这道题除了main函数还有各种其他的不知名函数 说明并不这么简单,查看其他师傅的思路,发现在执行main函数之前实际上还调用了一大堆其他的函数,比如__libc_start_m 阅读全文
posted @ 2025-03-27 10:27 Ylin07 阅读(22) 评论(0) 推荐(0)
摘要: 这道题考察了线程的知识点,刚好之前略有耳闻,今天就来好好分析一下。 首先是查壳为UPX可,脱去后可以看到程序的逻辑: 程序首先分配了一个共享资源区域,然后分别创建了两个进程,我们看到当dword_418008小于0时,进入下一个函数,我们猜测,这个dword_418008也许是共享资源 我们分别查看 阅读全文
posted @ 2025-03-11 16:00 Ylin07 阅读(5) 评论(0) 推荐(0)
摘要: 这道题又是新的题型,研究了以下,要好好记录下来。 首先是看程序开启了哪些保护: 发现没开启栈溢出保护,我们继续往下看程序的逻辑: 一个简洁的页面,到此为止我们并不能看出可以利用哪些攻击方式,我们跟踪一下函数encrypt和begin发现begin只是一个简单的显示程序,而重点在于encrypt函数, 阅读全文
posted @ 2025-02-26 14:15 Ylin07 阅读(54) 评论(0) 推荐(0)
摘要: 太难了太难了,这道题是花指令+迷宫逆向,本来以为学了汇编就学会了花指令,没想到nop哪里才是关键 首先查壳,外面一个"UPX"壳,直接去掉,检查里面的函数逻辑,发现不能正常反编译 然后下面还有一大堆数据不知道啥情况,这就是花指令导致的,中间的call和jnz均指向了一个无法成功跳转的地址(没有意义的 阅读全文
posted @ 2025-02-24 21:40 Ylin07 阅读(47) 评论(0) 推荐(0)
摘要: 又他妈的是新生赛,我都不是新生了还天天被折磨。 首先查壳分析,然后反编译程序,可以看到程序逻辑还是比较简单的 我们进行一下整理和重命名,可以得到完整的程序逻辑: int __cdecl main(int argc, const char **argv, const char **envp) { in 阅读全文
posted @ 2025-02-24 20:10 Ylin07 阅读(44) 评论(0) 推荐(0)
摘要: 这道题很难,但是并不难在他的解题要用到的方法和技巧上,而是难在它的题目设计。做的过程中真的有一种闯关的感觉,非常有趣 首先我们通过对字符的定位我们可以来到sub_4009C6函数 __int64 sub_4009C6() { __int64 result; // rax int i; // [rsp 阅读全文
posted @ 2025-02-24 13:35 Ylin07 阅读(32) 评论(0) 推荐(0)
摘要: 这道题很有难度,有些地方还是一知半解,看了很多别人的题解,在这里留下记录 首先我们对程序进行逆向分析,我们可以很容易的得到逆向逻辑 int __cdecl main_0(int argc, const char **argv, const char **envp) { DWORD v3; // ea 阅读全文
posted @ 2025-02-23 22:57 Ylin07 阅读(11) 评论(0) 推荐(0)
摘要: 没想到我会被这种题目难到,这是为什么呢?我认为是因为我对凯撒移位的不够了解,以及对取模运算的认识不够,因此作此记录 程序的加密逻辑很简单,分别对输入的字符进行区分大小写的移位操作 而重点便在于这里,以下面的程序为例: new_char = (original_char - 51) % 26 + 65 阅读全文
posted @ 2025-02-21 21:35 Ylin07 阅读(19) 评论(0) 推荐(0)
摘要: 这道题对我来说有点新奇,它利用了程序中自带的system程序,和字符/bin/bash构造了一个后门函数让我们看看是怎么做的吧 首先和程序进行交互: 发现是一个读取输入相关的程序,我们对其进行分析,首先用checksec检测到了NX保护,但是没关系。我们再用IDA进行程序的分析: 我们看到了这里的r 阅读全文
posted @ 2025-02-17 10:29 Ylin07 阅读(13) 评论(0) 推荐(0)
摘要: 这道题挺简单的,但是为什么我没做出来呢?我从里面学到了什么?在此记录一下 首先,开头先进行查壳,发现UPX壳,用工具脱壳即可 然后我们进入程序的程序逻辑 我们可以明显看到上方的变量是连续的,这里我一开始是这么将就着用的,所以导致了我后续的思路混乱。按照其他大佬的意见,我使用"Y"重新把数据定义了一遍 阅读全文
posted @ 2025-02-17 09:55 Ylin07 阅读(73) 评论(0) 推荐(0)