自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 [HGAME 2022 week1]easyasm

关键信息都得到了,那我们想要解密这个密文,只需要逆算式就行了,我们先把密文异或0x17,然后再把得出的结果向左移4位再向右移动4位就能解出密文。接着把si跟28做对比,这里si的值是0,所以我怀疑这里应该是循环次数,循环的次数就是密文的长度。接下来程序先把密文里的数向左移了4位然后又向右移动了4位最后再跟0x17异或。程序最开头先输出了字符串,然后把密文存入了ax中。这是一个分析汇编指令的题目,比较考验汇编能力。首先查看程序最开头做了什么。

2024-12-18 17:33:41 250

原创 IDA 快捷键基本使用(常用+动调快捷键)

步过,一条一条执行命令,但是不进入子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Ctrl+F11:Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。shift+f12:可以打开string窗口,一键找出所有的字符串,右击setup,还能对窗口的属性进行设置。Ctrl+F8:自动步过,一条一条的执行命令,程序到达断点,或者发生异常时,自动步过过程都会停止。Ctrl+F7:自动步入,在所有的函数调用中一条一条地执行命令,断点或异常时,自动 停止。

2024-12-12 00:49:24 3545 2

原创 x64dbg 安装使用教程

例如,当[module]为空字符串时,将使用CPU中当前选择的模块。左/右移位/旋转:(1<<2向左移位,shl表示无符号,sal表示有符号),10>>1(向右移位,shl表示无符号,sal表示有符号),1<<<2(向左旋转),1>>>2(向右旋转)。如果您要访问加载模块的基地址,你可以写:[module]:0,[module]:base,[module]:imagebase或[module]:header。小(相等)/大(等于):4<10,3>6,1<=2,6>=7(如果真解析为1,0,如果假)。

2024-12-10 11:39:36 3470 2

原创 [HUBUCTF 2022 新生赛]ezPython

这个东西,password->bytes_to_long->base64->base58。反编译pyc代码 得到下面代码。

2024-11-27 15:29:53 540

原创 BUUCTF reverse3

进入sub_4110BE函数,精确发现讯在大量的2,4移位,自己了解过base64加密解密,可得知其为类似base64加密,点击黄色区域查看base64表为ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=其中Str2e3nifIH9b_C@n@dH已知,for循环将字符串还原,还原后直接在线转换。IDA32位打开,找main函数,看反汇编有点麻烦,F5查看伪C代码,查看到关键位置。PE查壳,无壳,且为32为程序。

2024-11-26 14:08:11 273

原创 BUUCTF_RE_XOR 1

发现关键函数strncmp发现用户输入的flag在通过for循环后的值与global进行对比如果两个值相同时就会输出Success(即该flag正确),因此global的值即为flag,双击global,会发现一串数据aFKWOXZUPFVMDGH,再shift+F12查找字符串发现一串明显不同的字符串,先怀疑这就是flag。根据异或运算特性经过两次异或运算后的值与其本身相同,也就是说将该数据再次进行异或运算即可得到flag,shift+e提取该数据acsii码的值。

2024-11-24 22:35:12 269

原创 [MRCTF2020]Transform

设 a = byte_414040,b=dword_40F040,c=byte_40F0E0,输入的字符串为flag;LOBYTE8位就是一个字节,在此处无意义,因为我们输入的本来就是按字节输入的。解密就反过来 ,因为a是不知道的,所以就先解除a。a = a ^ b 即 a = c ^ b。然后 flag[b[i]] = a[i]即c[i] = a[i] ^ b[i]查壳,拖入64位IDA。从题目里得到 加密代码。

2024-11-24 22:21:46 368

原创 [SUCTF2019]SignIn

就是将str字符数组以base指定的进制解读成数值并写入 rop所指向的内存。__gmpz_init_set_str都属于GNU 高精度算法库。查壳,拖入ida,根据其特征发现其为RSA加密算法。这三个参数分别是多精度整数变量,字符串,进制。

2024-11-24 22:19:34 291

原创 [ACTF新生赛2020]usualCrypt

