E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
x86汇编
180728 逆向-SMC出题笔记
在某黑哥的指示下给他加紧出两个题目~最先想到的就是34c3ctf时做过的SMC题目,那个随机数混杂着自解密真的是让我久久无法忘怀SMC题目的核心就在于自解密时的key如果key不提供,那么考点就在于大量
x86
奈沙夜影
·
2018-07-31 01:04
CTF
CrackMe
[050][
x86汇编
语言]16.1.1 简单分页模型: 计算从线性地址到页物理地址的映射
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9f分页机制的引入背景段不用的时候要被挪到磁盘,段要被用到的时候要被加载到内存;引入分页机制是为了解决空闲区域远远大于要加载的段的浪费问题
AkuRinbu
·
2018-07-25 22:19
用C语言实现一个C语言的编译器
用C语言实现一个C语言的编译器目标:基于C0+文法的编译器,生成语法树,四元式,符号表,最后生成
X86汇编
(386)接下来介绍一下整个的设计和实现思路(C0+文法是指以C0为基础,另外增加了一些C0没有的文法
acsuperman
·
2018-07-17 23:00
编译原理
[049][
x86汇编
语言]控制转移到其他任务 jmp/call
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9f处理器用以下四种方法将控制转移到其他任务:1、当前程序、任务、或者过程执行一个将控制转移到
AkuRinbu
·
2018-07-08 11:44
[021][
x86汇编
语言]保护模式下的Bochs调试: sreg 、info gdt、 creg 、print-stack
Bochs调试sreg显示段寄存器的内容infogdt显示GDTR寄存器的内容creg显示CR0寄存器的内容print-stack查看栈的内容>sreg显示段寄存器的内容Bochs显示各个段寄存器描述符高速缓存器的内容.pngD=132位模式.png>infogdt显示GDTR寄存器的内容infogdt查看GDTR寄存器的内容.png>creg显示CR0寄存器的内容PE位置为1进入保护模式.png
AkuRinbu
·
2018-07-04 07:35
[041][
x86汇编
语言]第十五章 终止当前任务 子程序 terminate_current_task 源码解析
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9f复习代码运行后的内存状态https://www.jianshu.com/p/a286eceb0a10
AkuRinbu
·
2018-06-28 05:21
[040][
x86汇编
语言]第十五章 任务切换 B位 、NT位、TSS指针域 变化规则
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9fEFLGAS标志寄存器的格式EFLAGS标志寄存器的格式.png不同任务切换对B
AkuRinbu
·
2018-06-28 04:15
[039][
x86汇编
语言]第十五章 任务切换 内存示意图 以及 TSS相关 源码解析
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9f运行结果第十五章任务切换运行结果.png代码使用nasmide.exe编译源码文件
AkuRinbu
·
2018-06-28 04:32
操作系统学习:Linux0.12初始化详细流程-首个子进程
本文参考书籍1.操作系统真相还原2.Linux内核完全剖析:基于0.12内核3.
x86汇编
语言从实模式到保护模式4.Linux内核设计的艺术ps:基于x86硬件的pc系统Linux0.12初始化续在上一篇博文中根据
qq_33339479
·
2018-06-12 19:52
操作系统
[029][
x86汇编
语言]第十三章 习题:修改内核程序和用户程序,改由用户程序自行提供栈空间
学习笔记《
x86汇编
语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9f答案参考https://blog.csdn.net/longintchar/article
AkuRinbu
·
2018-06-05 18:20
80
X86汇编
要点总结
1.指令和数据都是以二进制存储。cpu根据cs:ip确认指令。2.存储单元从0开始编号,因为地址是二进制信息。3.8086的寻址模式:基础地址+偏移地址=物理地址。4.popax字型数据用两个单元存放,高地址单元存放高八位,低地址单元存放低八位。5.指令push,pop寄存器/段寄存器/内存单元6.7.loop指令:cx=cx-1;cx不为0转至标号处执行。和[bx]联合使用,对连续内存空间操作。
卧虫
·
2018-05-30 19:11
汇编与硬件
80
X86汇编
要点总结
1.指令和数据都是以二进制存储。cpu根据cs:ip确认指令。2.存储单元从0开始编号,因为地址是二进制信息。3.8086的寻址模式:基础地址+偏移地址=物理地址。4.popax字型数据用两个单元存放,高地址单元存放高八位,低地址单元存放低八位。5.指令push,pop寄存器/段寄存器/内存单元6.7.loop指令:cx=cx-1;cx不为0转至标号处执行。和[bx]联合使用,对连续内存空间操作。
卧虫
·
2018-05-30 19:11
汇编与硬件
X86汇编
学习笔记P2--32位乘法
原有的乘法指令是8位乘法或16位乘法,对于32位的大数乘法还是要自己去实现的。其实思路也不难,类比考虑两位数十进制乘法:(10A+B)X(10C+D)=100AC+10BC+10AD+BD那么我们要实现的就是四次16进制的乘法和将其结果相加:目标为NUM_A:NUM_BXNUM_C:NUM_D->RESULT_H:RESULT_MH:RESULT_ML:RESULT_L可以分解为NUM_BXNUM
mercer-zhang
·
2018-05-20 22:51
[004][
x86汇编
语言]关于硬盘(Hard Disk)
学习笔记内部自测试(build-inself-testBIST);引脚RESET:用于接受复位信号;动态随机访问存储器(DynamicrandomAccessMemoryDRAM):个人计算机使用的内存需要定期补充电荷,这称为刷新,这种存储器被称为DRAM,特点是访问一个单元的速度与单元所在位置无关,但是断电后,所有内容通通消失;Intel8086有20根地址线,可以寻址1MB的内存空间,地址范围
AkuRinbu
·
2018-05-19 22:07
自制操作系统之环境搭建
最近在学习操作系统,但死磕书本上的理论知识太枯燥,哪有自己亲自做一个系统来的有趣呢,于是参考了《30天自制操作系统》、《自己动手写操作系统》、《
x86汇编
语言》开始自己动手做操作系统,同时写了这一个系列的博客以记录我的学习历程
lingxufire
·
2018-04-12 22:41
自制
操作系统
环境
《汇编语言程序设计》学习笔记(3)三、C与汇编语言
3.180
x86汇编
与C语言-13.1.180
x86汇编
与C语言-1-汇编程序员眼中的系统结构汇编程序员眼中的系统结构如何从C代码生成汇编代码gcc-O2-Scode.c-m32-fno-omit-frame-pointer-O2
HenryQWER
·
2018-04-05 10:34
汇编语言
编程语言
《汇编语言程序设计》学习笔记
人工智能真的来了
1人工智能真的来了纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS、windows3.2、foxpro、delphi、80
x86汇编
,还有很多技术也在艰难地挣扎,比如:VB
dandan520520
·
2018-03-16 16:32
人工智能
x86汇编
指令集大全(带注释)
汇编指令集太多,如果不用就会忘记,所以将i处理器官方的指令集大全写到博客上,有需要的人可以参考一下!X86和X87汇编指令大全(有注释)----------一、数据传输指令----------------------------------------------------它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1.通用数据传送指令.MOV传送字或字节.MOVSX先符号扩展,再传
17岁boy想当攻城狮
·
2018-03-07 10:56
汇编
x86汇编
语言学习笔记2
一个简单的汇编语言程序:.datasumDWORD0.codemainPROCmoveax,5addeax,6movsum,eaxINVOKEExitProcess,0mainENDP加法指令:add减法指令:sub加一指令:inc减一指令:dec取补指令:neg(用0去减去操作数)标志寄存器及其使用(简单版):0:CF最高位产生进位或者借位置1否则02:PF最低字节中含有1的位数是奇数还是偶数,
delort
·
2018-02-11 17:40
20155225 《信息安全系统设计基础》课程总结
课程总结博客汇总学习总结第一周学习总结第三周学习总结第五周学习总结第七周学习总结第九周学习总结第十一周学习总结第十三周学习总结第十四周学习总结实验博客实验一实验二实验三实验四实验五课下实践静态库、动态库的生成和调用pwd命令的实现第11章网络编程代码分析Linux下的IPC机制
X86
20155225江智宇
·
2017-12-31 22:00
汇编语言的分支理解
在Apple平台上主流的汇编语言有
x86汇编
和ARM汇编,在移动设备上使用的是ARM汇编这主要是因为ARM采用的是RISC架构,具备功耗低的优势桌面平台使用的则是
x86汇编
。
kunnan
·
2017-11-28 00:00
arm
逆向学习笔记(一)
学习逆向是需要一定的汇编基础,学习汇编就想是学习一门外语,它的指令就像是单词一样,只有理解了这些单词的意思才可以理解汇编的代码的含义,由于汇编器/反汇编器的不同,现在
x86汇编
代码主要分为Intel和AT
matrix_123
·
2017-11-14 16:07
总结
逆向学习笔记(一)
学习逆向是需要一定的汇编基础,学习汇编就想是学习一门外语,它的指令就像是单词一样,只有理解了这些单词的意思才可以理解汇编的代码的含义,由于汇编器/反汇编器的不同,现在
x86汇编
代码主要分为Intel和AT
matrix_123
·
2017-11-14 16:07
总结
20179223《Linux内核原理与分析》第二周学习笔记
第二周实验本周学习情况:学习了X86cpu的几个寄存器及
X86汇编
指令:movl%eax,%edxedx=eax%表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx,寄存器寻址;movl
20179223刘霄
·
2017-10-07 10:00
C#代码中插入
X86汇编
这两天在看C#SIMD相关的东西,在爆栈上面搜到一段代码,表示很震惊,还是得贴出来…1[UnmanagedFunctionPointer(CallingConvention.StdCall)]2delegatevoidVectorAddDelegate(float[]C,float[]B,float[]A,intlength);34[DllImport("kernel32.dll",SetLast
egmkang
·
2017-08-29 18:00
汇编语言入门八:函数调用(二)
回顾上回说道,
x86汇编
中专门提供了两个指令call和ret,用于实现函数调用的效果。
安静平和
·
2017-08-22 17:47
汇编
x86汇编
程序基础
1.最简单的汇编程序.section.data.section.text.globl_start_start:movl$1,%eaxmovl$4,%ebxint$0x80汇编器:ashello.s-ohello.o链接器:ldhello.o-ohello为什么用汇编器翻译成机器指令了还不行,还要有一个链接的步骤呢?链接主要有两个作用,一是修改目标文件中的信息,对地址做重定位,二是把多个目标文件合并
双双的背影
·
2017-08-10 21:46
Reading
notes
程序员们,AI来了,机会来了,危机也来了
程序员们,AI来了,机会来了,危机也来了1.人工智能真的来了纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS、windows3.2、foxpro、delphi、80
x86
麦好
·
2017-07-10 17:05
AI与机器学习
你会为
AI
转型么?
机器学习原理解析与应用
简述计算机体系结构
计算机体系结构(翻译)本文翻译自《ProgrammingfromtheGroundUp》一书第二章"ComputerArchitecture".该书是讲
x86汇编
语言编程的,可从http://savannah.nongnu.org
交流障碍
·
2017-05-27 16:31
x86汇编
学习记录-3月28日
/1.使用xorax,ax完成设置寄存器为0一个数和自己进行异或结果为0,因此可以使用xorax,ax完成对寄存器ax清零的操作,这比movax,0来的更高效而且指令占用的内存空间更少。2.使用andax,ax判断设置SF位从而快捷地判断ax的正负性andax,ax不会改变ax的值,但是会影响到标志寄存器SF,在这条语句之后,常常跟上js/jns/jz/jnz从而完成为正跳转、负跳转、0跳转、非0
huizhang0110
·
2017-03-28 23:11
第一篇 第一篇博客打个招呼
编程的学习历程:本科学习阶段学习依靠C语言入门,之后接触了单片机汇编,
X86汇编
,ARM汇编,梯形图编程PLC,matlab仿真编程,学习了VH
heisehuanyin
·
2017-03-14 00:00
《信息安全系统设计基础》课程总结
课程总结每周学习博客汇总链接第零周:对课程的认识,安装环境第一周:Linux目录结构及一些基本的linux操作和命令第二周:学习vim,gcc编译器和gdb调试技术第三周:运用第二周所学的知识对书本中的一些代码进行了实践第五周:掌握
X86
20145336张子扬
·
2016-12-25 17:00
20145210《信息安全系统设计基础》课程总结
周作业:了解linux操作系统,掌握核心的linux命令·第2周作业:熟悉Linux系统的开发环境,学会基本操作,掌握gcc编译器及gdb调试技术·第3周作业:计算机中各种数的表示和运算·第5周作业:学习
X86
20145210姚思羽
·
2016-12-24 20:00
内核基础---AT&T汇编与
x86汇编
的区别
1、深入Linux内核的前提因为以前学习过intel的
x86汇编
语言,所以本文就不在讲述汇编的基本语法了;内核绝大部分的代码都是用C和汇编语言实现的,要理解内核,C语言大部分的人都已经掌握了,接下来就得首先掌握汇编知识
汇天下豪杰
·
2016-12-23 11:35
汇编
AT&T
Linux内核
书籍推荐
书籍推荐:1、汇编:《windows环境下32位汇编语言程序设计》《windows环境下汇编语言程序设计》《80x86ibmpc及兼容计算机(卷ⅰ和卷ⅱ)——汇编语言、设计与接口技术(第4版)》《80
x86
TD_时缔
·
2016-10-30 22:16
IT经典书籍推荐
X86汇编
指令学习笔记
今天来扒一扒
X86汇编
指令(IA-32指令),首先看看它的概念:IA-32(IntelArchitecture32bit,英特尔32位体系架构)[1],属于X86体系结构的32位版本,即具有32位内存地址和
王二娃的生活
·
2016-09-27 21:16
汇编学习笔记
X86汇编
语言从实模式到保护模式(一)
不对请指正,欢迎交流基础知识单位换算:1Byte=8bit1KB=1024Byte1MB=1024KB1GB=1024MB寄存器8位寄存器可以容纳8比特(bit),或者说1个字节1byte=8bit,8个二进制数11111111->0xFF16位寄存器可以存放2个字节,也就是1个字,从右到左数,其中0~7是低字节,8~15是高字节32位寄存器可以放4个字节也就是一个双字,其中0~15是低字,16~
小小初行者
·
2016-08-21 22:13
GCC内联汇编基础
阅读本文需要您具备80
X86汇编
语言和C语言的基础知识。为了使中文描述更加清楚自然,翻译过程中加入了稍许解释和意译部分。简介版权/反馈/勘误/感谢等信息。[^1][^1
JeffreyLi
·
2016-07-05 14:38
通过调用门进行控制转移 ——《
x86汇编
语言:从实模式到保护模式》读书笔记29
通过调用门进行控制转移1.关于堆栈切换如果通过调用门把控制转移到了更高特权级的非一致代码段中,那么CPL就会被设置为目标代码段的DPL值,并且会引起堆栈切换。为什么要切换堆栈呢?原因有以下几点:1.因为栈段的特权级必须同CPL保持一致;2.防止高特权级程序由于栈空间不足而崩溃;3.防止低特权级程序通过共享的栈有意或无意地干扰高特权级程序。为了切换栈,每个任务除了自己的固有栈之外,还必须额外定义一套
u013490896
·
2016-05-10 22:00
调用门
从实模式到保护模式
堆栈切换
多线程编程问题
1.int变量操作的原子性
x86汇编
中,对任何内存地址中的1byte的读永远是原子的。可以总结为:在对齐的情况下,小于处理器位数的数据读取是原子的。
BusyLuo
·
2016-05-07 10:00
多线程
编程
代码段间转移控制时的特权级检查(JMP/CALL)——《
x86汇编
语言:从实模式到保护模式》读书笔记28
代码段间转移控制时的特权级检查(JMP或者CALL指令)在保护模式下,JMP或CALL指令可以用以下四种方法之一来引用另外一个代码段:1.目标操作数含有目标代码段的段选择子和偏移2.目标操作数指向一个调用门描述符3.目标操作数指向一个TSS4.目标操作数指向一个任务门后两种涉及任务的切换。本文仅对前两种进行讨论。1.直接调用或跳转到另一个代码段JMP、CALL、RET指令的近转移只是在当前代码段中
u013490896
·
2016-05-07 10:00
调用门
从实模式到保护模式
x86特权级
任务和特权级保护(一)——《
x86汇编
语言:从实模式到保护模式》读书笔记27
本文及后面的几篇文章是原书第14章的读书笔记。1.LDT(局部描述符表)在之前的学习中,不管是内核程序还是用户程序,我们都是把段描述符放在GDT中。但是,为了有效实施任务间的隔离,处理器建议每个任务都应该有自己的描述符表,称为局部描述符表LDT(LocalDescriptorTable),并且把专属于这个任务的那些段描述符放到LDT中。和GDT一样,LDT也是用来存放段描述符的。不同之处在于,LD
u013490896
·
2016-05-02 11:00
TSS
cpl
DPL
RPL
从实模式到保护模式
x86汇编
寻址理解
在cpu地址编码中,我以前接触过arm,avr的寻址方式,一般都是直接编码,地址映射就是地址总线的物理地址编码。而最近接触到IA32的汇编语言,感觉比arm复杂得多。所以做个学习笔记标记。在arm中,一般寻址都是在总线编码范围内寻址。而在x86中,分为实模式和保护模式,实模式是指在16为段地址编码下的寻址模式。因为intelcpu在最初的时候使用20位的地址总线,而寄存器只有16位,所以为了能够使
kuangxiaoshusheng
·
2016-04-29 15:11
程序的加载和执行(六)——《
x86汇编
语言:从实模式到保护模式》读书笔记26
程序的加载和执行(六)——《
x86汇编
语言:从实模式到保护模式》读书笔记26通过本文能学到什么?
u013490896
·
2016-04-16 12:00
汇编语言
条件汇编
从实模式到保护模式
X86汇编
基础
1.mov指令及几种内存寻址方式:寄存器模式(registermode),以%开头的寄存器标示符立即数(immediate):是以$开头的数值直接寻址(direct):直接访问一个指定的内存地址的数据间接寻址(indirect):将寄存器的值作为一个内存地址来访问内存变址寻址(displaced):在间接寻址之时改变寄存器的数值AT&T汇编格式与Intel汇编格式略有不同Linux内存使用的是AT
u013354805
·
2016-04-14 23:00
汇编
X86
程序的加载和执行(五)——《
x86汇编
语言:从实模式到保护模式》读书笔记25
程序的加载和执行(五)——《
x86汇编
语言:从实模式到保护模式》读书笔记25前面几篇博文终于把代码分析完了。这篇就来说说代码的编译、运行和调试。
u013490896
·
2016-04-13 22:00
汇编语言
从实模式到保护模式
汇编基础教程
汇编基础教程16位和32位的80
x86汇编
语言的区别需要注意的是汇编不是一种语言,不同平台有不同的汇编语言对应,因为汇编和操作系统平台相关,所以汇编语言没有移植性。
inwunwe
·
2016-04-07 00:38
程序的加载和执行(四)——《
x86汇编
语言:从实模式到保护模式》读书笔记24
程序的加载和执行(四)——《
x86汇编
语言:从实模式到保护模式》读书笔记24通过本文能学到什么?怎样跳转到用户程序用户程序通过调用内核过程完成自己的功能怎样从用户程序返回到内核接着上篇博文说。
u013490896
·
2016-03-27 11:00
程序的加载和执行(三)——《
x86汇编
语言:从实模式到保护模式》读书笔记23
程序的加载和执行(三)——读书笔记23接着上次的内容说。关于过程load_relocate_program的讲解还没有完,还差创建栈段描述符和重定位符号表。分配栈空间与创建栈段描述符462;建立程序堆栈段描述符 463movecx,[edi+0x0c];4KB的倍率 464movebx,0x000fffff 465subebx,ecx;得到段界限 466moveax,4096 467muldwor
u013490896
·
2016-03-26 18:00
读书笔记
汇编语言
从实模式到保护模式
如何构造栈段描述符
为了简化问题,设定约束条件如下:1.栈段向下扩展2.B=13.G=14.分页机制关闭问题分析:数据段描述符的格式如下如果你不懂各个字段的含义,可以参考我的博文:数据段描述符和代码段描述符(一)——《
x86
u013490896
·
2016-03-23 22:00
保护模式
栈段描述符
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他