首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

完善测试匹配符号得到特征

CodeBuff, 0x100, fp); ​ ​ fclose(fp); delete[]CodeBuff; return TRUE; } 完善3: 封装一个偏移值,因为如果找到了特征但是得到的是特征的基址...,我们还要知道怎么从这个基址偏移得到我们想要的内容,所以这里就在字符串里面添加一些特征: 比如这里: image.png 要往下偏移,也就是+地址,+8个byte才得到我们想要的地址,那么我们就可以把字符串写成这样...temp, Flag)) { vc.push_back(temp); } ​ } 完善4: 一个文件里面肯定有很多内容,需要把整个文件的字符串提出来,然后分割,然后把特征拿去匹配...总结 通过匹配特征,这里机器特征硬编码不区分。...然后通过匹配到的特征(因为特征必须来多一点,不然很容易有相同的),特征里面有一些值是会变的就采用模糊匹配来实现,然后得到特征匹配上了的首地址,再通过字符串里面的首地址偏移,得到了要的数据的起始地址

64230

MyCCL特征定位原理学习

如果特征不在之前的某几块的范围内的话,那杀软在查杀的时候也不会杀除这些文件,因此前几块那些不包含特征的块文件就会在查杀的时候被保留下来。...则说明这个块文件多露出的那一块原始数据包含了病毒特征。...我们定位特征的位置,既不能说是看被查出有毒的,也不能说是没被查出有毒的。准确说是第一个被查出有毒的。第一此被查出有毒的那个区段就是特征的一个范围。...因为现在的杀毒软件一般是复合定位,也就是说多特征定位,而且发现任何一处特征就能确定出病毒来,所以MyCCL在确定出一处特征(这里是第二个文件块)时,会提醒用户要不要继续分析。...点击特征区间,会出现我们之前找到的特征范围。

1K20

PE格式:实现PE文件特征识别

0BOOL ret = IsPeFile(lpMapAddress, 0);printf("是否为PE文件: %d \n", ret);system("pause");return 0;}判断PE文件特征...= IMAGE_NT_SIGNATURE)return FALSE;}return TRUE;}// 扫描特征,对比void GetPeSignature(LPCWSTR FilePath){typedef...[32 + 1]; // 存储特征大小32,其中的1是结束符.}SIGN, *pSIGN;// 定义特征特征描述信息,你可以自己去提取一段特征SIGN Sign[2] = {{"Microsoft..., NULL, FILE_BEGIN);// 读取目标程序指定位置的特征到内存中ReadFile(hFile, buffer, sizeof(buffer), &dwNum, NULL);// 对比内存中两个特征是否相等...,然后按照我写好的格式进行增加,例如我是用vs2013编译的,那么检测结果就可能会是vs2013,特征的提取应尽量保证一致性。

82900

PE格式:实现PE文件特征识别

= IsPeFile(lpMapAddress, 0); printf("是否为PE文件: %d \n", ret); system("pause"); return 0; } 判断PE文件特征...// 存储检测文件偏移地址 BYTE VirusSign[32 + 1]; // 存储特征大小32,其中的1是结束符. }SIGN, *pSIGN; // 定义特征特征描述信息,你可以自己去提取一段特征...,这里循环两次从零开始 for (int x = 0; x <= 2; x++) { // 将待检测程序的文件指针指向特征的偏移位置 SetFilePointer(hFile, Sign[...x].FileOffset, NULL, FILE_BEGIN); // 读取目标程序指定位置的特征到内存中 ReadFile(hFile, buffer, sizeof(buffer), &...,然后按照我写好的格式进行增加,例如我是用vs2013编译的,那么检测结果就可能会是vs2013,特征的提取应尽量保证一致性。

1.2K20

驱动开发:内核特征搜索函数封装

在前面的系列教程如《驱动开发:内核枚举DpcTimer定时器》或者《驱动开发:内核枚举IoTimer定时器》里面LyShark大量使用了特征定位这一方法来寻找符合条件的汇编指令集,总体来说这种方式只能定位特征较小的指令如果特征值扩展到...如下是一段特征搜索片段,可以看到其实仅仅只是将上章中的搜索方式变成了一个SearchSpecialCode函数,如下函数,用户传入一个扫描起始地址以及搜索特征的字节数组,即可完成搜索工作,具体的参数定义如下...pSearchBeginAddr 扫描的内存(内核)起始地址ulSearchLength 需要扫描的长度pSpecialCode 扫描特征,传入一个UCHAR类型的字节数组ulSpecialCodeLength...判断地址是否有效 if (FALSE == MmIsAddressValid((PVOID)(i + j))) { break; } // 匹配特征...图片我们首先通过MmGetSystemRoutineAddress得到IoInitializeTimer首地址,然后在偏移长度为0x7e范围内搜索特征48 8d 0d特征,其代码可以总结为如下样子。

