在编译代码中,有时会发现一些指令并不直接代表程序员编写的代码,而是由编译器为了自身目的或程序执行环境的要求而添加的。可跳过指令的种类编译函数通常在开始时有序言指令,用于执行各种记录操作,例如:保存函数...
免杀之PE文件中的Shellcode嵌入
前言在处理基于Shellcode的免杀时,选择适当的存放位置以避免被检测并影响PE文件的整体行为。Shellcode可以存储在PE文件的.data, .rdata, .text, .rsrc等节中,每...
逆向工程中面对除法优化的经验结论
假设在IDA中肉眼怀疑有除法优化,不是所有神密常量都能放狗命中,想纯静态还原出除数,从而得到人类可读的最简除法表达式。此需求在逆向工程中时有碰到,以前写过两篇技术文章,当时IDA F5尚不能还原除数,...
DLL劫持与攻击利用
DLL基础DLL全称Dynamic Link Library,称为动态链接库,允许多个应用程序共享代码和资源,支持按需加载功能,从而提高内存利用率、简化更新和维护。大多数程序并不是一个单独的可执行文件...
野蛮fuzz:快照与代码覆盖率
一 介绍 上次我们写博客时,我们有一个简单的模糊测试器,它会测试一个故意有漏洞的程序,该程序会对文件进行一些检查,如果输入文件通过了检查,它会继续进行下一个检查,如果输入通过了所有检查,...
IDA 技巧(67) 反编译器辅助工具
我们之前已经描述过自定义类型在反编译代码中的使用,但你可能还会遇到一些类似函数调用的不寻常关键字。它们被反编译器用来表示无法映射到优雅C代码的操作,或者只是为了使输出更紧凑。它们列在反编译器提供的de...
绕过 noexec 并执行任意二进制文件
原文地址:https://iq.thc.org/bypassing-noexec-and-executing-arbitrary-binaries 前言 项目地址:https://github.com...
IDA 技巧(66) 反编译器注释
当你在反编译器中处理伪代码时,可能会注意到变量声明和提示中有一些内容略显神秘的注释。那么它们是什么意思呢?Image虽然有些注释的含义显而易见,但有些则不那么明显,还有一些仅在罕见情况下出现。变量位置...
pyc 反汇编的几种方式
pip install decompyle3decompyle3 想反编译的文件名.pyc > 生成的文件名.py在线反编译https://tool.lu/pyc/使用uncompyle项目地址...
IDA 技巧(65) 栈帧视图
栈帧是由当前函数管理的栈的一部分,包含该函数使用的数据。背景栈帧通常包含以下数据:局部和临时变量;传入参数(对于使用栈传递参数的调用约定);保存的易失性寄存器;其他记录信息(例如x86上的返回地址)。...
免杀杂谈系列(1)|shellcode加载器之免杀小技巧
前言说shellcode加载器之前,先说一下什么是shellcode,shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。...
商业窃密木马AgentTesla样本分析
前言AgentTesla是一种专门用来窃密的软件,本次样本是基于.NET编写。样本通常使用混淆器,通过数据加密、代码加密、控制流混淆等多种混淆方式藏匿自身病毒特征,对抗安全软件查杀。除此之外,混淆器还...
176