PC端恶意代码分析Lab1.1-5.1,从零基础到精通,收藏这篇就够了!

Kali Linux 从入门到精通(六)-基本工具使用 Kali Linux 从入门到精通(五)-基本工具使用 基本工具 常用工具: 经常使用且功能强大 安全从业者必不可少的帮手 Nc/ncat Wireshark Tcpdump NETCAT-NC(瑞士军刀) 基本介绍 网络工具中的瑞士军刀-小身材,大智慧 侦听模式/传输模式 telnet/获取banner模式 传输文本信息 传输文件/目录 加密传输文件 远程控制/木马 加密所... 阅读详情

点击蓝字 · 关注我们

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

前言

恶意代码分析是一个安全从业者非常重要的一个技能点。

参考书籍:<<恶意代码分析实战>>

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

相关知识

ZF 当一个运算的结果等于0时,ZF被置位,否则被清除

CF 当一个运算的结果相当于目标操作数太大或太小时,CF被置位,否则被清除

SF 当一个运算的结果为负数,SF被置位;若结果数为正数,SF被清除。对算术运算,当运算结果的最高位置为1时,SF也会被置位

TF TF用于调试,当它被置位时,x86处理器每次只执行一条指令

mov eax,ebx 将EBX中的内容复制至EAX寄存器

mov eax,0x42 将立即数0x42复制至EAX寄存器

mov eax,[0x4037C4] 将内存地址+0x4037C4的4个字节复制到EAX寄存器

mov eax,[ebx] 将EBX寄存器指向的内存地址处4个字节复制到EAX寄存器

mov eax,[ebx+esi*4] 将ebx+esi*4等式的结果指向的内存地址处4个字节复制至EAX

xor eax,eax 将EAX寄存器清零

or eax,0x7575 将EAX值进行与0x7575的or操作

mov eax,0xA 将EAX寄存器左移两位,这两个指令将导致EAX=0x28

shl eax,2

mov bl,0xA 将BL寄存器循环位移两位,这两条指令将导致BL=10000010,因为1010

ror bl,2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab1-4

将文件放入PEid中查看。

将文件放入IDA中查看。F5查看伪代码

LoadLibraryA

装载指定的动态链接库。

GetProcAddress

检索指定的动态链接库(DLL)中的输出库函数地址

psapi.dll是Windows系统进程状态支持模块

winlogon

Windows NT 用户登陆程序,用于管理用户登录和退出。

EnumProcesses

检索进程中的每一个进程标识符.

EnumProcessModules

获得指定进程中所有模块的句柄。

GetModuleBaseNameA

获得进程的名字。

sfc_os.dll

用于保护 Windows 的系统文件。

GetWindowsDirectory

用于获取windows的完整目录。

FindResource

该函数确定指定模块中指定类型和名称的资源所在位置。

LoadResource

装载指定资源到全局存储器。

GetTempPath

获取为临时文件指定的路径。

可以看到先是加载了psapi.dll来进行进程相关的初始化操作。

然后用EnumProcesses枚举进程。

这里之后再进入401000,这里是判断是否是winlogon进程。

之后再通过这个进程加载sfc_os.dll,禁用了windows文件保护机制,为后续的文件操作提供机会。

接着再将wupdmgr.exe 移动到临时文件目录中。

这里再进入4011FC,接着再从资源文件中获得一个文件,这里用ResourceHacker查看,可以分离出一个exe文件,放到之前wupdmgr.exe的路径,进行一个伪装,之后再运行。

这里再接着查看分离出来的文件。

这里可以看到,从网站下载文件,然后再运行,根据名字,可以知道这应该是一个木马更新文件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab1-1

用PEView打开文件,查看一下时间戳。

将文件用PEid查看有无加壳。

没有加壳,放入IDA中查看

从伪代码和导入表中可以看到进行了文件操作。

FindFirstFile

查找指定目录的第一个文件或目录并返回它的句柄

判断当前目录下是否有下一个目录或文件。

CopyFile

将一个或多个文件从一个位置复制到另一个位置。

CreateFile

打开或创建文件或者I/O设备,并返回可访问的句柄

CreateFileMapping

函数用于创建一个文件映射内核对象

可以通过kerne123.dll这个文件来判断机子有无受感染。

再对dll进行分析,这里查看伪代码、导入表和字符串,可以看到网络行为和外联ip.可以通过这个ip判断机子有无受感染。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab1-2

这里将第二个文件放到PEid中查看,可以看到进行了upx加壳。这里采用dump的方式进行脱壳。

将文件拖入Ollydbg,定位到

push ebp

mov ebp,esp

一般VS编译的OEP(原始程序入口点就是在这里).

这里再用LordPE进行dump内存。这里会发现还是不能使用,需要修复导入表。用ImportRexConstructor进行修补。这里需要加壳程序还在运行,进行一个附着,然后用Ollydbg得到的OEP地址输入。获取导入表,修正转储。

