随笔分类 -  CTF

摘要:src = 'NDCLS' v9 = 'hadow' key1 = 'ADSFK' key3 = 'kills' text1 = key3 + v9 # 这里的text1相当于 text = key3 + v9 text2 = key1 + src # 这里的text2相当于 key = key1 阅读全文
posted @ 2023-11-29 18:07 努力的大魔王 阅读(38) 评论(0) 推荐(0)
摘要:看到题面的提示我以为是很简单的找flag就行了 结果发现并没有这么简单,打开程序发现有上下左右的操作 ida里面也是 然后看到后面的输出环节有#和1,结合上下左右感觉像迷宫的题目 那就大胆地猜一下就是迷宫的问题,然后根据数组的大小是25猜迷宫是5*5的 0是可以走的,1是不可以走,*是起始地,#是目 阅读全文
posted @ 2023-11-29 14:38 努力的大魔王 阅读(17) 评论(0) 推荐(0)
摘要:打开界面看到爆红的代码 浏览整个代码没有发现明显的call指令爆红,那就只能慢慢看了 发现一个地方出现永真跳转代码 这里的话直接给他nop掉就好了 然后在上面选中mian函数p键就好了 另外想讲一下的点是这几个函数都是可以分析的 键入函数 F5变为伪代码 这里重点讲一下第五个函数 int __cde 阅读全文
posted @ 2023-11-27 18:01 努力的大魔王 阅读(221) 评论(0) 推荐(1)
摘要:主要注意的是脚本编写的时候数据会有溢出的风险 因为输入的是char类型只有八位,超过八位就会溢出,所以需要对数据进行另外的处理 所以最后的脚本是 enc = [0xCD, 0x4D, 0x8C, 0x7D, 0xAD, 0x1E, 0xBE, 0x4A, 0x8A, 0x7D, 0xBC, 0x7C 阅读全文
posted @ 2023-11-27 16:32 努力的大魔王 阅读(175) 评论(0) 推荐(0)
摘要:#include <stdio.h> #include <stdint.h> void encrypt (uint32_t* v, uint32_t* k) { uint32_t v0 = v[0], v1 = v[1], sum = 0; uint32_t delta = 0xd33b470; f 阅读全文
posted @ 2023-11-24 20:52 努力的大魔王 阅读(120) 评论(0) 推荐(0)
摘要:主要是代码的转换 这里是主要的xtea算法的加密过程 然后逆向解密代码如下 #include <stdio.h> int main(){ unsigned int l,r; unsigned int v4[6]={-1054939302,-1532163725,-165900264,85376916 阅读全文
posted @ 2023-11-22 00:42 努力的大魔王 阅读(380) 评论(0) 推荐(0)
摘要:里面的函数很多,然后还没有main函数,这个时候从字符串那里寻找线索了 根据tea算法的知识我们可以猜测图中的v7应该是加密的密钥 然后看sub_140011339函数,发现主要的逻辑就是给v7的值换个位置而已,然后v7的值变为2233,4455,6677,8899 sub_140011145函数, 阅读全文
posted @ 2023-11-19 23:27 努力的大魔王 阅读(227) 评论(0) 推荐(0)
摘要:打开是js代码 然后除了分析js代码的方法以外可以在浏览器的调试器直接对代码进行调试 先找到主要的判断函数 然后我们找到loadcode()和run()函数进行分析 没找到loadcode()函数那就分析run()函数 加上调试代码进行调试 console.log('new 0pcode'+comm 阅读全文
posted @ 2023-11-19 12:45 努力的大魔王 阅读(30) 评论(0) 推荐(0)
摘要:注意数据的处理 这里出现位运算,大有可能是高低位进行运算了 这里有一道类似的题目: [WEEK1]easy_re - 努力的大魔王 - 博客园 (cnblogs.com) 但是这里写出逆向代码就不对了,看了wp才知道要用 &0xFF 来限制每个操作后的字符的位数为8位 为什么8位?因为v1是char 阅读全文
posted @ 2023-11-16 20:30 努力的大魔王 阅读(31) 评论(0) 推荐(0)
摘要:第一次做hook的题目 打开看到main函数 经过整理得到主要的函数和主要的逻辑判断 点击发现sub_401240()这个函数会比较像,然后就进入分析了,然后发现根本算不了 特别是里面v4里面的,我们输入的flag被当作了下标处理,就很不合理 然后根据题解和题目的提示,这道题的考点就是hook 关键 阅读全文
posted @ 2023-11-15 20:10 努力的大魔王 阅读(198) 评论(0) 推荐(0)
摘要:这里直接贴题解了 攻防世界 Reverse高手进阶区 2分题 Replace_攻防世界reverse练习区replace-CSDN博客 【精选】攻防世界逆向高手题之Replace_攻防世界 replace_沐一 · 林的博客-CSDN博客 注意 数据 开始一直不知道这个是干嘛的,在代码里面也没看见引 阅读全文
posted @ 2023-11-12 15:13 努力的大魔王 阅读(73) 评论(0) 推荐(0)
摘要:注意 操作等级 亦或的操作优先级比减号低 C++运算符优先级_c++运算符的优先级顺序-CSDN博客 转换 还有注意一般都是小端存放,所以这里要逆序输出 阅读全文
posted @ 2023-11-12 13:13 努力的大魔王 阅读(21) 评论(0) 推荐(0)
摘要:没做出来,看题解得 攻防世界逆向高手题之re2-cpp-is-awesome_align 20h-CSDN博客 注意 汇编知识 align 8,align num是让后面的字节都对齐num,也就是这里都对齐8才对,中间补7个0。可是这里下一个数和上一个数明明间隔4而已!后来查了很多资料才发现是IDA 阅读全文
posted @ 2023-11-12 11:25 努力的大魔王 阅读(13) 评论(0) 推荐(0)
摘要:第一次做压缩包逆向 了解到的用jd-gui打开 得到的简单代码可以在在线平添运行 阅读全文
posted @ 2023-11-12 10:25 努力的大魔王 阅读(29) 评论(0) 推荐(0)
摘要:这道题是动态调试的考点,看了wp才有思路 像这样的游戏题一定要搞清楚他的具体游戏流程才能更好的做出来,然后根据他的思路去改掉相关的判断就可以了 攻防世界逆向高手题之gametime_攻防世界 gametime_沐一 · 林的博客-CSDN博客 这里的话前面是进行较简单的判断 先找到关键的判断函数 第 阅读全文
posted @ 2023-11-12 00:58 努力的大魔王 阅读(61) 评论(0) 推荐(0)
摘要:这里也是没有做出来,因为有隐藏函数的原因(第一次见) 攻防世界XCTF 3rd-RCTF-2017 easyre153学习笔记_rhelheg-CSDN博客 攻防世界逆向高手题之easyre-153-CSDN博客 这里提一下pipe(pipedes); fork() 两个函数 (pipe(piped 阅读全文
posted @ 2023-11-11 21:47 努力的大魔王 阅读(87) 评论(0) 推荐(0)
摘要:一道好题,没解出来但是收获很多 贴两位大牛的题解 【精选】攻防世界逆向高手题之ReverseMe-120-CSDN博客 攻防世界ReverseMe-120详解_攻防世界reverseme基本思路-CSDN博客 这里我就写一下对于自己来说需要注意的点 注意 未出现函数传参不意味着没有操作 在我自己的i 阅读全文
posted @ 2023-11-11 20:07 努力的大魔王 阅读(161) 评论(0) 推荐(0)
摘要:前置知识 int __cdecl main(int argc, char **argv) * argc: 整数, 为传给main()的命令行参数个数。* argv: 字符串数组。argv[0] 为程序运行的全路径名;argv[1] 为在DOS命令行中执行程序名后的第一个字符串;argv[2] 为执行 阅读全文
posted @ 2023-11-11 16:56 努力的大魔王 阅读(63) 评论(0) 推荐(0)
摘要:代码脚本解开法 #include <stdio.h> int main(int argc, char* argv[]) { char flag_data[] = { 220, 23, 191, 91, 212, 10, 210, 27, 125, 218, 167, 149, 181, 50, 16 阅读全文
posted @ 2023-11-10 14:44 努力的大魔王 阅读(41) 评论(0) 推荐(0)
摘要:for循环,这里给它化简255-i+2-98-未知数x需要等于'0'对应的ASCII值48,那么求x的值,x=111-i,而i的值就是从0到14,这样便可以计算出15位的密码 所以写出来的脚本 阅读全文
posted @ 2023-11-09 12:41 努力的大魔王 阅读(113) 评论(0) 推荐(0)