自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows 10以上版本系统svchost服务入口函数调试方法

调试Windows 10以上版本系统的svchost服务的入口函数。

2023-11-26 22:39:00 348

原创 有用的Windows代码: 获取进程中加载的PE模块; 获取进程中加载的PE模块的节表

来复习一下PE文件的节表

2023-08-19 17:41:13 179

原创 Windbg一键脚本,切换进程上下文

为了节省打命令的时间,于是想写一个脚本,只要把目标进程的id提供给它,由它完成以上工作。

2023-08-09 21:56:23 278

原创 Windbg脚本中的“变量”之坑(其实叫“别名”)

在用windbg调试程序的时候,有些命令会重复使用,因此想把这些命令封装为脚本文件,实现自动化。但是在对别名的使用中遇到了不少坑,致使出现意料之外的值,或者脚本在重复调用时出现前后结果不一致的状况。

2023-08-09 21:10:13 152

原创 实战dll注入(原理, 踩坑及排雷)

使用vs2019编写注入器程序, 在生成的注入器可用前, 踩了不少坑, 因此记录一下.

2022-08-22 21:20:44 4236 1

原创 Metasploit Framework载荷生成过程源码分析

摘要在Metasploit中,一段编码载荷的总体生成流程是:将不同汇编代码片段组成载荷汇编代码,并编译成机器码。生成解码器存根。将原始载荷机器码按4字节对齐,并用编码器编码。生成nop雪橇。最终shellcode:nop雪橇 + 解码器存根(除去最后的0-4个字节, 这些拼到payload中来对齐) + 编码后的payload。编码器: 用于消除载荷中的坏字节(如’\x00’), 以及为载荷编码。而去除坏字节的方式即是进行编码,而非传统的将push 0替换成xor ecx, ecx和p

2022-04-07 11:09:09 863

原创 不优雅地解决pytorch模型测试阶段显存溢出问题

RuntimeError: CUDA out of memory. Tried to allocate 1.54 GiB (GPU 0; 7.79 GiB total capacity; 4.29 GiB already allocated; 1.29 GiB free; 31.68 MiB cached)

2021-07-24 16:08:18 2787

原创 模糊测试研究方向上的挑战和机遇(Fuzzing: Challenges and Reflections论文笔记)

前言因想了解自动化模糊测试的研究现状,读了些相关综述。这篇《Fuzzing: Challenges and Reflflections》主要描述了当前fuzzing技术存在的问题,指明研究的热点。Fuzzing简述Fuzzing指一种自动挖掘漏洞的技术,其可不断产生输入值并报告那些可导致程序崩溃的点。Fuzzing分三种:黑盒fuzzing(如Peach),有两种变体mutational和generational。mutational有一或多个种子输入;generational则按给定的格式生成输

2021-07-18 14:55:27 2123

原创 从sublime转vscode,那些常用快捷键的变化

点击vscode左下角小齿轮,弹出的菜单中,Settings可配置工作区(如选择编译器、解释器等),Keyboard Shortcuts则可搜索或设置快捷键。光标、多选、跳转sublimevscode插入光标ctrl+鼠标alt+鼠标向上/下一行插入光标ctrl+alt+上下键ctrl+shift+上下键连续选中某个单词ctrl+d同选中某个单词(在当前文件中所有出现的地方。可以方便地重命名某个变量)alt+f3ctrl+f2。ctrl+shift

2021-04-29 21:36:31 594

原创 DeepFool笔记:对原理的理解和公式推导(多分类)

对多分类的理解在多分类器中,输出向量由输入x属于各个分类的概率组成。若输出的向量中某个类对应的概率高,则判定输入的样本属于该类。将每个类别CkC_kCk​对应一个决策超平面ckc_kck​,平面两端分别表示“属于该分类”(CkC_kCk​)和“不属于该分类”(Ck‾\overline{C_k}Ck​​)。假设一个三分类器(如图,C4C_4C4​先忽视),于是对于C3C_3C3​分类区域,它是c1‾\overline{c_1}c1​​、c2‾\overline{c_2}c2​​和c3c_3c3​的交集。

2021-04-13 00:17:42 985 10

原创 DeepFool笔记:对原理的理解(二分类)