查看导入表和Strings

CreateService

一个创建一个服务对象,并将其添加到指定的服务控制管理器数据库的函数

InternetOpenW

初始化一个应用程序,以使用 WinINet 函数

InternetOpenUrlW

通过一个完整的FTP,Gopher或HTTP网址打开一个资源。

OpenSCManager

函数建立了一个到服务控制管理器的连接,并打开指定的数据库。

这里可以通过外联主机作为一个网络痕迹判断有无感染。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab1-3

这里看到也加壳了,这里尝试了两种。第一种用的是手动调试,先用F9,然后ALT+F9,然后F2设置断点。

接着调试窗口,选择执行到返回,一直到返回,然后再按F8,要多执行几次。

这里按F7,然后发现还是不能进入OEP,需要继续返回刚才的步骤,才能进入。这个地方要有点耐心,需要重复很多次。

到了这里,感觉还没到真正的OEP,但是调试了差不多四五个小时也没找到,打算等之后再回来看看,这里先dump一下。

放入depends,已经可以看到导入了,可以满足初步的分析了,但是放到IDA中效果还是很差,之后得再补一下这一块的知识。

第二种用的是WSUpacker自动化脚本,自动脱壳。

但是也没有达到特别好的效果感觉,不过比我手动脱壳的效果好一些了

这里在用Ollydbg的时候,发现自动打开了一个网站,这里可以作为一个感染的标志。

导入表:

OleInitialize

在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。除了CoGetMalloc和内存分配函数,应用程序必须在调用COM库函数之前初始化COM库。

CoCreateInstance

用指定的类标识符创建一个Com对象,用指定的类标识符创建一个未初始化的对象。

OleInitialize

在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。

这里看出文件应该操作了com组件。

点击蓝字 · 关注我们

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab3-1

这一节lab主要用动态分析技术进行排查。这里不再用之前的win7(因为运行不起来,动态分析不了),这里重新装一个win xp

用ProcessExplorer对文件进行一个监控和查看信息。

再用procmon进行一个进程监控。设置监控的动作和进程名。

这里监控到就跟操作,但是其中的几个跟seed有关操作是用来迷惑的。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VideoDriver

这里的注册表可以当作一个感染的标志。

写在这里的都会开机自己启动。

还进行了一个写入文件的操作。

这里的文件名+文件路径可以当作一个感染标志。

这里再用regshot对注册表进行一个快照,可以看到对HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VideoDriver也进行了一个写入操作。

用wireshark进行抓包,可以看到进行了DNS请求解析,请求解析的域名也能看到,这里可以当作一个感染的标志。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab3-2

这里继续动态调试的内容。放到IDA中查看,可以看到有一个install函数和installA函数,因此可以用rundll32.exe启动。

继续查看导入表。

HttpSendRequest

函数发送HTTP请求到指定的服务器。

InternetReadFile

从一个由InternetOpenUrl, FtpOpenFile, 或 HttpOpenRequest 函数打开的句柄中读取数据。

HttpOpenRequest

创建个请求句柄并且把参数存储在句柄中。

OpenService

打开一个已经存在的服务

DeleteService

删除服务

OpenSCManager

建立了一个到服务控制管理器的连接,并打开指定的数据库。

CreateService

创建一个服务对象,并将其添加到指定的服务控制管理器数据库。

RegOpenKeyEx

打开一个指定的注册表键

RegQueryValueEx

检索与开放注册表键关联的指定值名称的类型和数据。

RegCreateKey

创建或打开注册表项。

RegSetValueEx

在注册表项下设置指定值的数据和类型。

InternetOpen

初始化一个应用程序,以使用 WinINet 函数。

InertnetConnect

WinInet函数系列,建立 Internet 的连接。

这里再用Regshot对运行前后对比注册表

这里可以看到注册了一个服务。还看到了里面的一个svchost.exe,将原来的dll作为也写入了进去。

这里用wireshark抓到了一个DNS包,包中的域名可以作为一个网络痕迹。而注册表的操作可以作为一个主机的操作。

这里我下载的process Explorer在xp下面没有查找dll的功能,所以我用netsat -ano.发现一个外联ip.然后这里跟我之前wireshark抓到的dns解析包对应的ip一样,因此确定这个进程是目标进程。因此在procmon中用这个pid设置即可。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab3-3

接着来动态分析第三个文件。

这里用process Explorer监视这个文件,会发现创建进程之后,还会创建一个svchost.exe,然后自身进程就消失了。

这里再右键svchost.exe的属性,点击字符串,映像和内存都看一遍。

这里可以看到log文件,还有一些和键盘相关的。

这里利用进程号,在procmon中对其进行监控。

因为刚才出现了一些和键盘相关的,这里先创建一个txt,对其进行输入,发现出现了WriteFile写入log中,这里去查看log,发现就是写入的内容。