34330

CC++ 实现简易特征扫描器

扫描特征基地址 #include #include #include union Base { DWORD address.../* 参数一:process 要查找的进程 /* 参数二:markCode 特征码字符串,不能有空格 /* 参数三:特征离基址的距离,默认距离:1 /* 参数四:findMode 扫描方式,找到特征后...,默认为:1 /* 0:往上找基址(特征在基址下面) /* 1:往下找基址(特征在基址上面) /* 参数五:offset 保存基址距离进程的偏移...= 0) return 0; //特征码长度 int len = strlen(markCode) / 2; //将特征转换成byte型 BYTE *m_code...call地址 /* 参数一:process 要查找的进程 /* 参数二:markCode 特征码字符串,不能有空格 /* 参数三:特征离基址的距离,默认距离:1 /* 参数四:findMode 扫描方式

36910

追寻特征轻松免杀灰鸽子

当杀毒软件获得病毒样本后,会从病毒中取一段足以证明该病毒身份且独一无二的二进制代码,这就是所谓的特征。当特征被列入病毒库后,凡是带有该特征的程序几乎都会被杀毒软件视为病毒程序。...这时我们发现程序再次出现提示发现特征,这也就使我们获得了特征的大致范围。 为了尽可能缩小特征范围,我们还要继续操作。选择“特征区间”,右击特征选择“符合定位此处”。...接着继续我们之前的操作,不断循环,直到生成的文件不被杀死为止,也就是说不断地取特征范围,直到没有特征可以取为止。 取完特征后,我们就要对特征进行修改。...打开C32Asm载入灰鸽子的服务端,从第二排工具栏中选择倒数第三个(像花环一样的那个图标),接下来就是对特征进行汇编修改。找到从汇编代码选取出特征,右击特征,选择“跳到”。...这时会弹出一个窗口,我们在OFFSET中输入特征地址后就会自动找到特征所在位置。我们右击选择“填充”,用00直接填充后保存就可以了。 修改特征是最常见的一种免杀方式,免杀的效果也非常不错。

1.2K30

驱动开发:内核特征扫描PE代码段

在笔者上一篇文章《驱动开发:内核特征搜索函数封装》中为了定位特征的方便我们封装实现了一个可以传入数组实现的SearchSpecialCode定位函数,该定位函数其实还不能算的上简单,本章LyShark...将对特征定位进行简化,让定位变得更简单,并运用定位代码实现扫描内核PE的.text代码段,并从代码段中得到某个特征所在内存位置。...= 0){return VariableAddress;}return 0;}// 对指定内存执行特征扫描NTSTATUS UtilLySharkSearchPattern(IN PUCHAR pattern...= FALSE){*ppFound = (PUCHAR)base + i;DbgPrint("[LyShark.com] 特征匹配地址: %p \n", (PUCHAR)base + i);return...Name);// 判断是不是我们要找的.text节if (RtlCompareString(&LySharkSection, &LySharkText, TRUE) == 0){// 如果是则开始匹配特征

43940

X86逆向2:提取按钮通杀特征

本章我们将学习特征的提取与定位,特征是软件中一段固定的具有标志性的代码片段,特征的用途非常广泛,最常见的就是杀毒软件的查杀了,查杀就是根据特征定位技术实现的,再比如木马的免杀也是修改了特征的一些特征片段而躲避查杀的啦...蓝屏保护特征: 55 8B EC BB 06 00 00 00 蓝屏防御特征: 55 8B EC 81 EC 14 00 00 00 68 0C 00 00 00 1.先来看一下这个CM例子,当我们点击按钮...1的时候,会提示一个MessageBox信息框,而点击按钮2则程序没有反映,我们现在要做的就是通过按钮1提取到按钮事件的特征,然后下断点并定位到按钮2的按钮事件中。...最后提取这段通杀特征【FF 55 FC 5F 5E】。 12.直接按下【F7】,进入按钮二的核心代码处。...13.如果要使用特征定位的话,可以在OD反汇编窗口按下【ctrl + B】,直接搜索即可。

49720

特征工程 特征处理

