- 博客(9)
- 收藏
- 关注
原创 逆向个人学习笔记(2)C语言
文章目录基础部分if语句正向基础循环参数_返回值_局部变量_数组多维数组结构体_字节对齐switch语句基础部分裸函数:编译器不管,不自动生成retvoid __declspec(naked) Function() { __asm { ret }}常见的几种调用约定:程序入口main 函数的识别:main 函数被调用前要先调用的函数如下GetVersion()_heap_init()GetCommandLineA()_crt
2020-08-21 21:46:05 465
原创 BUU_re_[ACTF新生赛2020]usualCrypt
查壳,无壳,用IDA32位打开,找到主函数,按F5查看其伪代码int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // esi int result; // eax int v5; // [esp+8h] [ebp-74h] int v6; // [esp+Ch] [ebp-70h] int v7; // [esp+10h] [ebp-6Ch] __int16 v8; // [esp+
2020-08-18 22:50:49 444 1
原创 BUU_re_[ACTF新生赛2020]rome
拖进IDA,查看main函数int func(){ int result; // eax int v1; // [esp+14h] [ebp-44h] int v2; // [esp+18h] [ebp-40h] int v3; // [esp+1Ch] [ebp-3Ch] int v4; // [esp+20h] [ebp-38h] unsigned __int8 v5; // [esp+24h] [ebp-34h] unsigned __int8 v6; // [esp+
2020-08-15 23:13:33 1006 1
原创 BUU_re_[V&N2020 公开赛]strangeCpp
拖进IDA,shift+f12查找字符串,发现可疑字符串,跟进去查看其伪代码__int64 __fastcall sub_140013AA0(__int64 a1, __int64 a2, __int64 *a3){ char *v3; // rdi signed __int64 i; // rcx __int64 v5; // rax __int64 v6; // rax __int64 v7; // rax __int64 v8; // rax char v10; /
2020-08-15 23:12:54 232
原创 BUU_re_SimpleRev
拖到IDA,查看main函数int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // eax char v4; // [rsp+Fh] [rbp-1h] while ( 1 ) { while ( 1 ) { printf("Welcome to CTF game!\nPlease input d/D to start or input q/
2020-08-15 23:09:52 345
原创 BUU_re_[GWCTF 2019]pyre
是一个pyc文件,使用pyc在线解密进行解密,得到print ('Welcome to Re World!')print ('Your input1 is your flag~')l = len(input1)for i in range(l): num = ((input1[i] + i) % 128 + 128) % 128 code += numfor i in range(l - 1): #i从0取到l-1-1 code[i] = code[i] ^ code[i
2020-08-15 23:07:41 225
原创 BUU_re_[BJDCTF 2nd]8086
拖入IDA查看,按F5无效,旁边函数名称只有两个,跟进去先看看sub_10030,按F5还是无效。shift+f12查看字符串点进去看看这里看不出啥来,再往下看结合题目为8086,猜想该题和汇编有关系。按c键将其转化为汇编在22h上按h,查看其10进制,为34,正好是那一个字符串中字符的个数。往下分析,发现这段代码在将那串字符与1Fh异或,编写脚本,得到flaga="]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"flag=''for i in a:
2020-08-15 23:02:18 789
原创 逆向个人学习笔记(1)汇编
文章目录进制数据宽度二进制的逻辑运算通用寄存器内存读写内存地址堆栈标志寄存器JCC堆栈图进制n进制:由n个符号组成,逢n进1,符号自定义十六进制0123456789ABCDEF二进制0000000100100011010001010110011110001001101010111100110111101111进制间的计算:抛弃数字的概念,查数进制太美妙了,没有不完美的进制,把各种进制进行转换是因为十进制更符合我们
2020-08-13 16:50:10 606
原创 《C++Primer中文版(第4版)》读书笔记(1)
文章目录第1章 快速入门1.2 初窥输入/输出1.4 控制结构1.5 类的简介第1章 快速入门1.2 初窥输入/输出写入到流 输出操作符(<<操作符)接受两个操作数:左操作数必须是ostream对象;右操作数是要输出的值。操作符将其右操作数写到作为其左操作数的ostream对象。 当操作符是输出操作符时,结果是左操作数的值。故 cout << “Enter two numbers:” << endl;等价于cout << “Enter t
2020-07-14 23:29:21 255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人