Lab3-4动态分析太简短了,静态分析有点长,放到后面再写。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lab5-1

这一章书上讲的主要是IDA的操作

将文件导入IDA,进入点击DllMain进入Text View就可以查看地址。

这里通过ALT+T快捷键,搜索gethost

这里点进去CTRL+X,就可以查看,注意,这里有很多函数是一样的。

到这里的地址,即可查看。

这里在strings搜索cmd,然后ctrl+x,跳转到。

这里根据上下文可以推断是一个远程shell.

这里进入,然后ctrl+x

其他两个都是cmp,所以这里进入第一个查看。

OVERSIONINFOA数据结构中包含操作系统系统版本信息,dwPlatformId标识操作系统,这里的eax作为返回值,先清除。然后通过置位,根据不同操作系统设置返回值。

这里回到strings列表搜索robot

ctrl+x搜索调用

这里两个相同,JNZ不跳转。

接下来,进入call,可以看到进行了读取键值,这里把键值进行了一个socket传输。

这里进入Export,进入查看,这里可以看到100036C3是关键的,因为其他跳转都到了结束的位置。

而这里就和之前一样了,主要是判断版本,版本过低则结束。

这里进入4E79,用user xrefs

send:socket相关

malloc:分配堆栈

free:释放堆栈

GetSystemDefaultLangID:获取系统默认语言

这里继续用user xrefs,设置深度为1.

可以看到直接调用了strncpy、_strnicmp、CreateThread、strlen.

这里用2,可以发现有很多,这里就直接看图。

这里来到1358,sleep的参数是eax,eax是atoi的返回值乘以3E8H(十进制的1000)

继续往前看,可以看到19020,这里的值,然后通过add eax,0Dh,定位到3以后,所以此时eax是’30’,然后aoti就是将char转换成int,所以此时eax是30,然后乘以1000到达sleep.

这里来到1701。

修改后。

这里通过search-text,find all查看in,定位。

这里通过右键,查看到了VMXH。

这里再通过交叉引用函数,查找到了一个vmware相关的字符串。

这里来到1D988

这里没有python插件,写一个IDC脚本作为替代,可以看到结果是一样的。

粉丝福利

抽奖规则:本次抽奖共抽出5名中奖者。以下书籍14种,每个获奖人员可以任选其中一本书籍(详情见活动奖品处)

参与方式:公众号后台回复:抽奖

开奖时间:4.15号18:00

活动奖品

本期奖品为下列图书,由机械工业出版社赞助提供。

黑客/网络安全学习路线

对于从来没有接触过黑客/网络安全的同学,目前网络安全、信息安全也是计算机大学生毕业薪资相对较高的学科。

大白也帮大家准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

这也是耗费了大白近四个月的时间,吐血整理,文章非常非常长,觉得有用的话,希望粉丝朋友帮忙点个**「分享」「收藏」「在看」「赞」**

网络安全/渗透测试法律法规必知必会****

今天大白就帮想学黑客/网络安全技术的朋友们入门必须先了解法律法律。

【网络安全零基础入门必知必会】网络安全行业分析报告(01)

【网络安全零基础入门必知必会】什么是黑客、白客、红客、极客、脚本小子?(02)

【网络安全零基础入门必知必会】网络安全市场分类(03)

【网络安全零基础入门必知必会】常见的网站攻击方式(04)

【网络安全零基础入门必知必会】网络安全专业术语全面解析(05)

【网络安全入门必知必会】《中华人民共和国网络安全法》(06)

【网络安全零基础入门必知必会】《计算机信息系统安全保护条例》(07)

【网络安全零基础入门必知必会】《中国计算机信息网络国际联网管理暂行规定》(08)

【网络安全零基础入门必知必会】《计算机信息网络国际互联网安全保护管理办法》(09)

【网络安全零基础入门必知必会】《互联网信息服务管理办法》(10)

【网络安全零基础入门必知必会】《计算机信息系统安全专用产品检测和销售许可证管理办法》(11)

【网络安全零基础入门必知必会】《通信网络安全防护管理办法》(12)

【网络安全零基础入门必知必会】《中华人民共和国国家安全法》(13)

【网络安全零基础入门必知必会】《中华人民共和国数据安全法》(14)

【网络安全零基础入门必知必会】《中华人民共和国个人信息保护法》(15)

【网络安全零基础入门必知必会】《网络产品安全漏洞管理规定》(16)

网络安全/渗透测试linux入门必知必会

【网络安全零基础入门必知必会】什么是Linux?Linux系统的组成与版本?什么是命令(01)

【网络安全零基础入门必知必会】VMware下载安装,使用VMware新建虚拟机,远程管理工具(02)

【网络安全零基础入门必知必会】VMware常用操作指南(非常详细)零基础入门到精通,收藏这一篇就够了(03)

【网络安全零基础入门必知必会】CentOS7安装流程步骤教程(非常详细)零基入门到精通,收藏这一篇就够了(04)

