努力学习的大康
码龄6年
  • 26,232
    被访问
  • 50
    原创
  • 45,318
    排名
  • 57
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2016-01-06
博客简介:

abelxu

查看详细资料
  • 3
    领奖
    总分 280 当月 10
个人成就
  • 获得37次点赞
  • 内容获得24次评论
  • 获得74次收藏
创作历程
  • 4篇
    2022年
  • 35篇
    2021年
  • 11篇
    2020年
成就勋章
TA的专栏
  • 逆向分析
    22篇
  • windows
    3篇
  • CVE
    3篇
  • CTF
    23篇
  • 操作系统真象还原
    10篇
  • 恶意代码分析
    9篇
  • PWN
    14篇
  • 破解
  • 月计划
    2篇
  • kernel pwn
    1篇
  • BUUCTF
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

二进制静态分析---库函数识别

这里写自定义目录标题一、问题二、FLIRT(ida自带)三、lscan(没成功)四、Rizzo(需要有对比文件)五、finger(好用)六、lumina(ida>7.2,有一定效果)总结一、问题在静态编译的程序中会包含很多库函数,这些库函数不是我们分析代码的关键,但是在分析的时候可能会分析到库函数中降低我们分析的效率。如果能够正确高效的识别这些库函数,就能加快我们分析的效率。现有的方法可以分为三大类(我自己分的不一定准确)通过对比签名文件(sig)的机器码序列来识别函数。如FLIRT、lsc
原创
发布博客 2022.04.24 ·
146 阅读 ·
1 点赞 ·
0 评论

动手实验 CVE-2012-0003 Microsoft Windows Media Player winmm.dll MIDI文件堆溢出(坑多)

动手实践CVE-2012-0003堆溢出,坑很多。尽力寻找堆块大小发生改变的底层原理。
原创
发布博客 2022.02.19 ·
2646 阅读 ·
0 点赞 ·
0 评论

动手实验 CVE-2010-3333 Microsoft RTF栈溢出漏洞

手把手分析CVE-2010-3333 RTF栈溢出漏洞,同时分析了msf如何生成通用性的exp
原创
发布博客 2022.02.13 ·
2331 阅读 ·
1 点赞 ·
0 评论

动手实验 CVE-2010-2883 Adobe Reader TTF字体SING表栈溢出漏洞

文章目录1.漏洞环境2.定位漏洞3.动态调试4.分析msf生成脚本4.1make_ttf4.2 make_js5.实现自己的shellcode绕过DEP5.1 利用ZwSetInformationProcess和SetProcessDEPPolicy关闭DEP(win xp sp3不能用)5.2 VirtualProtect绕过DEP5.3VirtualAlloc绕过DEP6.总结本文包括简单的漏洞分析和比较详细的exp动态调试,以及自己动手写exp绕过DEP的实践1.漏洞环境环境备注
原创
发布博客 2022.02.08 ·
2181 阅读 ·
2 点赞 ·
0 评论

2021绿城杯 RE WP

逆向(100分题)变异RC4,关键点是密钥盒S的生成过程被魔改了。RC4原理参考之前的博客基本流程1.初始循环填充key,key=“tallmewhy”2.计算密钥盒S,但是不是标准的RC4算法。可以通过dump的方法将密钥和提取3.ebp+ecx+var_534中是密文由于不想看魔改的S盒生成算法,所以在S盒生成完成的地方下断点,dump S盒填充就可以了。exp#include<stdio.h>#include<string.h>struct rc4_
原创
发布博客 2021.09.29 ·
2868 阅读 ·
3 点赞 ·
0 评论

2021长城杯 RE