前言:本文介绍了特征处理中的特征缩放、选择和降维,并用代码演示特征缩放中的标准化法和区间缩放法。 特征缩放 特征值缩放: ? 特征值的缩放‐‐标准化法: ?...特征值的缩放‐‐区间缩放法: ? 特征值的归一化: ? 归一化即将一行特征的坐标转换成一个不含量纲(单位)的“单位向量”。...缺失特征值的弥补计算: ? 创建多项式特征: ?...特征选择方法1‐‐方差选择法: ? 特征选择方法2‐‐皮尔森相关系数法: ? 特征选择方法3‐‐基于森林的特征选择: ? 特征选择方法4‐‐递归特征消除法: ?...主成成分分析将鸢尾花数据集中的四个特征转换为两个重要的特征,并可以将特征转换成二维的数据在平面上进行展示。

60220

特征工程之特征缩放&特征编码

(上) 特征工程之数据预处理(下) 本篇文章会继续介绍特征工程的内容,这次会介绍特征缩放和特征编码,前者主要是归一化和正则化,用于消除量纲关系的影响,后者包括了序号编码、独热编码等,主要是处理类别型、文本型以及连续型特征...---- 3.2 特征缩放 特征缩放主要分为两种方法,归一化和正则化。...而独热编码会把数据切分到零散的小空间上。在这些零散的小空间上,统计信息是不准确的,学习效果变差。 本质是因为独热编码之后的特征的表达能力较差。...该特征的预测能力被人为的拆分成多份,每一份与其他特征竞争最优划分点都失败。最终该特征得到的重要性会比实际值低。...假设有连续特征j ,离散化为 N个 0/1 特征;连续特征 k,离散化为 M 个 0/1 特征,则分别进行离散化之后引入了 N+M 个特征

1.3K20

特征工程之特征表达

特征工程之特征选择中,我们讲到了特征选择的一些要点。本篇我们继续讨论特征工程,不过会重点关注于特征表达部分,即如果对某一个特征的具体表现形式做处理。...主要包括缺失值处理,特殊的特征处理比如时间和地理位置处理,离散特征的连续化和离散化处理,连续特征的离散化处理几个方面。 1....对地理特征,比如“广州市天河区XX街道XX号”,这样的特征我们应该如何使用呢?处理成离散值和连续值都是可以的。如果是处理成离散值,则需要转化为多个离散特征,比如城市名特征,区县特征,街道特征等。...处理方法其实比较简单,比如某特征的取值是高,中和低,那么我们就可以创建三个取值为0或者1的特征,将高编码为1,0,0这样三个特征,中编码为0,1,0这样三个特征,低编码为0,0,1这样三个特征。...比如对于用户的ID这个特征,如果要使用独热编码,则维度会爆炸,如果使用特征嵌入就维度低很多了。对于每个要嵌入的特征,我们会有一个特征嵌入矩阵,这个矩阵的行很大,对应我们该特征的数目。

82230

传统特征:HOG特征原理

这样,一个block内所有cell的特征向量串联起来便得到该block的HOG特征。这些区间是互有重叠的,这就意味着:每一个单元格的特征会以不同的结果多次出现在最后的特征向量中。...则一块的特征数为:3*3*9; (5)收集HOG特征 最后一步就是将检测窗口中所有重叠的块进行HOG特征的收集,并将它们结合成最终的特征向量供分类使用。 (6)那么一个图像的HOG特征维数是多少呢?...Dalal提出的Hog特征提取的过程:把样本图像分割为若干个像素的单元(cell),把梯度方向平均划分为9个区间(bin),在每个单元里面对所有像素的梯度方向在各个方向区间进行直方图统计,得到一个9维的特征向量...,每相邻的4个单元构成一个块(block),把一个块内的特征向量联起来得到36维的特征向量,用块对样本图像进行扫描,扫描步长为一个单元。...最后将所有块的特征串联起来,就得到了人体的特征

1.2K30

特征工程(中)- 特征表达

在本篇中我们聊一下特征表达(或者说特征编码)的问题,即从这些选定的维度,如何去刻画特定的对象。 01 特征表达要考虑哪些方面?...从一个完整的机器学习任务来看,在选择完特征之后,特征表达的任务就是要将一个个的样本抽象成数值向量,供机器学习模型使用。因此,特征表达就要兼顾特征属性和模型需求这两个方面。...特征属性 特征按其取值类型不同,可以简单分为连续型和离散型。而离散型特征,又可以分为类别型和序列型。下面依次简要说明。 连续型特征:取值为连续实数的特征。 比如,身高,175.4cm。...04 特殊特征的处理 有时候,根据模型的需要,需要对一些特征做特殊处理。这里以时间特征和地理特征为例,进行说明。 对时间特征,有时候模型用到的并不是其绝对量,而是相对量,这个情况下就需要求差值。...小结 本文在特征选择的基础上,进一步讨论了特征表达的问题,主要涉及连续和离散型特征的编码方式、特殊特征的处理和缺失值处理等方面。

62230

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券