【网络安全零基础入门必知必会】Linux系统目录结构详细介绍(05)

【网络安全零基础入门必知必会】Linux 命令大全(非常详细)零基础入门到精通,收藏这一篇就够了(06)

【网络安全零基础入门必知必会】linux安全加固(非常详细)零基础入门到精通,收藏这一篇就够了(07)

网络安全/渗透测试****计算机网络入门必知必会****

【网络安全零基础入门必知必会】TCP/IP协议深入解析(非常详细)零基础入门到精通,收藏这一篇就够了(01)

【网络安全零基础入门必知必会】什么是HTTP数据包&Http数据包分析(非常详细)零基础入门到精通,收藏这一篇就够了(02)

【网络安全零基础入门必知必会】计算机网络—子网划分、子网掩码和网关(非常详细)零基础入门到精通,收藏这一篇就够了(03)

网络安全/渗透测试入门之HTML入门必知必会

【网络安全零基础入门必知必会】什么是HTML&HTML基本结构&HTML基本使用(非常详细)零基础入门到精通,收藏这一篇就够了1

【网络安全零基础入门必知必会】VScode、PhpStorm的安装使用、Php的环境配置,零基础入门到精通,收藏这一篇就够了2

【网络安全零基础入门必知必会】HTML之编写登录和文件上传(非常详细)零基础入门到精通,收藏这一篇就够了3

网络安全/渗透测试入门之Javascript入门必知必会

【网络安全零基础入门必知必会】Javascript语法基础(非常详细)零基础入门到精通,收藏这一篇就够了(01)

【网络安全零基础入门必知必会】Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传(02)

网络安全/渗透测试入门之Shell入门必知必会

【网络安全零基础入门必知必会】Shell编程基础入门(非常详细)零基础入门到精通,收藏这一篇就够了(第七章)

网络安全/渗透测试入门之PHP入门必知必会

【网络安全零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够(01)

【网络安全零基础入门】PHP基础语法(非常详细)零基础入门到精通,收藏这一篇就够了(02)

【网络安全零基础入门必知必会】PHP+Bootstrap实现表单校验功能、PHP+MYSQL实现简单的用户注册登录功能(03)

网络安全/渗透测试入门之MySQL入门必知必会

【网络安全零基础入门必知必会】MySQL数据库基础知识/安装(非常详细)零基础入门到精通,收藏这一篇就够了(01)

【网络安全零基础入门必知必会】SQL语言入门(非常详细)零基础入门到精通,收藏这一篇就够了(02)

【网络安全零基础入门必知必会】MySQL函数使用大全(非常详细)零基础入门到精通,收藏这一篇就够了(03)

【网络安全零基础入门必知必会】MySQL多表查询语法(非常详细)零基础入门到精通,收藏这一篇就够了(04)

****网络安全/渗透测试入门之Python入门必知必会

【网络安全零基础入门必知必会】之Python+Pycharm安装保姆级教程,Python环境配置使用指南,收藏这一篇就够了【1】

【网络安全零基础入门必知必会】之Python编程入门教程(非常详细)零基础入门到精通,收藏这一篇就够了(2)

python开发之手写第一个python程序

python开发笔记之变量

python基础语法特征

python开发数据类型

python开发笔记之程序交互

python入门教程之python开发学习笔记基本数据类型

python入门教程之python开发笔记之格式化输出

python入门教程之python开发笔记基本运算符

python入门教程python开发基本流程控制if … else

python入门教程之python开发笔记流程控制之循环

python入门之Pycharm开发工具的使用

python入门教程之python字符编码转换

python入门之python开发字符编码

python入门之python开发基本数据类型数字

python入门python开发基本数据类型字符串

python入门python开发基本数据类型列表

python入门python开发基本数据类型

python入门教程之python开发可变和不可变数据类型和hash

python入门教程python开发字典数据类型

python入门之python开发笔记基本数据类型集合

python开发之collections模块

python开发笔记之三元运算

【网络安全零基础入门必知必会】之10个python爬虫入门实例(非常详细)零基础入门到精通,收藏这一篇就够了(3)

****网络安全/渗透测试入门之SQL注入入门必知必会

【网络安全渗透测试零基础入门必知必会】之初识SQL注入(非常详细)零基础入门到精通,收藏这一篇就够了(1)

【网络安全渗透测试零基础入门必知必会】之SQL手工注入基础语法&工具介绍(2)

【网络安全渗透测试零基础入门必知必会】之SQL注入实战(非常详细)零基础入门到精通,收藏这一篇就够了(3)

【网络安全渗透测试零基础入门必知必会】之SQLmap安装&实战(非常详细)零基础入门到精通,收藏这一篇就够了(4)

【网络安全渗透测试零基础入门必知必会】之SQL防御(非常详细)零基础入门到精通,收藏这一篇就够了(4)

****网络安全/渗透测试入门之XSS攻击入门必知必会