操作如下,sub_401000函数是将byte_40E0AA的低6~14位与byte_40E0A0的6~14位进行互换,总共换9位;(其中的6~14均要向后移一位,因为数组下标位0)跟进加密函数很显然是一个base64的加密函数,不过其中有了些许的变化,函数开始与结束都做了部分操作。sub_402030函数是对字符进行大小写的互换。拖入IDA32位,跟进main函数。判断与否的字符串如下。

2024-11-24 22:16:52 684

原创 Linux下常见程序保护机制和ELF文件

Segment(段):Segment 是在程序运行时加载到内存中的部分,由操作系统加载器使用。Segment 描述了程序的内存布局,包括代码段、数据段等。Section(节):Section 是ELF文件中的逻辑部分,包含各种类型的数据,如代码、数据、符号表、调试信息等。Section 供链接器和编译器使用,而不是直接用于运行时。Segment与Section的关系:一个Segment可以包含多个Section,也可以只包含部分Section的内容。Segment是对Section的运行时视图。

2024-11-17 22:42:22 479

原创 NSSCTF [HNCTF 2022 Week1]贝斯是什么乐器啊?

再追踪aAbcdefghijklmn。解码之后,再做一个加法 依次加 i。明显base64解码 追踪。

2024-11-17 22:38:40 221

原创 NSSCTF [LitCTF 2023]enbase64

然后追踪basechange。

2024-11-17 22:18:53 51210

原创 [BJDCTF 2020]JustRE wp

分析代码猜测flag是把19999和0替换进去flag{BJD{1999902069a45792d233ac}进行分析发现要点击19999次才能得出flag 会动态调试的可以直接进行动调得出flag 我不会。打开是一个这样的程序 点着玩点了100次没啥反应 打开ida32进行分析。shift+f12进入字符串页面 发现疑似flag字符 追踪后分析代码。

2024-11-17 16:25:30 343

原创 NSSCTF [LitCTF 2023]ez_XOR

咱先进入主函数 然后f5反编译,可以看出是xor异或 追踪xor函数。可以看出这是一个xor对str1进行异或 参数是3。

2024-11-10 19:09:22 576 1

原创 2024强网杯 RE boxx题解

地图大小是5600 400字符分一个组可以分14个 然后qwb!看其格式400 * a1 + 20 * i + j] == 2盲猜是20*n形式,将其格式化。每次循环都是在sub_401530确定的人的位置还有箱子的数量。然后检测是否还有箱子,没有就进入下一个循环也就是下一个关卡。然后在这里也可以发现代码循环了九次,对应了上面分的九个组。2应该是人所在的位置 3是箱子 4是箱子要去的位置。然后就是分析每张地图,去找箱子移动的最短路径。然后在将得出的数进行MD5加密。然后继续查看函数发现。

2024-11-10 16:02:33 494 1

原创 2024网鼎杯 PWN02

然后gift后门 运行binsh。buf偏移量为0x50。

2024-11-10 15:35:52 490 1

原创 BUUCTF [FlareOn4]login1

发现密文PyvragFvqrYbtvafNerRnfl@syner-ba.pbz,是一个rot13加密。下面是利用python脚本解密。

2024-11-05 14:55:53 502 1

原创 APK介绍

复制APK安装包到/data/app目录下,解压并扫描安装包,把dex文 件(Dalvik字节码)保存到/data/dalvik-cache目录,并/data/data目录 下创建对应的应用数据目录。打包资源(res/assets/AndroidManifest.xml/Android基础类库)文件,生成 R.java和resources.ap_文件。把.class文件转化成Davik VM支持的.dex文件(.java=>.class=>.dex)编译Java文件,生成对应的.class文件。

2024-11-04 16:28:24 1306 1

原创 [ACTF新生赛2020]rome1

ida32位进去后,进main函数,找到核心步骤,然后发现是一个逆向加密,脚本如下。

2024-11-03 15:49:25 336 1

原创 逆向花指令介绍

