随笔分类 - CTF / 攻防世界 / re
摘要:打开是js代码 然后除了分析js代码的方法以外可以在浏览器的调试器直接对代码进行调试 先找到主要的判断函数 然后我们找到loadcode()和run()函数进行分析 没找到loadcode()函数那就分析run()函数 加上调试代码进行调试 console.log('new 0pcode'+comm
阅读全文
摘要:注意数据的处理 这里出现位运算,大有可能是高低位进行运算了 这里有一道类似的题目: [WEEK1]easy_re - 努力的大魔王 - 博客园 (cnblogs.com) 但是这里写出逆向代码就不对了,看了wp才知道要用 &0xFF 来限制每个操作后的字符的位数为8位 为什么8位?因为v1是char
阅读全文
摘要:第一次做hook的题目 打开看到main函数 经过整理得到主要的函数和主要的逻辑判断 点击发现sub_401240()这个函数会比较像,然后就进入分析了,然后发现根本算不了 特别是里面v4里面的,我们输入的flag被当作了下标处理,就很不合理 然后根据题解和题目的提示,这道题的考点就是hook 关键
阅读全文
摘要:这里直接贴题解了 攻防世界 Reverse高手进阶区 2分题 Replace_攻防世界reverse练习区replace-CSDN博客 【精选】攻防世界逆向高手题之Replace_攻防世界 replace_沐一 · 林的博客-CSDN博客 注意 数据 开始一直不知道这个是干嘛的,在代码里面也没看见引
阅读全文
摘要:注意 操作等级 亦或的操作优先级比减号低 C++运算符优先级_c++运算符的优先级顺序-CSDN博客 转换 还有注意一般都是小端存放,所以这里要逆序输出
阅读全文
摘要:没做出来,看题解得 攻防世界逆向高手题之re2-cpp-is-awesome_align 20h-CSDN博客 注意 汇编知识 align 8,align num是让后面的字节都对齐num,也就是这里都对齐8才对,中间补7个0。可是这里下一个数和上一个数明明间隔4而已!后来查了很多资料才发现是IDA
阅读全文
摘要:第一次做压缩包逆向 了解到的用jd-gui打开 得到的简单代码可以在在线平添运行
阅读全文
摘要:这道题是动态调试的考点,看了wp才有思路 像这样的游戏题一定要搞清楚他的具体游戏流程才能更好的做出来,然后根据他的思路去改掉相关的判断就可以了 攻防世界逆向高手题之gametime_攻防世界 gametime_沐一 · 林的博客-CSDN博客 这里的话前面是进行较简单的判断 先找到关键的判断函数 第
阅读全文
摘要:这里也是没有做出来,因为有隐藏函数的原因(第一次见) 攻防世界XCTF 3rd-RCTF-2017 easyre153学习笔记_rhelheg-CSDN博客 攻防世界逆向高手题之easyre-153-CSDN博客 这里提一下pipe(pipedes); fork() 两个函数 (pipe(piped
阅读全文
摘要:一道好题,没解出来但是收获很多 贴两位大牛的题解 【精选】攻防世界逆向高手题之ReverseMe-120-CSDN博客 攻防世界ReverseMe-120详解_攻防世界reverseme基本思路-CSDN博客 这里我就写一下对于自己来说需要注意的点 注意 未出现函数传参不意味着没有操作 在我自己的i
阅读全文
摘要:前置知识 int __cdecl main(int argc, char **argv) * argc: 整数, 为传给main()的命令行参数个数。* argv: 字符串数组。argv[0] 为程序运行的全路径名;argv[1] 为在DOS命令行中执行程序名后的第一个字符串;argv[2] 为执行
阅读全文
摘要:代码脚本解开法 #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
阅读全文
摘要:for循环,这里给它化简255-i+2-98-未知数x需要等于'0'对应的ASCII值48,那么求x的值,x=111-i,而i的值就是从0到14,这样便可以计算出15位的密码 所以写出来的脚本
阅读全文
摘要:打开以后发现就是简单的字符串操作 关键比较 其中v7出按r转成字符 然后写出脚本进行操作 但是最后输出的结果不太对的样子 看了wp才知道以LL结尾的那个地方转为字符串以后要逆序操作,即字符串在内存中是以小端存放的,所以改写代码为
阅读全文
摘要:在字串中找到几个可疑字串,最终键入这个字串发现有点线索 不过发现只是简单的已知函数的索引并没有输入函数进行输入,然后想了想可能在外面有索引吧,然后就X进行交叉引用查看 来到了函数的外面 可以看到这是对输入字串进行了三层判断和操作后才将其带入到sub_4017F0()函数中 所以进行逆向代码编写可以得
阅读全文
摘要:虽然关键的判断函数和“成功”的提示也在这里,但是具体对输入flag的操作却在后面 看到对数组bufParentRead[1]开始赋值"53fc275d81",bufParentRead[31]赋值为"4938ae4efd",但是后面的cmp函数对比的字符串却不一样 所以可以判断上面的函数应该对字符串
阅读全文
摘要:题解,第一次遇到这种题目纪念一下 攻防世界逆向入门题之answer_to_everything_沐一 · 林的博客-CSDN博客
阅读全文
摘要:f5看到关键代码判断 猜测这是flag或者是加密后的结果,直接将其当作flag答案不对,所以猜测为加密后的结果,然后再通过其他函数了解 跟进第一个函数发现编码表 本来想试试base解密,可是当时只试了base64,结果是base58,当时没试出来,看了wp才知道其他地方有提示 结果就是base58解
阅读全文
摘要:拿到这道题是个应用程序,经过上次的经验就跟程序交互了一下,结果根本交互不了,输入什么东西都没有反应 然后打开ida分析发现有几个函数还有一堆的操作数,看到这一堆东西就没心思分析了,后面才知道原来就是要简化函数 别人的wp 一共有sub_291000、sub_291100和sub_291220三个函数
阅读全文
摘要:刚开始拿到题目没有思路,看了字符串发现也没什么特别的,也没有提示输入什么什么,然后找到main函数,f5进去以后也没什么特别的 然后就看了wp发现得从程序本身出发去解决问题 点开程序,随便输入点什么 出现邮箱地址不可用,邮箱,额,那就试着输入一个真正的邮箱吧 发现登录错误,说明跟系统设定的邮箱不匹配
阅读全文