【网络安全渗透测试零基础入门必知必会】之XSS攻击基本概念和原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了(1)

网络安全渗透测试零基础入门必知必会】之XSS攻击获取用户cookie和用户密码(实战演示)零基础入门到精通收藏这一篇就够了(2)

【网络安全渗透测试零基础入门必知必会】之XSS攻击获取键盘记录(实战演示)零基础入门到精通收藏这一篇就够了(3)

【网络安全渗透测试零基础入门必知必会】之xss-platform平台的入门搭建(非常详细)零基础入门到精通,收藏这一篇就够了4

【网络安全渗透测试入门】之XSS漏洞检测、利用和防御机制XSS游戏(非常详细)零基础入门到精通,收藏这一篇就够了5

****网络安全/渗透测试入门文件上传攻击与防御入门必知必会

【网络安全渗透测试零基础入门必知必会】之什么是文件包含漏洞&分类(非常详细)零基础入门到精通,收藏这一篇就够了1

【网络安全渗透测试零基础入门必知必会】之cve实际漏洞案例解析(非常详细)零基础入门到精通, 收藏这一篇就够了2

【网络安全渗透测试零基础入门必知必会】之PHP伪协议精讲(文件包含漏洞)零基础入门到精通,收藏这一篇就够了3

【网络安全渗透测试零基础入门必知必会】之如何搭建 DVWA 靶场保姆级教程(非常详细)零基础入门到精通,收藏这一篇就够了4

【网络安全渗透测试零基础入门必知必会】之Web漏洞-文件包含漏洞超详细全解(附实例)5

【网络安全渗透测试零基础入门必知必会】之文件上传漏洞修复方案6

****网络安全/渗透测试入门CSRF渗透与防御必知必会

【网络安全渗透测试零基础入门必知必会】之CSRF漏洞概述和原理(非常详细)零基础入门到精通, 收藏这一篇就够了1

【网络安全渗透测试零基础入门必知必会】之CSRF攻击的危害&分类(非常详细)零基础入门到精通, 收藏这一篇就够了2

【网络安全渗透测试零基础入门必知必会】之XSS与CSRF的区别(非常详细)零基础入门到精通, 收藏这一篇就够了3

【网络安全渗透测试零基础入门必知必会】之CSRF漏洞挖掘与自动化工具(非常详细)零基础入门到精通,收藏这一篇就够了4

【网络安全渗透测试零基础入门必知必会】之CSRF请求伪造&Referer同源&置空&配合XSS&Token值校验&复用删除5

****网络安全/渗透测试入门SSRF渗透与防御必知必会

【网络安全渗透测试零基础入门必知必会】之SSRF漏洞概述及原理(非常详细)零基础入门到精通,收藏这一篇就够了 1

【网络安全渗透测试零基础入门必知必会】之SSRF相关函数和协议(非常详细)零基础入门到精通,收藏这一篇就够了2

【网络安全渗透测试零基础入门必知必会】之SSRF漏洞原理攻击与防御(非常详细)零基础入门到精通,收藏这一篇就够了3**
**

****网络安全/渗透测试入门XXE渗透与防御必知必会

【网络安全渗透测试零基础入门必知必会】之XML外部实体注入(非常详细)零基础入门到精通,收藏这一篇就够了1

网络安全渗透测试零基础入门必知必会】之XXE的攻击与危害(非常详细)零基础入门到精通,收藏这一篇就够了2

【网络安全渗透测试零基础入门必知必会】之XXE漏洞漏洞及利用方法解析(非常详细)零基础入门到精通,收藏这一篇就够了3

【网络安全渗透测试零基础入门必知必会】之微信XXE安全漏洞处理(非常详细)零基础入门到精通,收藏这一篇就够了4

****网络安全/渗透测试入门远程代码执行渗透与防御必知必会

【网络安全渗透测试零基础入门必知必会】之远程代码执行原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了1

【网络安全零基础入门必知必会】之CVE-2021-4034漏洞原理解析(非常详细)零基础入门到精通,收藏这一篇就够了2

【网络安全零基础入门必知必会】之PHP远程命令执行与代码执行原理利用与常见绕过总结3

【网络安全零基础入门必知必会】之WEB安全渗透测试-pikachu&DVWA靶场搭建教程,零基础入门到精通,收藏这一篇就够了4

****网络安全/渗透测试入门反序列化渗透与防御必知必会

【网络安全零基础入门必知必会】之什么是PHP对象反序列化操作(非常详细)零基础入门到精通,收藏这一篇就够了1

【网络安全零基础渗透测试入门必知必会】之php反序列化漏洞原理解析、如何防御此漏洞?如何利用此漏洞?2

【网络安全渗透测试零基础入门必知必会】之Java 反序列化漏洞(非常详细)零基础入门到精通,收藏这一篇就够了3

【网络安全渗透测试零基础入门必知必会】之Java反序列化漏洞及实例解析(非常详细)零基础入门到精通,收藏这一篇就够了4