在求对线性二分类器的最小扰动中,原文图如下。这里是二维平面,所以看图理解的时候应把样本看成有两个特征(分别沿横纵轴取值);决策超平面是一条直线。最小扰动向量的大小是从样本到决策超平面的距离,方向与超平面的法向量相反)点到直线距离公式:Ax1+Bx2+CA2+B2\frac{Ax_1+Bx_2+C}{\sqrt{A^2+B^2}}A2+B2​Ax1​+Bx2​+C​即wx+b∥w∥2\frac{wx+b}{\Vert{w}\Vert_2}∥w∥2​wx+b​即f(x)∥w∥2\frac{f(x)}{\Ve

2021-04-12 13:39:13 605 6

原创 逆向 Writeup:西湖论剑2020逆向第一题Cellular

摘要题目为“蜜蜂如何筑巢”,问题的实质是寻找路径。应该将程序视为黑盒。刚开始解题思路不对,一直试图理清代码中的逻辑。解答的方法是尝试将各种由‘L’和‘R'组合的长为25的字符串作为输入,直到打印信息“Congratulations”。可采用遍历法,或逐步试错法。本篇采用后者。本篇方法概括:3.1 在OD中修改源码,改变关键函数CheckFlag的返回值为其中的大循环的循环次数(通过该次数可得知当前前行方向正确与否,从而调整路径方向);修改打印部分代码,使其打印的信息能反映刚刚说的循环次数。3.2

2020-10-14 21:24:54 947

原创 cuckoo沙箱踩坑和填坑记录

使用cuckoo沙箱的过程中不时出现一些错误,网上几乎没有中文的问题帖,解决方法都是在github找到。在此记录一些解决方法。Cuckoo沙箱有一本Book,里边提到一些用户问过的问题。文件地址:https://readthedocs.org/projects/cuckoo/downloads/pdf/latest/。CuckooCriticalError: Unable to bind ResultServer on 192.168.56.1:2042 [Errno 99] Cannot

2020-09-14 15:05:26 4438 2

原创 开源逆向软件Ghidra初体验

前言NSA开源的逆向工具Ghidra,使用Java开发,可作为IDA的替补。下面以bugku逆向模块第一题为例,使用Ghidra分析可执行文件。使用过程首先新建项目,并导入这道题的文件baby.exe。下图是导入的文件的摘要:导入后,要分析的文件已在项目中显示,如下图所示。双击baby.exe,Ghidra将对其分析,然后进入代码浏览器。分析前弹出一个方框,勾选分析选项:在此先将这些选项的含义记录一下,其中有一些的含义尚不明:1.激进式代码搜寻:从未定义的字节里解析出汇编代码。因为可

2020-06-02 10:30:36 2248

原创 一种基于梯度的对抗攻击方法-论文笔记

原文:Adversarial Malware Binaries_ Evading Deep Learning for Malware Detection in Executables这篇文章研究了那些通过学习原生字节来判别恶意软件的神经网络模型的弱点(本文研究对象是MalConv模型),提出一种基于梯度的对抗攻击方法,通过改变恶意样本少于1%数量的末尾字节,即能以很高的概率躲避检测器网络模型的检测,同时保留原有的攻击功能。PE文件最重要的几个节:.text,包含代码指令;.data,包含初始化的全

2020-05-18 15:31:32 2039 1

原创 MalDy笔记

前言原文:Portable, Data-Driven Malware Detection using Language Processing and Machine Learning Techniques on Behavioral Analysis Reports因另一个模型Neurlux的论文中对比了该模型MalDy,故略读并做笔记。文章中的语句有一些读起来怪怪的,不知是哪个国家的表达习惯...

2020-03-23 13:49:19 685

原创 MAML笔记

概括元学习的目的是在一堆学习任务上训练一个模型,这个模型可以使用少量样本来解决新的任务。我们的方法则是训练一个模型使其拥有初始参数,之后只要用少量样本、进行较少梯度训练步,即可使其适应一个新任务。这个方法就是对模型做了权重初始化工作。算法符号、名称解释一个任务(task)就是一组样本,其中分N个类,每类K个训练样本。f:模型x:输入a:输出,f(x)L(x1, a1, …, xH...

2020-03-17 11:58:58 959

原创 卡巴斯基白皮书-基于机器学习的恶意软件检测-笔记

前言:下文用“我们”表示卡巴斯基实验室,(?)标记尚有疑问处。原文地址。这篇文章描述卡巴斯基实验室基于机器学习的恶意软件检测实践,包括静态分析和行为分析两类检测方法,以及数据预处理工作。执行前数据:Exe格式描述,代码描述,二进制数据统计,文本字符串,通过代码仿真而得到的数据执行后数据:行为,事件机器学习概念和定义无监督学习:对未知类型的样本的打标签工作需要不少专家工作,代价较高。而非监督...

2020-03-04 17:48:56 1521

原创 汇编学习笔记:对抗反汇编实验2019092801

汇编学习笔记:对抗反汇编实验2019092801实验描述实验环境实验过程实验结论实验描述使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节。call指令实际上无效。验证ida在反汇编时会识别出call指令。实验环境操作系统:windows 7(安装于virtualbox中的虚拟机)代码编辑器:sublime text 3编译器:masm32调试、反汇编工具:...

2019-09-28 17:26:49 493

空空如也

空空如也

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

TA关注的人

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