Just_cmp-re猜测就是在init_array的地方修改了strcmpenc = [0x00,0x00,0x00,0x00,0x00,0x37,0x07,0x0A,0x37,0x0A,0x08,0x0A,0x06,0x06,0x0B,0x38,0x07,0x0A,0x3B,0x08,0x38,0x0E,0x0F,0x3B,0x3A,0x0A,0x0B,0x06,0x09,0x07,0x3B,0x37,0x0D,0x0F,0x07,0x38,0x0F,0x00,0x00,0x00,0x00,0
原创
发布博客 2021.09.20 ·
292 阅读 ·
0 点赞 ·
0 评论

2021 羊城杯 EasyVM

正好学习一下vm的题目怎么分析1.简单分析主函数1.初始化标准输入输出和错误2.设置VMcontext3.xxtea自解密dispatch代码4.进入dispatch执行2.解决smc问题在自解密结束位置下断点,并将内容dump下来.dump脚本start = 0x80487A8for idx in range(0x1000): if idx%16 == 0: print("") print(hex(get_wide_byte(start+idx)),end=',
原创
发布博客 2021.09.14 ·
446 阅读 ·
0 点赞 ·
0 评论

2021羊城杯CTF wp

1.签到比较坑的点是《一起来看***》是17,猜了很久才猜出来28-08-30-07-04-20-02-17-23-01-12-19得到flag SangFor{d93b7da38d89c19f481e710ef1b3558b}2.BabyRop一万年没做pwn了,为了骗点分还是看了一下。fgets存在栈溢出没有cannary保护存在system函数(也可以用func1),存在/cin/sh字符串所以可以直接getshell。坑点是不能使用/cin/sh和/sh要执行system(“sh
原创
发布博客 2021.09.13 ·
1984 阅读 ·
3 点赞 ·
3 评论

操作系统真象还原 --- 10.输入输出系统?(同步机制---锁)

上一节的最后报错了!!!上一章最后程序出现报错的原因是对临界区资源(光标寄存器)的争夺导致的。如何解决这个问题?信号量机制、锁机制1.重要概念**公共资源:**公共内存、公共文件、公共硬件等,总之是被所有任务共享的一套资源**临界区代码:**程序中那些访问公共资源的指令代码**互斥:**公共资源只能被一个任务独享,临界区代码只能被一个任务使用。**竞争条件:**多个任务以非互斥的方式同时进入临界区,对公共资源的访问是以竞争方式并行进行的。2.信号量与锁机制信号量解决竞争条件的方法,信号量
原创
发布博客 2021.08.03 ·
49 阅读 ·
0 点赞 ·
0 评论

操作系统真象还原 --- 9. 线程

还是先来问自己几个问题什么是线程?什么是进程?用什么管理线程/进程?如何进程线程调度(切换)?这个问题是我最感兴趣的简单的问题就简单回答什么是线程? 线程是一套机制,此机制可以为一般的代码创造它所依赖的上下文环境,从而让代码块具有独立性,能够单独获得处理器资源。什么是进程? 进程是线程+资源用什么标识进程? PCB:Process Control Block,程序控制块,用来记录此进程的相关信息,比如进程状态、PID、优先级等1.线程处理相关数据结构中断栈:中断发生时用来保存程序的上
原创
发布博客 2021.07.26 ·
66 阅读 ·
0 点赞 ·
1 评论

操作系统真象还原 --- 8.内存管理系统

这一章主要包括:makefile语法,方便后面编译文件ASSERT断言Bitmap位图实现内存管理系统是实现(最复杂的部分)一、makefile基本语法目标文件是指此规则下想要生成的文件,可以是.o结尾的目标文件,也可以是可执行文件,也可以是伪目标依赖文件是指要生成此规则中的目标文件,需要哪些文件命令是指要执行的动作,shell命令。每一条命令单独占用一行目标文件:依赖文件[Tab]命令文件的3个时间atime:access time,每次文件被访问都会更新ctime
原创
发布博客 2021.07.21 ·
87 阅读 ·
0 点赞 ·
1 评论

操作系统真象还原 --- 7.中断

先给自己提几个问题。中断是什么?中断就是发生了某些事情,计算机暂停正在执行的程序,去执行处理这件事情为什么需要中断?因为发生了更紧急需要处理的事情,所以需要中断暂停。相对前面实现的操作系统最终会到一个while循环中,现在需要实现中断突破while循环。所以之后的系统就是由中断驱动的。如何实现中断?后面再看看怎么实现。一、中断分类中断从触发的地方分为:外部中断和内部中断。外部中断:cpu外部的中断,一般为硬件产生,也称硬件中断内部中断:软中断和异常。软中断:软件主动发起的中断。int
原创
发布博客 2021.07.21 ·
81 阅读 ·
0 点赞 ·
0 评论

操作系统真象还原 --- 6.完善内核(内联汇编)

虽然是写完善内核,但是主要内容是内联汇编的介绍为后面做铺垫一、内联汇编AT&T1.汇编风格寄存器:寄存器前有前缀%操作数顺序:源操作数在左,目的操作数在右操作数大小:b表示8位,w表示16位,l表示32位。如movl %eax,var立即数:有前缀$,$6表示立即数6远跳转:ljmp segment:segment:segment:offset远调用:lcall segment:segment:segment:offset远返回:lret $n2.内存寻址格式:segreg
原创
发布博客 2021.07.17 ·
35 阅读 ·
0 点赞 ·
0 评论

操作系统真象还原 --- 5.保护模式进阶,向内核迈进

一、获取物理内存容量利用BIOS中断的0x15实现获取物理内存容量EAX=0xE820 遍历主机上全部内存AX=0xE801 分别检测低15MB和16MB~4GB的内存,最大支持4GBAH=0x88 最多检测出64MB内存,实际内存超过此容量也返回64MB二、启用内存分页机制分页机制寻址原理二级页表模式:比如虚拟地址:0x1234567取虚拟地址高10位,0x4*4+页目录表(PDE)得到页表的物理地址取虚拟地址中间10位,0x234*4+页表(PTE)得到页地址取虚拟地址最后12
原创
发布博客 2021.07.17 ·
80 阅读 ·
0 点赞 ·
1 评论

操作系统真象还原 --- 4.保护模式入门

一、实模式的缺点安全问题实模式下操作系统很应用程序都是特权级用户程序引用地址为真实物理地址用户程序可以修改段机制,任意读和写内容使用问题访问超过64KB内存需要切换段基址一次只能运行一个程序共20条地址先,最大可用内存为1MB二、段描述符段描述符:大小为64bit,描述了内存段的起始基址、范围、安全属性、是否被访问、是否被加载等属性段基址:32位,表示段的起始地址,一般为全0段界限:20位,根据G位表示段的大小。G位为0,表示段界限单位为字节最大表示2的20次方乘1字节=1
原创
发布博客 2021.07.07 ·
160 阅读 ·
1 点赞 ·
0 评论

操作系统真象还原 --- 3.完善MBR

一、io端口通信系统通过in和out指令和各种硬件端口进行通信。in指令从端口中读取数据,dx用于设置端口号in al,dx;al=端口(dx)in ax,dx;ax=端口(dx)out指令用于往端口写数据out dx,al;out dx,ax;out 立即数,alout 立即数,ax二、显存地址分布可以参考第二章的内容可以知道显存的分布**文本显示模式:**每个字符用两个字节表示文本内容和显示方式。通过在0xB800处写入ASCII码和显示方式能够直接在显示器上显示字符
原创
发布博客 2021.07.07 ·
114 阅读 ·
0 点赞 ·
0 评论

操作系统真象还原 --- 2.编写MBR主引导记录,让我们开始掌权

一、实模式下的内存布局一直到第4章之前程序都是运行在实模式下,所以需要先了解实模式下的内存布局。实模式下只会使用cpu的20条地址线,所以只能访问和使用到1MB的地址空间。用一张图表示一、第一棒 BIOS主机通电后第一个运行的软件就是BIOS,由主板加载BIOS全称Base Input & Output System,即基本输入输出系统。bios功能:检查内存、显卡等外设信息,初始化硬件,在0x000~0x3ff建立数据结构,中断向量表IVT并填写中断例程。最后一步校验启动盘中位于0盘0
原创
发布博客 2021.07.07 ·
95 阅读 ·
0 点赞 ·
0 评论

操作系统真象还原 --- 1.部署工作环境

最近稍微空闲了一点点,想把以前搞操作系统的梦实现一下,所以按照《操作系统真象还原》进行学习。1.配置环境我使用的是Vmware虚拟机和deepin系统,为了减少不必要的麻烦建议使用和作者一样的软件版本bochs2.6.2(试过直接apt安装但是bochsrc.disk中的一些配置已经发生改变,需要自己查阅资料进行改进)下载&解压下载 2.6.2版本https://telkomuniversity.dl.sourceforge.net/project/bochs/bochs/2.6.2/bo
原创
发布博客 2021.07.06 ·
134 阅读 ·
1 点赞 ·
1 评论

office病毒分析从0到1

一、office文件格式office文件格式根据版本可以分为Office2007之前的版本和Office2007之后的版本。Office2007之前的版本为OLE复合格式:doc,dot,xls,xlt,pot,pptOffice2007之后的版本为OpenXML格式:docx,docm,dotx,xlsx,xlsm,xltx,potx1.OLE复合格式(Object Linking and Embedding Data Structures)复合文档不仅包含文本,而且包括图形、电子数据表格、声音
原创
发布博客 2021.06.28 ·
497 阅读 ·
1 点赞 ·
1 评论

逆向分析基础 --- 花指令实现及清除

一、基本概念花指令:目的是干扰ida和od等软件对程序的静态分析。使这些软件无法正常反汇编出原始代码。常用的两类反汇编算法:1.线性扫描算法:逐行反汇编(无法将数据和内容进行区分)2.递归行进算法:按照代码可能的执行顺序进行反汇编程序。简单的花指令 0xe8是跳转指令,可以对线性扫描算法进行干扰,但是递归扫描算法可以正常分析。两个跳转一个指向无效数据,一个指向正常数据来干扰递归扫描算法。二、花指令实现这里的实验基础代码是参考安全客上一个师傅代码进行的//源码#include<s
原创
发布博客 2021.06.15 ·
1301 阅读 ·
4 点赞 ·
2 评论
加载更多