【网络安全渗透测试零基础入门必知必会】之CTF题目解析Java代码审计中的反序列化漏洞,以及其他漏洞的组合利用5

网络安全/渗透测试**入门逻辑漏洞必知必会**

【网络安全渗透测试零基础入门必知必会】之一文带你0基础挖到逻辑漏洞(非常详细)零基础入门到精通,收藏这一篇就够了

网络安全/渗透测试入门暴力猜解与防御必知必会

【网络安全渗透测试零基础入门必知必会】之密码安全概述(非常详细)零基础入门到精通,收藏这一篇就够了1

【网络安全渗透测试零基础入门必知必会】之什么样的密码是不安全的?(非常详细)零基础入门到精通,收藏这一篇就够了2

【网络安全渗透测试零基础入门必知必会】之密码猜解思路(非常详细)零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之利用Python暴力破解邻居家WiFi密码、压缩包密码,收藏这一篇就够了4

【网络安全渗透测试零基础入门必知必会】之BurpSuite密码爆破实例演示,零基础入门到精通,收藏这一篇就够了5

【网络安全渗透测试零基础入门必知必会】之Hydra密码爆破工具使用教程图文教程,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之暴力破解medusa,零基础入门到精通,收藏这一篇就够了7

【网络安全渗透测试零基础入门必知必会】之Metasploit抓取密码,零基础入门到精通,收藏这一篇就够了8

Wfuzz:功能强大的web漏洞挖掘工具

****网络安全/渗透测试入门掌握Redis未授权访问漏洞必知必会

【网络安全渗透测试零基础入门必知必会】之Redis未授权访问漏洞,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Redis服务器被攻击后该如何安全加固,零基础入门到精通,收藏这一篇就够了**
**

网络安全/渗透测试入门掌握**ARP渗透与防御关必知必会**

【网络安全渗透测试零基础入门必知必会】之ARP攻击原理解析,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之ARP流量分析,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之ARP防御策略与实践指南,零基础入门到精通,收藏这一篇就够了

网络安全/渗透测试入门掌握系统权限提升渗透与防御关****必知必会

【网络安全渗透测试零基础入门必知必会】之Windows提权常用命令,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Windows权限提升实战,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之linux 提权(非常详细)零基础入门到精通,收藏这一篇就够了

网络安全/渗透测试入门掌握Dos与DDos渗透与防御相关****必知必会

【网络安全渗透测试零基础入门必知必会】之DoS与DDoS攻击原理(非常详细)零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Syn-Flood攻击原理解析(非常详细)零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之IP源地址欺骗与dos攻击,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之SNMP放大攻击原理及实战演示,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之NTP放大攻击原理,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之什么是CC攻击?CC攻击怎么防御?,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之如何防御DDOS的攻击?零基础入门到精通,收藏这一篇就够了

网络安全/渗透测试入门掌握无线网络安全渗透与防御相关****必知必会

【网络安全渗透测试零基础入门必知必会】之Aircrack-ng详细使用安装教程,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之aircrack-ng破解wifi密码(非常详细)零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之WEB渗透近源攻击,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之无线渗透|Wi-Fi渗透思路,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之渗透WEP新思路Hirte原理解析,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之WPS的漏洞原理解析,零基础入门到精通,收藏这一篇就够了

网络安全/渗透测试入门掌握木马免杀问题与防御********必知必会

【网络安全渗透测试零基础入门必知必会】之Metasploit – 木马生成原理和方法,零基础入门到精通,收藏这篇就够了

【网络安全渗透测试零基础入门必知必会】之MSF使用教程永恒之蓝漏洞扫描与利用,收藏这一篇就够了

网络安全/渗透测试入门掌握Vulnhub靶场实战********必知必会

【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Prime使用指南,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场Breach1.0解析,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之vulnhub靶场之DC-9,零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Kioptrix level-4 多种姿势渗透详解,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场PWNOS: 2.0 多种渗透方法,收藏这一篇就够了

网络安全/渗透测试入门掌握社会工程学必知必会

【网络安全渗透测试零基础入门必知必会】之什么是社会工程学?定义、类型、攻击技术,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之社会工程学之香农-韦弗模式,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之社工学smcr通信模型,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之社会工程学之社工步骤整理(附相应工具下载)收藏这一篇就够了

网络安全/渗透测试入门掌握********渗透测试工具使用******必知必会**

2024版最新Kali Linux操作系统安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

【网络安全渗透测试零基础入门必知必会】之渗透测试工具大全之Nmap安装使用命令指南,零基础入门到精通,收藏这一篇就够了

2024版最新AWVS安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新burpsuite安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新owasp_zap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新Sqlmap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新Metasploit安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新Nessus下载安装激活使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

2024版最新Wireshark安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了

