自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (1)
  • 收藏
  • 关注

原创 lettcode122卖股票的最佳时机

题目描述给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润 。例子:输入:prices = [7,1,5,3,6,4]输出:7解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。 随后,在第 4 天(股票

2022-04-27 19:16:02 279

原创 Pytorch的一些小问题

Pytorch图神经网络训练过程中的一些问题

2022-04-21 15:18:41 3745 1

原创 leetcode15三数之和

题目:自己的做法:通过率130 / 318class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { if (nums.empty() || nums.size() < 3) return vector<vector<int>>(); int num_0 = 0; vector<vector<int>>

2022-04-19 15:57:41 190

转载 马尔科夫链

参考文章:什么是马尔科夫链?重点:如果确定了状态间的马尔科夫状态转移矩阵,那么无论你的输入向量是多少,最终状态的概率分布都会趋于同一个稳定的概率分布。1、马尔科夫状态转移矩阵矩阵的构造是通过状态间的转移概率得出的,参考文章中的有具体举例2、马尔科夫性质状态空间中经过从一个状态到另一个状态的转换的随机过程称为马尔科夫过程(1)下一状态的概率分布只能由当前状态决定(2)马尔科夫中任何两个状态都是相通的,从任意一个状态可以通过有限步到达其他的任意一个状态,不会出现条件概率一直为0导致不可达的情况;

2022-02-24 19:45:38 463

转载 跟着李沐学AI-GRU(1)

GRU - 概念理解一、门控神经单元通过一些额外的控制单元,使得在构造隐藏状态的时候,可以选择侧重哪一块【注意力机制】1、门更新门:选取重要的数据去更新隐藏状态,即将重要的信息加入到隐藏状态中,这样就可以交给后面进行隐藏状态的更新。重置门:也叫【遗忘门】,即将不重要的数据选择性遗忘掉,比如输入或者部分隐藏状态。上述图片公式中:X为输入,H为隐藏状态。R为重置门,Z为更新门。上述图片流程中:输入的H和X拼接构成全连接层,后经过激活函数后输出。门是和隐藏状态具有同等大小的向量,注意以上公式中的

2022-02-20 11:56:08 305 1

原创 神经网络学习-部分小tip

1、神经网络中,线性回归采用均方误差作为损失函数,逻辑回归(分类算法)采用交叉熵2、神经网络中对数几率回归解决的是二分类问题,对于多个选项的问题可以使用softmax函数3、神经网络的原始输出并不是一个概率值,实际上只是输入的数值做了复杂的加权和非线性处理之后得到的一个值。4、神经网络中对于多分类问题,采用categorical_crossentropy以及sparse_categorical_crossentropy来计算softmax交叉熵。如果列表是数字编码,那么损失函数就使用sparse_ca

2021-09-24 14:59:32 108

原创 交叉熵理解

1、熵熵在信息论中是表现一个系统的混乱程度,熵越大代表系统混乱程度越高。熵的单位是比特,所以在使用log的时候是以2位底的,举例:当向计算机输入一个16位数据的时候,计算机本身可以取的值是2的16次方个 ,在输入之后这个值就确定下来了,那么现在就是从原来的1/2^16变成了1,那么这个的信息量就是16比特。在了解熵之前先要了解信息量,信息量是用来描述一个事件从原来的不确定变为确定,难度有多大。信息量越大,说明难度就越高。熵的评定和信息量相似,不同的是信息量针对的是一个事件,而熵针对的是一个系统。

2021-09-24 09:09:47 1216

原创 BP神经网络预测模型

一、BP神经网络简单介绍BP神经网络是一种人工神经网络,其主旨是一种进行分布式并行信息处理的数学模型。1、基本概念感知器代表BP神经网络中的单个节点。其包含:输入项、权重、偏置、激活函数、输出。下图可以看出其详细信息:其中Xi代表输入、Wi代表权重、b代表偏置、f代表激活函数。引入偏置b的原因在于让其模型适用于更多情况。图中的工作流程为:从输入端开始,沿着箭头指向乘以相关权重系数后加和(还需加偏重),加和后得到的结果作为激活函数的输入再次计算,此时得到的结果作为此节点的输出。一个节点的

2021-09-13 12:39:17 20043

原创 分析Pacp包

一、Pacp包分析具体参考博客:pcap文件的python解析实例python分析pacp包遇到的问题(python运行环境:PyCharm):1、‘tshark’ 不是内部或外部命令,也不是可运行的程序或批处理文件因为环境变量里面没有添加tshark所在路径,具体添加方法可以参考:windows10环境变量中添加tshark 最后只需要在path中浏览加入tshark所在路径就好了。2、tshark添加进去了还是报错怎么办?可能是因为tshark版本过低,如果需要提取tls的sni,那么tsh

2021-09-06 14:59:22 5211 1

原创 分析Pacp包-TCP/IP四层协议分析

我们利用wireshark打开pcap包以后可以发现如下数据:其中Internet Protocol Version 4,Src:10.0.0.3,Dst:223.167.104.125内对应IP数据报的头部信息,数据格式如下(除选项以及数据外):Transmission Control Protocol, Src Port: 60912, Dst Port: 8081, Seq: 2640449752, Len: 0为传输层TCP数据包的内容,也是IP数据报的数据部分,内容格式如下:...

2021-09-06 14:58:17 677

原创 burpsuit抓取微信公众号数据包

1、抓包前设置进入IE浏览器设置->Internet设置->连接->局域网设置:开启代理服务器,其中代理服务器的地址和端口需要和Burpsuit中的保持一致如下:2、burpsuit抓包首先在burpsuit中打开抓包设置如下:现在我们在微信(PC版)中进入一个公众号,点击功能栏中的一个,例如:...

2021-03-25 11:38:41 6582 1

原创 snort实验(一)

snort模式snort包含三种模式:嗅探器、数据包记录器以及网络入侵检测系统。Snort作为网络入侵检测系统1、利用snort命令启动入侵检测系统:sudo snort -d -h 192.168.202.134/24 -l ./log -c snort.conf -i en33解释如下:(1)-d:显示应用层数据(2)-h:指定snort.conf中HOME_NET的值,如下所示:此条命令指明HOME_NET=192.168.202.134/24(此地址需要更换为自己的虚拟机地址)。

2021-03-24 15:27:39 3434

原创 snort安装遇到的问题

一、将snort作为网络入侵检测系统运行时出现的问题1、ERROR: Failed to lookup interface: no suitable device found. Please specify one with -i switch由于没有指定网卡导致,所以需要在命令的后面加上-i 网卡名称。如下:snort -d -h 192.168.202.134/24 -l log -c etc/snort.conf -i ens33有可能会出现出现如下结果:是由于权限不够,需要在命令前加入

2021-03-24 15:26:44 1625 2

原创 恶意代码分析实战—实验12-3

实验环境实验设备环境:windows xp实验工具:IDAPro实验过程首先我们采用IDA导入文件,查看imports窗口:其调用了系统设置钩子函数,这个函数允许进程挂钩,也允许监控进程的API函数。回到反汇编窗口,反汇编窗口中来到SetWindowsHookExA函数周围,其idhook参数表明此钩子是哪一种钩子,查看MSDN可以获知D用来监控键盘消息,lpfn是hook地址,fn启动了键盘监控,fn函数会接收击键记录。接下来调用了getmessageA函数,此函数一定要调用,因为wind

2020-09-07 14:42:00 184

原创 恶意代码分析实战—实验12-2

实验环境实验环境:windows xp实验工具:IDAPro WinHex Resource Hacker实验过程首先采用IDA加载实验文件Lab12-02.exe文件,查看导入函数窗口(imports):可以看到导入函数中包含有创建进程等函数还会利用setThreadContext修改进程的上下文;还存在对内存读写操作的API函数;对资源也会有操作。点击createProcess函数进入被调用的界面:圈出来的参数为4,代表此进程被创建但是不被执行,除非主进程调用这个函数的时候才会被启动。

2020-09-07 14:13:16 532

原创 恶意代码分析实战—实验12-1

实验环境:实验设备环境:windows xp实验工具:IDAPro,processmonitor,processexplore实验过程首先我们采用IDA打开exe程序,进入imports导入函数窗口:以上圈出的函数很有可能会是有关于进程注入。在IDA中查看strings窗口:我们会观察到很多不常见的dll文件,可能会和注入有关。1、在你运行恶意代码可执行文件时,会发生什么?我们会看到会弹出来一个窗口,其会一分钟弹出来一次。2、哪个进程会被注入?查看IDA:可以看到其会调用Lo

2020-09-03 20:08:31 406

原创 恶意代码分析实战—实验11-3

实验环境:实验设备环境:windows xp实验工具:UltraCompare,IDAPro,Ollydbg,WinMD5,strings,processmonitor实验过程1、使用基础的静态分析过程,那你可以发现什么有趣的线索?我们可以使用strings查看目标程序:...

2020-09-03 09:11:02 544 1

原创 恶意代码分析实战—实验11-2

实验环境:实验设备环境:windows xp实验工具:PEID,IDAPro,Ollydbg,wireshark,WinMD5,strings,processmonitor实验过程首先我们可以使用strings查看:这就说明恶意程序会利用appinit以及注册表永久的安装自身。并且向上分析可以发现,恶意程序可能会对邮件进行一些操作,并且会涉及到网络操作。1、这个恶意的DLL导出了什么?可以使用dependency walker查看:其存在一个导出函数导入的kernel32.dll文件

2020-09-02 16:22:49 378

原创 内联钩子原理

左侧是一个正常情况下的send函数的调用,右侧是使用了内联钩子以后的调用情况。对比可以发现右侧的开始会调用jmp函数,jmp指定会跳转到恶意代码的位置执行,恶意代码执行之后会继续执行send函数,最后再用jmp执行跳回去,这样就可以完整执行send函数的功能并且不会被发现。...

2020-09-02 15:42:06 386

原创 恶意代码分析实战—实验9-2

实验环境:实验设备环境:windows xp实验工具:PEID,IDAPro,Ollydbg实验过程1、Lab09-03.exe导入了哪些dll?我们可以通过查找PEID查看导入函数:但是有些dll是在程序运行的时候才会加载的,所以我们需要采用IDA进行静态分析,如果想要在程序运行中加载dll文件,就需要使用loadlibrary这个API函数,查找imports窗口中的函数,双击进入,在函数上点击ctrl+X获得交叉引用窗口如下:我们点击第一个引用函数进入:发现其引用的是dll3.d

2020-09-01 11:50:14 545

原创 恶意代码分析实战—实验9-1

实验环境:实验设备环境:windows xp实验工具:strings,IDAPro,Ollydbg,Process explore实验过程使用strings进行静态分析:我们可以看到此字符串中包含有一些网络连接函数以及创建线程的API函数。接下来我们采用OD结合IDA的方式进行分析:但是由于OD无法准确的定位到main函数开始的位置,所以需要采用IDA确定函数开始执行的位置:在这里我们可以看到main函数的地址为:00402AF0,现在我们可以在OD中跳到这个地址:...

2020-09-01 09:56:50 398

原创 恶意代码分析实战—实验7-3

实验环境实验设备环境:windows xp实验工具:strings,IDAPro,Dependency Walker,Process Monitor实验过程首先可以使用strings查看:lab07-03.exe文件:我们可以发现有两个kernel32.dll但是实际上第一个是kerne132.dll。下面存在exe文件后缀,那么就说明很有可能是针对系统的所有exe文件进行一定的操作。接下来看到了kerne132.dll的路径,那么就说明此路径是程序创建假的kernel32.dll的路径。下

2020-09-01 09:56:44 447

原创 恶意代码分析实战—实验7-2

实验环境实验设备环境:windows xp实验工具:strings,IDAPro,Dependency Walker实验过程首先我们可以使用Dependency Walker软件查看程序使用了哪些导入函数:我们可以发现此函数会创建一个Co,OleInitialize用于初始化组件文件对象库,OleUninitialize用于关闭组件对象库下面使用IDA进行分析:分析以上主函数,发现其存在rid以及clsid,我们点开rid进入:其圈出来的就是他的实际数据如下:0D30C1661- 0C

2020-09-01 09:56:36 180

原创 恶意代码分析实战—实验7-1

实验环境实验设备环境:windows xp实验工具:PEID,IDAPro实验过程首先可以使用PEID来静态分析导入表:上图可以发现此dll函数会调用一些有关于服务的API函数,说明此程序很有可能会创建一些服务,其中的OpenSCManagerAAPI函数的作用是创建一个到指定服务控制管理器的连接,并且开启这个管理器数据库。保证将服务加入到数据库中。winnet.dll文件调用了两个有关于网络的API函数,第一个是访问网络连接的URL,第二个是初始化一个到互联网的连接。下面进行IDA分析:

2020-09-01 09:56:29 266

原创 恶意代码分析实战—实验6-4

实验环境实验设备环境:windows xp实验工具:IDAPro,strings实验过程首先进行基础的静态分析如下:我们会发现同之前分析的一样会包含未知网址,网络连接提示字符串以及注册表信息:现在我们开启IDA分析:1、对比之前的main函数,此程序的main函数中调用之间的区别是什么?什么新的代码结构被添加至了main函数中循环结构...

2020-09-01 09:56:14 176

原创 恶意代码分析实战—实验6-3

实验环境实验设备环境:windows xp实验工具:PEID,strings,IDApro实验过程首先使用strings进行静态分析如下:我们可以看到其涉及到网络状态,一个未知的域名以及一些注册表相关的信息。下面可以使用PEID查看一下导入表:我们可以观察到此dll会调用创建目录API函数,之前我们利用strings查看到包含C:\Temp,就是通过此函数创建的。我们可以看到这个dll调用的函数是有关于注册表设置值的一些API函数。下面使用IDA进行分析:1、比较在main函数中与

2020-09-01 09:56:07 173

原创 恶意代码分析实战—实验6-2

实验环境实验设备环境:windows xp实验工具:IDAPro,PEID,strings,wireshark实验过程使用strings程序进行基础的静态分析:出现了一个恶意程序可能访问的网址,以及一些反应网络连接状态的字符串。现在我们可以使用PEID进行分析,查看其导入表:我们主要关注WINNET.dll程序引用的API。(如果兴趣可以通过MSDN查找相关API作用)下面我们通过wireshark进行动态分析:开启wireshark以后,运行程序:其中存在DNS数据包,解析圈出的

2020-09-01 09:56:00 149

原创 恶意代码分析实战—实验6-1

实验环境实验设备环境:windows xp实验工具:IDAPro,strings,PEID实验思路1、采用基础静态分析工具分析目标程序2、利用IDAPro梳理恶意程序的行为实验过程首先我们使用PEID查看一下程序是否加壳:可以观察到exe程序并没有被加壳,查看其导入表发现:其存在一个InternetGetConnectedState函数,通过查询MSDN(msdn查询函数网址):检索本地系统连接的作用。其返回值是如果有网络连接那么就会返回1或者true否则返回0或者false。下

2020-09-01 09:55:53 243

原创 恶意代码分析实战—实验5-1

实验环境实验设备环境:windows XP实验工具:IDA pro实验思路1、掌握IDA Pro基本使用方法2、利用IDA Pro静态分析恶意程序实验过程1、DLLMain的地址是什么?打开IDAPro将Lab05-01.dll文件拖进来进来我们就可以发现DLLMain的位置。我们可以鼠标放置在此函数上,点击空格键获得内存地址信息:2、使用imports窗口并浏览到gethostname的调用,导入函数定位到什么地址?可以通过点击imports窗口获得信息,双击这个函数就可以获得

2020-09-01 09:55:43 1183 1

原创 恶意代码分析实战—实验3-4

实验环境实验设备环境:windows XP实验工具:PEID,Strings,process monitor,process explore实验思路1、静态分析恶意程序的基本信息2、监控并分析恶意程序的特征实验过程首先我们先利用静态分析工具PEID进行静态分析:点击子系统之后点击输入表,获得引入的表项如下:我们可以观察到dll引入了copyfile等函数,并且在下方也同样引入了getSystemDirectoryA函数用来获取系统目录。一般来说恶意程序使用这些函数进行自身进程的复制并隐藏

2020-09-01 09:55:34 297

原创 恶意代码分析实战—实验3-3

实验环境实验设备环境:windows XP实验检测工具:process monitor ,porcess explore实验思路1、观察恶意程序创建出的进程2、分析正常进程与恶意程序进程的不同3、监控并分析恶意程序的特征实验过程1、当使用process monitor进行监控的时候,你发现了什么?打开process explore之后再打开我们的程序Lab03-03.exe,我们会发现,此程序会创建一个svchost.exe并且将自己隐藏了起来,如下:可以观察到其是一个孤儿进程,即没有

2020-09-01 09:55:23 387

原创 恶意代码检测实战-第三章实验二(Lab03-02.dll)

实验环境:实验设备环境:windows XP实验所需工具:PEID,process monitor,process explore,strings,wireshark,regshot.实验思路1、静态分析dll中的特征信息2、安装dll中的恶意代码3、监控并分析恶意程序的特征实验过程首先我们在进行动态分析之前可以进行一些基础的动态分析,使用PEID软件,将dll文件拖入PEID操作如下:我们可以发现其导出了五个函数,特别是第二个和第三个都是针对服务方面的,所以我们可以认为其dll文件可能

2020-09-01 09:55:03 726

原创 ollydbg(1)

use ollydbg to analyze .exe programwhen you open the exe file,but the loading file is ntdll,you should press F9,it can find main function in the exe file.the page that loads in:after you press F9:now you can continue your operator

2020-07-23 16:09:57 83

原创 buffer overflow-(2)

Intructionprevious article already send a email by C program successfullynow we will show how to write bufffer overflow code.Detail codeBecause the length of data must not exceed 0x200,so we fill with 0x150 A memset(buffer, 0x41, 0x150); sprintf_s(b

2020-07-23 09:58:31 139

原创 bufffer overflow

IntroductionThe reson for buffer overflow is we set too many data to an array of finite length.Attackers will utilize the feature,they may be construct a special string to assign values to arrays and construct specific address cover return address(EIP re

2020-07-23 09:08:00 279

原创 windows program--(1)

introductionbecause I want research malicious code in the future,so I need study window program to exploit desktop application detect malicious software.Windows program introductioncompare to C program,C entry function is main,windows program entry func

2020-07-22 19:49:01 220 1

原创 leetcode-字符串解码

问题描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入示例s = "3[a]2[bc]", 返回 "aaabcbc".s = "3[a2[c]]"

2020-05-28 07:13:26 318

原创 leetcode-前缀和(整除类型题目)

问题给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]代码class Solution {public: int subarraysDivByK(vector<

2020-05-27 09:01:23 233

转载 滑动窗口题目汇总

大佬的题解

2020-05-23 10:37:52 191

原创 leetcode-前序后序得到二叉树

问题根据一棵树的前序遍历与中序遍历构造二叉树。示例例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7代码(c++)class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector<int>&amp

2020-05-22 09:08:16 155

stm32f4xx系列—stm32f401原理图.pdf

stm32f401完整版电路原理图,包括主原理图,各部分细节原理图,包括USB等模块细节原理,适合新手学习,细化LED接口位置

2020-03-01

空空如也

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

TA关注的人

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