【原理】分析llvm的混淆插件,定位到主要函数flatten(),通过交叉引用快速定位prng_seed。通过硬编码的crc32来爆破出key的前三位AES_PRECOMP_TE[i](x) = Mi...
二进制安全之栈溢出(二)
上一篇文章是通过数组越界覆盖结构体中其他成员内存,达到修改该成员的值的目的,接下来将使用第二种方法获取 flag,就是使用数组越界覆盖函数的返回地址,达到控制函数执行流程的目的。 函数栈的变化 这一次...
Go解析
本文为看雪论坛精华文章看雪论坛作者ID:SYJ-Re在IDA7.5有插件支持反编译Go, IDA7.6已经支持的情况下,为什么写这篇文章呢?就算能反编译, 也是需要对照汇编的,对于反编译出来的很...
PC逆向 -- 加减乘除对应的汇编代码
一、X86加法汇编代码 int a = 0;00632165 mov dword ptr [ebp-8],0 9: i...
动态调试elf文件的几种方法
动态调试elf文件的几种方法最近在刷题的时候遇到了很多elf文件,虽然可以通过ida分析伪代码解出来,但是发现有些通过动态调试的方式可以直接找到flag,这样简单了不少,因为之前接触的linux下的逆...
【技术分享】2021NUAACTF PWN&RE WP详解
前言这是2021年NUAACTF的pwn题目和部分re的详细分析,官方给的wp只有一句话,我对其进行详细的分析,记录如下,若有错误,请指正。正文PWN -> format (fmt)题目分析题目...
while(1) 和 for(;;) 有什么区别?
这是「进击的Coder」的第 551 篇技术分享作者:strongerHuang来源:嵌入式专栏“ 阅读本文大概需要 5 分钟。 ”有读者问题了类似这样的问题:while(1) 和 for(...
强网杯部分pwn题writeup
0x01 babymessage0x01 考点栈溢出,RBP覆盖通过改变rbp 来改变上级程序的局部变量0x02 漏洞点__int64 __fastcall leave_message(u...
2