8 tyler_download

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4k+

高级静态分析技能基础:X86汇编语言运算指令说明

本节我们看看X86指令集以及X86的硬件体系架构。在汇编语言中最常见的指令就是mov,他将数据从一个地方转移到指定位置,该指令能将数据转移到特定位置的内存或是给定寄存器。mov指令的格式为(mov 目的,源头),源头指的是要被挪到的数据,目的是数据被挪动的目的地, 我们看几个具体例子:mov eax, ebx (把寄存器ebx中的数据拷贝到eax寄存器)mov eax, 0x42 (把数值0x42赋值给eax寄存器)mov eax, [0x4037c4](把地址为0x4037c4的4字节数据拷贝到e

2020-09-27 16:36:37

高级静态分析技能基础:掌握80x86汇编语言1

掌握黑客技术一大难点就在于你要非常深入计算机技术的底层。绝大多数程序员只愿意在上层应用上花点时间,毕竟他们只想”混饭吃“,任何有志于不断提升技术能力的工程师都必须跨过几个高门槛,一个是算法,一个是系统设计,还有就是掌握计算机体系结构,与底层,与硬件打交道,这些知识点难度大,有些甚至很枯燥,因此愿意专研的人不多,我们本节所要描述的汇编语言就属于计算机体系结构的一部分。一名真正的黑客,不是那些只会使用工具搞些歪门邪道的门外汉,掌握汇编语言在关键时刻使用反汇编技术进行分析不可避免。在这里我们对汇编语言做初步掌握

2020-09-15 10:06:05

详解ELF可执行文件格式:读取头部信息和程序表头

要想实现ELF文件的入口劫持,不深入掌握其运行原理与组成结构那是不可能的。ELF的内部结构复杂,加载逻辑难以理解,因此我们需要通过切香肠的方式,将这个困难的技术点一点一滴的去攻克。这一节我们先掌握如何读取头部信息和程序表头,我们先看ELF文件的大致结构:ELF文件格式最重要的就是所谓的段,特别是其中的代码段和数据段。对应上图就是.text,.data两个段。每个段都对应一个段表来描述,而若干隔断会组成一个整体,它对应一个program,而后者则由program header table来指向,讲解EL

2020-09-05 10:51:04

详解ELF重定向原理

重定向是计算机技术中非常底层的概念和操作。它指的是将程序中涉及到的变量名与变量在计算机内存中的位置关联起来。当在代码中执行类似x=1;的语句时,编译器需要通过重定向信息找到变量x对应的内存位置,然后将数值1写入该内存,因此重定向既跟程序的加载链接有关,又于编译原理有关,因此对计算机体系结构不了解,或只关注上层应用开发,对底层技术理解不多的同学对它进行掌握就会有些困难。为了准确将变量对应到具体的内存位置,就必须要有相关信息来描述变量名与内存之间的关系,这些信息就叫重定向记录(relocation recor

2020-08-25 18:52:21

自然语言处理的基本要义:向量表示法

一句话总结人工智能技术那就是:道可道,非常道。第一个“道”指的是世界存在客观规律;第二个“道”指的是这些规律可以被人类识别,掌握;第三个“道”指的是认知方法,而“非常道”指的是特殊的不同...

2020-08-16 11:49:59

深度学习与自然语言处理:发刊词

我时常会浏览大厂的招聘信息,其中会反应出当前技术的发展趋势以及市场对相应人才的需求量。通过了解大厂想要什么人,这类人待遇怎样,我们能推断出未来技术的发展方向,特别是市场需求,于是我们能快...

2020-08-15 12:50:39

内核级病毒与木马攻防:windows上四个恶意代码和病毒程序分析实战

本节看看如何将前面讲述的各种工具和理论应用到实践中来。我们将拿几个专门针对windows系统开发的恶意程序作为实例,用前面讲到的工具和理论具体分析其设计原理并了解它所要实现的目的。所要分析的二进制可执行文件以及所有用到的工具可从如下链接下载链接: https://pan.baidu.com/s/1QBwGxCGjA7kYd4HchSTlWg 密码: 09g7首先我们分析第一个恶意程序,也就是malicious-01.exe。面对exe程序时,首先要做的就是将它丢到PEView里先看看它的大概信息,打开

2020-08-06 11:49:49

ELF文件的符号表和函数调用追踪(视频版)

2020-07-30 12:14:43

内核级病毒与木马攻防:ELF文件的符号表和函数调用追踪

熟悉编译原理的同学一定了解何为符号,所谓符号其实是一种数据结构,用来描述编程语言中定义的特定对象。例如编程语言中定义的变量,函数都有特定的符号用于描述他们的性质。例如变量对应的符号中包含了变量对应的字符串名称,变量的类型,以及变量对应的内存。函数对应的符号包含了函数名称字符串,函数的返回值类型,函数入口内存地址等,在代码调试时,你把鼠标挪动到变量所在位置,IDE就给你显示出变量当前的取值等信息,这些信息就来自变量对应的符号,我在有关编译原理的两门课程里对符号有非常深入的讲解。在elf文件中存在两种符号表,

2020-07-28 10:51:38

内核级病毒与木马攻防:windows可执行文件结构解析及常用工具

大多数人使用windows系统,相必对其.exe结尾的文件印象深刻,执行任何程序时,你双击该文件即可,这个文件就是系统的可执行文件,我们需要了解其组成结构才能对其进行侵入,劫持或注入恶意代码。.exe文件也叫PE文件,它由一系列段头和段来组成。它一开始是一系列段头数据结构,用于描述各个段的相关性质,接下来就是包含代码和数据的各种段。有几个段特别值得注意,.text段包含CPU可以执行的指令,其他所有段包含数据或者是辅助CPU执行该段里面指令的相关信息,这个段是唯一包含可执行代码的段。.rdata包含引入和

2020-07-27 11:17:40

内核级木马与病毒攻防:Linux可执行文件的ELF格式描述

要想在Linux系统上实现逆向工程,分析,设计或查杀病毒和恶意代码,你不得不深入掌握其可执行文件的ELF格式,这样你才能了解进程在内存空间的布局和运行的基本规律,这样你才能有针对性的设计有效的病毒或恶意代码入侵系统。ELF文件主要有以下几种类型,ET_NONE表示该文件的作用未知;ET_REL表示重定向文件或叫目标文件,它们将会被链接并加装到某个指定的虚拟内存位置,常见的以.o结尾的二进制文件就属于这种类型。ET_EXEC表示可执行文件,它是由多个.o文件链接起来,可以被加载到内存进行执行的进程数据文件;

2020-07-20 10:57:38

内核级木马与病毒攻防:windows恶意代码分析入门

本节帮助读者入门windows上如何对恶意软件或病毒做初步分析。分析分两种,一种叫静态分析,也就是通过直接读取病毒或恶意程序的可执行文件来分析它的运行原理,一种是动态分析,也就是在病毒或恶意程序正在运行的情况下,监视其一举一动,通过观察它在系统中的运行情况来分析它的目的和原理。本节介绍基本的静态分析方法,该方法简单易行,但作用有限,要想跟病毒或恶意程序斗智斗勇最终还得依赖于动态分析。静态分析的第一种方法就是直线读取病毒或恶意程序的可执行文件,从中抽取关键信息。很多病毒或恶意程序的作者为了快速实现其非法目的

2020-07-10 16:58:35

Linux内核级木马与病毒攻防:基础工具介绍

欲成其事先利其器。要想完成一项复杂的任务,工具的作用至关重要。要想在Linux系统上开发或研究木马病毒等特殊程序,我们需要使用一系列强大的开发和调试攻击。本节先介绍几种在Linux系统上极为强大的工具。第一个当然是gdb了,在Linux上,它是唯一能用于程序调试的利器。我们后面开发代码或调试分析其他病毒或木马的设计模式和原理时,必须使用gdb作为手术刀,对要研究的病毒和木马进行”剖尸检验“,通过gdb调查木马或病毒的代码设计方法,同时也使用gdb加载恶意代码,研究其运转流程。第二个是objdump,它的

2020-07-04 17:05:07

发刊词:做一个既“酷”又性格的黑客

任何一个热爱技术的程序员都渴望自己成为一名了不起的黑客。一来黑客的形象相当酷,在众多好莱坞大片中,黑客往往是电影的主角或是关键人物,获得极大的聚焦,例如《黑客帝国》中的尼奥。二来,黑客是...

2020-07-01 18:53:27

java实现HTTP协议:POST协议代码实现

本节我们使用代码实现HTTP的POST协议流程。任何HTTP服务器都会支持客户端将文件上传,该功能的实现往往要走POST协议流程。为了使用代码实现该协议,首先需要一个目的HTTP服务器,我选择iPhone版本的福昕pdf阅读器,它支持通过POST协议将文件从电脑上传到手机,在打开其上传功能后,在电脑输入相应网址就能看到如下画面:点击”选择文件“按钮,然后选择要上传的文件,最后点击"upload"按钮,那么浏览器就会执行POST协议实现数据上传。我们先通过抓包的方式了解POST协议数据包的结构,在执行文件

2020-06-16 10:26:59

Java实现HTTP:回应数据包头格式详解

本节我们看看服务器返回给客户端的数据包头有什么特点。在HTTP1.1中有9种数据包头字段需要了解和掌握。第一个叫Accept-Ranges,他告诉客户端服务器是否处理了包含Range请求的请求数据包。该字段以Accept-Range: bytes的形式出现,在客户端向服务器提交数据时,它可能只提交从某个位置起的部分数据,这些数据在请求数据包中以Range字段来标明,如果服务器支持这种局部数据上传模式,那么他就会返回Accept-Range: x bytes表示成功接收客户端发来的数据,如果不支持它就会以Ac

2020-06-10 17:53:08

Java实现HTTP:HTTP数据包头部格式解读1

HTTP协议的大部分功能其实通过其协议包头来实现。因为HTTP协议包头作用如此重要,因此需要单独列出一节来详细讲解。协议包头大体上分为4类,分别为通用包头,请求包头,回复包头,和实体包头。先看看通用包头的主要作用。第一就是缓存控制,在协议包头中存有很多类型的指令,这些指令用于控制发送数据的设备执行指定操作,这里我们举出关于缓存指令的集中常见情况来说明:缓存控制指令HTTP消息类型具体描述no-cache在请求和回复数据包中使用当头部存在该指令时,他要求接收数据包的设备将后续接收

2020-05-30 11:09:54

HTTP数据包头部格式解读1

HTTP协议的大部分功能其实通过其协议包头来实现。因为HTTP协议包头作用如此重要,因此需要单独列出一节来详细讲解。协议包头大体上分为4类,分别为通用包头,请求包头,回复包头,和实体包头...

2020-05-30 11:08:28

java实现HTTP协议:HTTP协议的状态码解读

当客户端把请求发送给服务器后,对方会根据处理结果返回一系列HTTP数据包。其中第一行就用给定格式表明服务器对请求处理的结果。第一行包括三部分信息,第一部分是一个数值,也叫状态码,用来表明请求是否成功,第二部分是对状态码的字符串解读,用于说明状态码表示的含义,第三部分就是协议的版本。第一部分的数值其实是用于机器解读,因为机器适用于解读数值。第二部分字符串其实是为了方便与人来解读。状态码跟我们前面描述的FTP协议一样拥有给定形式,它由三位数字组成,其中第一位数字的作用最为重要,它用于表达状态的分类,第二和第三

2020-05-25 12:05:38

HTTP协议的状态码解读

当客户端把请求发送给服务器后,对方会根据处理结果返回一系列HTTP数据包。其中第一行就用给定格式表明服务器对请求处理的结果。第一行包括三部分信息,第一部分是一个数值,也叫状态码,用来表明...

2020-05-24 18:13:52

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。