逆向
文章平均质量分 83
iopoint
这个作者很懒,什么都没留下…
展开
-
CPU中断的工作原理
前言 中断的概念属于硬件层。虽然在进行软件编程时不会直接使用中断,但理解它对我们来说依然重要。 在使用线程切换及状态管理、异常处理、硬件与处理器的交互、I/O操作等指令时,中断都在默默的服务。 处理器基于硬件封装对外的指令集,底层语言封装指令集提供更加简单的抽象,高级语言基于底层语言赋予程序更明确的语义。可以看到在这条关系链条中,下层的变动会牵一发而动全身影响上层。而上层想要提高效率,改变机制也必须得到下层的支持。 像 I/O 处理的不断演进,从占用CPU等待到通过中...转载 2021-07-28 15:19:50 · 3311 阅读 · 0 评论 -
手把手教你栈溢出从入门到放弃(上)
0x00写在最前面开场白:快报快报!今天是2017 Pwn2Own黑客大赛的第一天,长亭安全研究实验室在比赛中攻破Linux操作系统和Safari浏览器(突破沙箱且拿到系统最高权限),积分14分,在11支队伍中暂居 Master of Pwn 第一名。作为热爱技术乐于分享的技术团队,我们开办了这个专栏,传播普及计算机安全的“黑魔法”,也会不时披露长亭安全实验室的最新研究成果。安全领域博大精深,很多童鞋都感兴趣却苦于难以入门,不要紧,我们会从最基础的内容开始,循序渐进地讲给大家。技术长路漫漫,我们携.转载 2021-07-27 17:16:45 · 388 阅读 · 0 评论 -
手把手教你栈溢出从入门到放弃(下)
0x00写在前面首先还是广播一下2017 Pwn2Own 大赛的最终赛果,本次比赛共发现51个漏洞,长亭安全实验室贡献11个,以积26分的总成绩,在11支参赛团队中名列第三!同时,也祝贺国内的安全团队包揽本次大赛的前三名!0x10上期回顾上篇文章介绍了栈溢出的原理和两种执行方法,两种方法都是通过覆盖返回地址来执行输入的指令片段(shellcode)或者动态库中的函数(return2libc)。本篇会继续介绍另外两种实现方法。一种是覆盖返回地址来执行内存内已有的代码片段(ROP),另一种是..转载 2021-07-27 17:10:39 · 93 阅读 · 0 评论 -
恶意样本分析手册——理论篇
0x00写在最前面开场白:快报快报!今天是2017 Pwn2Own黑客大赛的第一天,长亭安全研究实验室在比赛中攻破Linux操作系统和Safari浏览器(突破沙箱且拿到系统最高权限),积分14分,在11支队伍中暂居 Master of Pwn 第一名。作为热爱技术乐于分享的技术团队,我们开办了这个专栏,传播普及计算机安全的“黑魔法”,也会不时披露长亭安全实验室的最新研究成果。安全领域博大精深,很多童鞋都感兴趣却苦于难以入门,不要紧,我们会从最基础的内容开始,循序渐进地讲给大家。技术长路漫漫,我们携.转载 2021-07-27 17:08:36 · 656 阅读 · 0 评论 -
ELF中可以被修改又不影响执行的区域
看雪上这篇文章讲述了两种对so进行加固的方法:1. 分离section,对整个section进行加密。2.在.text section直接寻找目标函数并进行加密,两种方式的实践代码见文末。这里讲一些我在学习过程中的一些额外发现,如有理解不对的地方,欢迎斧正。一. 关于ELF的链接视图和装载视图(执行视图)。在所有介绍ELF文件格式的文档中,都会出现这样一张图:Clipboard Image.png当初看这张图并没有很深的认识。现在回过头看看,发现有了一些新的认识。在C代码 从源代码到转载 2021-07-22 17:09:13 · 431 阅读 · 0 评论 -
编译器编译原理--详解
目前编译器做的工作越来越多,IDE为我们程序员提供的服务也越来越周到。我们只需讲业务逻辑通过代码语言表现出来,但是我们编译器内部具体的编译原理也越来越不了解了。沙米最近看了看《程序员的自我修养》,发现里面讲解的编译原理很清晰,明了,使自己对编译的基本知识有了一定了解。 有好东西当然要分享出来了,哈哈。下面是沙米的一些理解,可能有一下错误,还请大家批评指针,谢谢。0 、本文介绍的目录1、过程概览1.1过程图2、过程详解2.1预编译2.2编译2.3汇编2转载 2021-07-22 16:16:45 · 189 阅读 · 0 评论