不可以执行的花指令,这类花指令会使反编译器在反编译的时候出错,反汇编器可能错误的反汇编这些指令。因此,插入的花指令应当是一些不完整的指令,被插入的不完整指令可以是随机选择的。递归下降算法强调控制流的概念。线性扫描算法的缺点在于在冯诺依曼体系结构下,无法区分数据与代码,从而导致将代码段中嵌入的数据误解释为指令的操作码,以致最后得到错误的反汇编结果。顾名思义,可以执行的花指令,这部分垃圾代码会在程序运行的时候执行,但是执行这些指令没有任何意义,并不会改变寄存器的值,同时反汇编器也可以正常的反汇编这些指令。

2024-11-03 15:01:33 486 1

原创 2024网鼎杯线上赛REVERSE02(超详细)

第一步:打开进入 main 函数,然后分析代码 第一个加密对 dest 的八个字节做了乘 2 加密,密文是 s2。第二步:第二块数据进行了异或加密 异或 key 是 XorrLord,然后写脚本进行 解密。第四步:AES 加密 key 是 AesMasterAesMast,分析代码然后进行解密。对码表和密文进行解密 码表前多加一位 C 然后解出第三段的答案,直接厨子解。进入主函数分析代码发现了四段加密,一层一层进行解密。拿到了第一段和第二段的答案。伪代码下看不全 在汇编下看。代码如上,得到了第四段加密。

2024-10-31 14:10:17 1800 1

原创 BUUCTF [ACTF新生赛2020]easyre

主程序如上,核心步骤就是在data_start中找到v4【i】所对应元素的下表,然后简单的-1就行了,那么看看data_start,其实就是从~'' -> '!',ascall码对应126 -> 32。然后就是对应脚本了,在处理v4的时候处理不是很恰当,为了连成顺畅语句,在该断的地方加上_就行了。

2024-10-28 13:24:21 330 1

原创 TEA加密解密特征及脚本

tea算法的主要特征表现在sum和delta变量,以及3行核心加密中出现的右移4左移5,两行各有3个小括号互相异或。delta的值一般为0x9E3779B9(-0x61C88647),但题目中往往会改变它的值,并不影响算法的逆向。在题目中看到这些特征时就应该警醒这是tea相关算法。

2024-10-28 13:14:46 398 1

原创 BUUCTF RE Java逆向解密

用jadx打开后 找到关键的key值。分析后写脚本进行异或 得出flag。

2024-10-23 12:34:52 362 1

原创 pwntools使用

pwntools、elf、ROP

2024-10-17 15:37:17 778 1

原创 PWN学习笔记

Section 是文件中的逻辑部分,包含各种类型的数据,例如代码、数据、符号表、调试信息等。2. 在编译生成可执行文件的过程中,链接器会根据 Section 的属性,将它们分配到适当的 Segment 中。函数调用都是以栈帧为单位,机器通常用栈来传递函数参数、保存返回地址、保存寄存器(即函数调用的上下文)及存储本地局部变量等。函数调用约定(Calling Conventions)是指在程序中调用函数时,函数如何接收参数、返回值、以及如何管理调用和返回的过程的一套规范。C语言默认的调用约定是cdecl方式。

2024-10-14 12:30:19 268 1

原创 汇编指令和栈

指令执行时,CPU要知道内存单元的地址,可以在push、pop指令中只给出内存单元的偏移地址,段地址在指令执行时,CPU从ds中获取。(1)在SS、SP中存放栈顶的地址和偏移地址。提供入栈和出栈指令,它们根据SS:SP指示的地址,按照栈的方式访问内存单元。在call指令和ret指令中,call转移指令临时地将吓一跳指令所在的地址保存了栈中栈顶位置,再通过ret指令从栈顶将保存的指令拿出。与数据结构类似,有数据入栈,出栈和栈顶的概念,但是在汇编语言中,我们可以直接接触到栈顶,也就是有相关标记表明栈顶的存在。

2024-10-08 22:09:27 439 1

原创 BUUCTF-[GWCTF 2019]pyre

这是一个pyc文件,需要反编译获得源代码(py文件可以直接用记事本打开获取源代码,pyc不可以)把这个代码逆向还原回去,就能得到flag。首先要了解异或运算,两次异或等于没有异或。

2024-09-18 20:52:29 547 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除