shellcode shellcode 是一组可注入的指令,可以在被攻击得到程序内运行,因为shellcode要直接操作寄存器和程序函数,所以通常用汇编语言编写并被翻译为十六进制操作码,因此不能用高级语言编写shellcode, 即使细微的差别有可能导致shellcode无法准确执行,这些导致编写s ...
分类:
系统相关 时间:
2020-05-11 23:30:25
阅读次数:
94
一、升级Vmware Workstation Pro 由于原来使用的Vmware Workstation Pro是12.0,不支持ubuntu18.04的linux版本内核,所以要进行升级 从官网下载和电脑操作系统对应的Vmware Workstation Pro15版本,然后按照提示进行就OK了, ...
分类:
其他好文 时间:
2020-05-11 20:35:41
阅读次数:
80
编程语言有四代 : 1.第一代,由0,1组成的机器语言,也被称为字节码,机器语言程序又被称为二进制文件。 2.第二代,汇编语言。 3.第三代,例如C,Java的语言。 4.第四代,四代语言的特征是完成一个任务你仅要告诉计算机你要做什么,不需要告诉计算机如何一步一步的做,如SQL。 反汇编是一件十分困 ...
分类:
其他好文 时间:
2020-05-10 15:25:05
阅读次数:
59
我们大部分程序员可能都是从C语言学起的,写过几万行、几十万行、甚至上百万行的代码,但是大家是否都清楚C语言编译的完整过程呢,如果不清楚的话,我今天就带着大家一起来做个解密吧。 C语言相对于汇编语言是一种高级语言,要想在系统上运行,需要通过编译器把它转换成机器能够读懂的可执行的代码。 以Linux系统 ...
分类:
编程语言 时间:
2020-05-10 14:54:49
阅读次数:
104
做为一个过来人,我谈谈我自己的看法,欢迎大家补充: 首先肯定的一点是:不要一上来就看内核代码,基本上你会很快被挫败感打败。内核正在变得越来越庞大,学习曲线越来越陡峭,当你一无所知的时候冒然进入linux kernel,你会发现处处都是障碍,处处都是大坑,你根本走不下去。最好的方法是把对内核源代码的热 ...
分类:
系统相关 时间:
2020-05-09 23:29:43
阅读次数:
93
原文:https://blog.csdn.net/qq_38025219/article/details/85865139 此处用来整合我许久以来在互联网上多处寻得的关于学习汇编各个方面的书籍,由于可能对于初学者来说,从什么地方开始都是一个难题…(呵呵有点自大了呢)… (1)16位入门经典书籍 王爽 ...
分类:
编程语言 时间:
2020-05-09 11:57:07
阅读次数:
83
编程语言分为低级语言和高级语言,机器语言、汇编语言是低级语言,C、C++、java、python等是高级语言。 机器语言是最底层的语言直接执行,汇编语言通过汇编器翻译成机器指令后执行,一条汇编指令,对应着一条机器指令。 高级语言编程的程序有三种执行方式: 1.一种是编译执行,程序语句先通过编译器(负 ...
分类:
编程语言 时间:
2020-05-08 20:00:30
阅读次数:
122
DOS 部分 由上往下依次为: IMAGE_ DOS_ HEADER DOS Stub IMAGE_ DOS_ HEADER e_magic:DOS签名 e_Ifanew:指示NT头偏移(可变) 不一定是00 00 00 E0 DOS Stub(大小不固定) 其实是一段汇编代码 一般输出 This ...
分类:
其他好文 时间:
2020-05-08 15:55:44
阅读次数:
74
执行过程 第一步:编写汇编源程序 使用文本编辑器(如Edit、记事本),用汇编语言编写汇编源程序。第一步的结果是产生了一个存储源程序的文本文件。 第二步:对源程序进行编译连接 使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行 ...
分类:
编程语言 时间:
2020-05-07 00:41:09
阅读次数:
64
涉及到以下汇编指令: pushl: 入栈 ebp指向栈底 esp指向栈顶 入栈时只需要将esp下移, 将入栈的值放入esp指向的地址,如下图所示: popl: 出栈 先将栈顶的数据保存,再将esp上移 call:顾名思义,调用一个函数 调用一个函数需要将当前执行到的指令位置(eip寄存器的值)保存, ...
分类:
其他好文 时间:
2020-05-07 00:26:08
阅读次数:
72