
学习笔记
文章平均质量分 80
ProgrammingRing
这个作者很懒,什么都没留下…
展开
-
前置病毒感染方式学习笔记
前置病毒,和资源感染类似,资源感染是病毒把宿主程序添加到程序的资源中,替换覆盖原程序,运行时将宿主程序释放成一个临时文件运行。前置病毒是读取病毒和宿主程序数据,然后将病毒和宿主程序数据再以病毒 --> 宿主程序的顺序写入宿主程序文件,运行时创建一个临时文件,读取程序中宿主程序的数据写入临时文件运行。文件型病毒至少有这四个模块:1> 条件模块:判断触发条件和寻找符合条件的宿主文件2>原创 2013-11-17 19:28:07 · 1631 阅读 · 0 评论 -
病毒资源感染方式学习笔记
本文学习自:关于感染型病毒的那些事(三) by gaa_ra 代码也来自gaa_ra资源感染,就是将宿主程序作为病毒程序的一个资源来保存,将附加了宿主程序的病毒程序覆盖原来的宿主程序,当打开病毒文件时,病毒发作并将宿主程序释放出来运行。进行资源感染后,打开感染文件的过程大致如下:CreateFile创建资源文件,用于存放要被释放出来的宿主文件 --> FindResource查原创 2013-11-15 23:17:39 · 1142 阅读 · 0 评论 -
打造DLL内存加载引擎学习笔记
首先看下我们内存加载引擎的流程。 1. 申请一段大小为dll映射内存后的映像大小的内存空间。 2. 移动各个区段的数据到申请的内存。 2. 修复引入表结构的地址表。 4. 通过重定位结构修复需要重定位的地址。 5. 调用DllMain入口点流程解析:pe结构中nt header结构当中的ImageSize存放的是我们整个文件原创 2013-11-14 18:19:37 · 2129 阅读 · 0 评论 -
搜寻节空隙感染学习笔记
原文:http://www.pediy.com/kssd/index.html -- 病毒技术 -- 病毒知识 -- Anti Virus专题上面代码中include了VirusLib.asm文件,里面包含了一些病毒中常用函数:;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 测试是否是P原创 2013-11-08 15:12:07 · 1211 阅读 · 0 评论 -
扩展节形式感染学习笔记
原文:http://www.pediy.com/kssd/index.html -- 病毒技术 -- 病毒知识 -- Anti Virus专题原创 2013-11-05 22:32:16 · 1035 阅读 · 0 评论 -
变形PE头添加节形式感染学习笔记
原文链接:点击打开链接1> 变形PE头的原理:这里的变形PE头的思路是用的比较方便的方法,就是将IMAGE_DOS_HEADER 和 IMAGE_NT_HEADER 结构融合到一起。因为我们都知IMAGE_DOS_HEADER和IMAGE_NT_HEADER的结构成员很多我们是用不到的,所以我们可以按照相应的结构排列,把这些无用的结构成员,融合到一起后,替换成一些有用的原创 2013-11-02 11:46:19 · 2032 阅读 · 0 评论 -
如何编写病毒代码学习笔记
一些代码的优化方法:(1)测试寄存器是否为0 cmp eax,00000000h ; 6 bytes jz bribriblibli ; 2 bytes (if jz is short) optimization: or原创 2013-09-24 22:42:46 · 3469 阅读 · 0 评论 -
PE结构、SEH相关知识学习笔记
本文仅是PE和SEH的一部分知识,很有很多需要学习!KSSD --> 系统篇 --> 结构化异常处理 --> SEH in ASM两篇http://bbs.pediy.com/showthread.php?t=86657原创 2013-09-21 11:37:39 · 2553 阅读 · 0 评论 -
hash扫描获得api函数地址学习笔记
下面的代码无法比较在函数名地址表中位于第一个的函数 .386 .model flat, stdcall option casemap:noneinclude windows.incinclude user32.incinclude kernel32.incincludelib user32.libincludelib kernel32.lib .cons原创 2013-09-15 11:33:02 · 2401 阅读 · 0 评论 -
kernel32基地址获得学习笔记
原文链接:点击打开链接第一种方法通过线程初始化时, 获得esp堆栈指针中的ExitThread函数的地址,然后通过搜索获得kernel32.dll的基地址。线程在被初始化的时,其堆栈指针指向ExitThread函数的地址,windows这样做是为了通过ret返回时来调用ExitThread地址。所以一般我们可以在我们主线程的起始位置(也就是程序入口点处)通过获得堆栈指针中E原创 2013-09-08 22:47:58 · 7195 阅读 · 0 评论 -
病毒的重定位技术学习笔记
原文链接:点击打开链接下面的代码都是内联汇编,较比较汇编会有些限制,可能写法上有时候会不一样。黑色是代码,红色是编译的汇编代码int g_nTest; __asm { call Dels00401004 call 013C13A3 ; call指令会将下一句指令的地址入栈Dels: pop ebx004原创 2013-09-05 22:45:49 · 2568 阅读 · 0 评论