觉得有用的话,希望粉丝朋友帮大白点个**「分享」「收藏」「在看」「赞」**

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2023最新版kali安装教程 2023最新版kali安装教程 打开kali官网(https://www.kali.org/),下载kali镜像 阅读详情

相关推荐

Android Termux 安装Kali Linux 或 kali Nethunter史诗级详细教程

Termux 安装kali

风云小虾米的博客 6万+

几款主流好用的富文本编辑器介绍

富文本编辑器(Rich Text Editor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于Office Word 的编辑功能,方便那些不太懂HTML用户使用,富文本编辑器的应用非常广泛,它的历史与图文网页诞生的历史几乎一样长。

m0_68652823的博客 1万+

ThinkPad AI PC实战:从硬件选型到本地AI工作流搭建

在AI技术日益普及的今天,个人计算设备正从传统生产力工具向智能协同伙伴演进。其核心原理在于通过集成NPU(神经网络处理单元)的处理器、大内存与高速存储,为本地AI推理提供硬件基础,结合现代操作系统对AI能力的原生支持,实现了低延迟、高隐私的智能计算。这一技术价值在于将云端AI能力下沉至终端,让个体工作者能直接利用大语言模型、智能体(Agent)等前沿技术处理本地任务,无需依赖网络与复杂部署。在应用场景上,它尤其适合文档智能处理、自动化报告生成、会议实时转录与总结等高频办公需求。本文以ThinkPad AI

weixin_30417487的博客 439

Kali Linux安装教程

虚拟机Vmware Worksation下Kali Linux安装教程 本次安装Vmware Worksation采用的是15.5 pro 下载kali镜像 首先进入kali官网: https://www.kali.org 点击Downloads 直接选择最新版本即可下载对应的kali镜像 这里推荐使用迅雷或者IDM等下载器下载,速度会快挺多。 创建kali虚拟机 打开虚拟机 点击创建新的虚拟机 点击下一步 点击稍后安装操作系统,并点击下一步 点击下一步 命名虚拟机名称,并选择磁盘安装(尽量选

m0_52505633的博客 2万+

MIT6.828_LAB4_Part C_Preemptive Multitasking and Inter-Process communication (IPC)

Part C: Preemptive Multitasking and Inter-Process communication (IPC) In the final part of lab 4 you will modify the kernel to preempt uncooperative environments and to allow environments to pass messages to each other explicitly. 在Lab4的最后一部分,我们将修改内核来实现抢占式

userXKk的博客 480

2026最新渗透靶场合集:从基础漏洞到云原生的实战训练指南

渗透测试是网络安全领域的核心实践技能,其本质是通过模拟攻击来评估系统安全性。其原理在于主动发现和利用漏洞,验证防御体系的有效性。掌握这项技术对于构建主动防御能力、满足合规要求至关重要,广泛应用于企业安全评估、红蓝对抗和漏洞挖掘等场景。随着技术演进,实战训练需覆盖云原生、容器安全等新兴领域。本文基于最新行业趋势,整合了DVWA、VulnHub、Kubernetes Goat等热门靶场资源,提供了一套从Web基础漏洞到内网渗透、云安全实战的体系化训练方案,并详解了标准化渗透流程与高阶技巧,帮助安全从业者系统提升

weixin_30836759的博客 444

恶意代码分析实战指南:从静态分析到动态调试的攻防对抗技术

恶意代码分析作为网络安全领域的核心技术,其本质是通过逆向工程方法解析恶意软件的行为逻辑与攻击意图。该技术基于二进制文件结构解析、系统调用监控和网络流量分析等原理,能够有效识别威胁特征、还原攻击链条。在技术价值层面,恶意代码分析不仅为应急响应提供关键证据,还能支撑威胁狩猎与漏洞利用链的深度研究。在实际应用场景中,安全工程师通过结合静态分析工具(如Ghidra反编译)与动态行为监控(如ProcMon和Wireshark),可系统性地提取IOC指标并关联威胁情报,从而在攻防对抗中实现从被动检测到主动溯源的能力跃迁

weixin_34279246的博客 477

S32K144 ADC硬件触发实战:PDB与TRGMUX配置避坑指南

本文深入解析了S32K144微控制器中ADC硬件触发的两种核心方案:PDB与TRGMUX。通过对比其架构差异、详细配置流程及常见问题排查,提供了从寄存器操作到DMA联动的完整优化指南,旨在帮助开发者解决多通道采样时序不稳、CPU负载过高等实际难题,实现高效稳定的数据采集。

weixin_29168153的博客 443

39 PC E-Books

 39 PC E-BooksHackers Black Bookhttp://rapidshare.com/files/58644348/Hacker_s_Black_Book_by_MehiriyeT.rarA_Buffer_Overflow_Study_-_Attacks_and_DefensesComputer_VulnerabilityCrackproof_Yo

Linhanshi Blog 811

LabVIEW QMH模板实战:从创建到错误处理的完整指南

本文提供LabVIEW QMH模板从创建到错误处理的完整实战指南。详细解析了队列消息处理器(QMH)作为LabVIEW核心设计模式如何实现任务解耦与异步通信,涵盖事件处理循环、消息处理循环的搭建、用户事件创建、队列引用管理、消息优先级控制以及健壮的错误处理机制,帮助开发者构建稳定、可维护的复杂应用程序。

white的博客 727

【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第一节 lua框架的建立

魔兽世界插件实战笔记从入门到放弃的心理历程 第二节 lua框架的建立 找到魔兽世界的安装目录,找到插件的默认位置:\World of Warcraft\_retail_\Interface\AddOns,在这里建立一个文件夹,魔兽的插件都是用一个文件夹来区分的,第一课吗,就用Lesson_one吧。 下面建立的三个文件,第一个点toc文件是最重要的一个,它是魔兽客户端识别插件的一个标识符。 魔兽版本号有一个函数可以查询在WoWLua下面运行:print("当前游戏版本号:",(select(4,GetBui

qq_33075391的博客 6450

Fastjson漏洞分析与复现

fastjson是阿里巴巴开源的JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。即fastjson的主要功能就是将Java Bean序列化成JSON字符串,这样得到字符串之后就可以通过数据库等方式进行持久化了。

未完成的歌~的博客 2348

Librepilot _64位window10环境下的搭建及一些坑的解决办法

  刚入IT行业的小菜鸟,在window上折腾了四天的librepilot地面控制站的搭建,想着这么辛苦不能白费了,看网上相关资料少得可怜,唯一一个详细教程还是在32位环境下,一大堆坑,所以把自己的经验写下来,供大家一起参考。 参考的原文是:https://www.cnblogs.com/jasonchan1202/p/7809937.html的博客,但是执行下来才发现这个博客对64位系统极其不...

weixin_41426339的博客 2728

AI网络攻击下的关键基础设施防护:从风险分析到工控安全实战

随着AI技术深度融入网络攻防,网络攻击的自动化与智能化程度显著提升。攻击者正利用大模型生成钓鱼邮件、辅助漏洞挖掘、制造难以辨别的恶意流量,对电力、水务、交通等关键基础设施构成前所未有的威胁。理解AI如何降低网络攻击门槛、放大攻击规模,是构建有效防御的前提。在防护侧,基于行为基线的异常检测、自动化安全运营以及AI辅助代码审计正成为加固工控系统的重要技术手段。与IT安全不同,OT环境更强调可用性与业务连续性,因此需要采用旁路监听、白名单机制和人机协同的响应策略。本文从AI攻击形态与攻击链分层切入,结合Modbu

weixin_30265103的博客 454

使用ADS进行LNA低噪放设计的详细教程

详细介绍了通过ADS软件进行LNA设计的过程,从晶体管的选型到稳定性系数分析、再到输入输出端匹配,完整的讲解了低噪放的设计流程,可以使新手小白以及学习射频放大器的朋友可以快速的了解掌握ADS的使用方法和LNA的设计方法。

weixin_41831333的博客 3451

vTestStudio保姆教程之从0到1搭建软件环境

学习HIL测试的必经之路,保姆级教学VT从搭建到测试。

欢迎来到eee的博客 4192

永恒之蓝(MS17-010)漏洞实战攻略

本文主要讲述了永恒之蓝(MS17-010)的漏洞实战,详细记载解释了每个命令的构成以及永恒之蓝如何运用SMB漏洞进行攻击,帮助网安小白理解,简单介绍了检测和防御永恒之蓝的方式,并附有win7虚拟机的安装教程和永恒之蓝漏洞实战的精简流程.

Yan_chen666的博客 574

Floyd (弗洛伊德)算法简述

Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。

慕羽★的博客 2万+

Books on hacking

- A Buffer Overflow Study - Attacks and Defenses (2002).pdf - Amazon Hacks - (Oreilly-August 2003).chm- Computer Vulnerability(March 9 2000).pdf- Crackproof Your Software(No Starch-2002).pdf- Credit

Linhanshi Blog 2199

弱小目标检测跟踪算法研究(5) 基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制

基于顶帽变换(Top_hat)算法的红外弱小目标检测之背景抑制1. 前言2. 顶帽变换(Top_hat)算法3. Matlab仿真4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵“弱"和“小’’两个方面:“弱’’是指目标在红外波长上所表现出来的强度,具体反映到所拍摄的红外图像上,就是指目标的灰度值;而“小’’是指目标的尺寸大小,也就是前面所述的成像面积很小,反映到红外图像上就是指目标所占的像素数目很少。 SPIE国际光学工程学会(Societyof Photo一0ptical Instrument

sinat_34897952的博客 5294

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 从“新“开始学习恶意代码分析——静态分析,从零基础到精通,收藏这篇就够了!
下一篇: 【PC样本分析】一份通过IPC$和lpk.dll感染方式的病毒分析报告,从零基础到精通,收藏这篇就够了!
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值