Corax的博客

“我想做我能做的事 ”

【技术研究】文件操作,位运算

TEC

#include "stdafx.h" #include <iostream> #include <stdio.h> #include <string.h> #include <locale.h> #include <tchar.h> #include <stddef.h> #include <crtdbg.h&g...

【技术研究】指针 C

TEC

指针 函数指针 在我眼里,函数指针的妙用就是在反编译的时候增加困难,在逆向的时候增加困难。 #include "stdafx.h" #include <iostream> #include <stdio.h> #include <string.h> #include <locale.h> #include <tchar.h> ...

【技术研究】堆-结构体数组

TEC

结构体数组 设置分数 设置成绩,通过标志位 展示成绩 作了case 解决空间浪费 使用union,一个语法糖 同一空间不同解释,等于 共用体 and 解释方式 解释 默认 从0开始依次往下排 注意各个数据类型 如下直接取,可以防止和宏定义产生冲突 总结来讲 这玩意就是变体的前身,共用体中把所有类型全部囊括进去。 程序...

【NSSCTF刷题】《Tea_apk》

CTF

题目 Tea_apk 解法 下载出来一道apk,直接打开jadx反编译 进去之后搜索MainActivity 就可以找到如下主体部分 代码逻辑还挺清晰的,调用一个check,传入我们输入的flag 进入check看看 结构如下,调用完 encryptToBase64String(str, “ABvWW7hqwNvHUhfP”)的equal方法 也就是encrypt...

【160Crackme】《hacktooth crackme

Crackme

《hacktooth crackme #3》 今天这道CM,我看了一天,诸多不顺。 到最后也没解出来。想着把这个CM的步骤给写一下吧,后面等别人的出了之后参考参考。 就昨天下午的一个新的CM。 下载下来是一个exe 打开看看 一个比较传统的样式。 拿exeinfo看一下信息 无壳的,IDA看看 进来直接就是main函数 如图所示 流程比较复杂,想从s...

【技术研究】浅析C++异常处理机制

TEC

浅析C++异常处理机制 1.引言 https://www.cnblogs.com/catch/p/3604516.html https://www.cnblogs.com/catch/p/3619379.html https://www.cnblogs.com/-citywall123/p/12901301.html https://bbs.kanxue.com/thread-27189...

【NSSCTF逆向】《Funny CSharp》

CTF

Funny CSharp 据说是Csharp的题目 主程序是用VSC写的,那应该是附带的dll。 原本用了一个感觉有问题的dnspy 挺坑的,读不出来函数里面有啥东西 上52换了一个 ok了 internal static bool <<Main>$>g__IsFlag|0_0(string flag) { if (flag == nu...

【NSSCTF刷题】《ezbyte》

CTF

ezbyte 这是ciscn2023的一道re题,半年前我就在这道题目上坐过牢,昨天到今天研究了两天,总算把这道题以及其背后的机制了解了一下。让我们来好好做一下这道题。 题目拿到 exeinfo一下 64位elf 先放到linux里面泡泡试试 输入123456之后回显了一遍,然后没有别的字符串了。 拿ida简单看看 根据string给的一点点信息 我们找到这...

【技术研究】结构体访问

TEC

结构体 如上结构体在定义的时候,内存如下变换 总大小32字节 调换次序后 还是32字节 有个结构体对齐 原则是这样的: 设对其值为ZP 结构体成员的地址和结构体首地址之差为offset 设结构体成员类型为member type 必须满足 offset % min(Zp, sizeof(member type)) == 0 定义结构体自身(它本身是个...

【技术研究】指针细节

TEC

指针 数组名是第零个元素的指针常量。 二维数组是元素是一维数组的数组。 int ary[3][4] = { {1, 2, 3, 4}, {10, 20, 30, 40}, {100, 200, 300, 400}, }; printf("%p\r\n", ary); ary[3] [4]的元素是int[4] ...