反汇编
IDA Pro Avanced
是一个极好的反汇编工具
IDA:
一个高效的反汇编工具
反汇编(Disassembly):把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机)、外挂技术、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助,在此过程中我们可以领悟到软件作者的编程思想。总之一句话:软件一切神秘的运行机制全在反汇编代码里面。 |
简单的说 |
“反汇编通俗讲就是把已编译的可执行文件通过处理还原为汇编代码,对于CPU来说,所有可执行文件的最终形式就是这一条条的汇编指令.” |
个人理解:
反汇编通俗讲就是把已编译的可执行文件通过处理还原为汇编代码,对于CPU来说,所有可执行文件的最终形式就是这一条条的汇编指令. |
汇编学习
进程和线程的区别(超详细)
进程与线程的区别总结 |
总结:
总结: |
机器码是什么
机器码指的是,将硬件序列号经过一系列加密、散列之后形成的一串序列号。一般情况下硬盘和CPU都有一个无法修改的识别码,这是为了防止盗版。 |
https://blog.csdn.net/lenhan12345/article/details/1493129
https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=%E6%B1%87%E7%BC%96%E8%8F%9C%E9%B8%9F
https://ctf-wiki.org/pwn/linux/stackoverflow/stack-intro/
bit、byte、位、字节、汉字的关系
字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。
一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间.
符号:英文标点2占一个字节,中文标点占两个字节.
1字节(Byte) = 8位(bit)
比特(Bit),亦称二进制位。新港台:位元
比特指二进制中的一位,是二进制最小信息单位。
1比特就是1位
字节
字节(Byte):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。
字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。
在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小
一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,如一个ASCII码就是一个字节,此类单位的换算为:
1千吉字节(TB,Terabyte)=1024吉字节(2的40次方字节)
(1TB=1024GB)
1吉字节(GB,Gigabyte)=1024兆字节(2的30次方字节)
(1GB=1024MB)
1兆字节(MB,Megabyte)=1024千字节(2的20次方字节)
(1MB=1024KB)
1千字节(KB,Kilobyte)=1024字节(2的10次方字节)(1KB=1024B)
1字节(Byte)= 8位(bit)
注:TB是现在电脑硬盘最大的存储量单位。10TB大约等于一个人脑的存储量。
更大的单位,还有 PB(Petabyte,1PB=1024TB)、EB(Exabyte,1EB=1024PB)、ZB(Zettabyte,1ZB=1024EB)、YB(Yottabyte,1YB=1024ZB)……
字符
字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列。公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。
针对公共语言运行库的应用程序使用编码将字符表式形式从本机字符方案映射至其他方案。应用程序使用解码将字符从非本机方案映射至本机方案。
电脑和通讯设备会使用字符编码的方式来表达字符。意思是指,会将一个字符指定给某个某西。传统上,是代表整数量的位元序列,如此,则可透过网络来传输,同时亦便于储存。两个常用的例子是ASCII和用于统一码的UTF-8。根据谷歌的统计,UTF-8是目前最常用于网页的编码方式。[1]相较于大部分的字符编码把字符对应到数字或位元串,摩斯密码则是使用不定长度的电子脉冲的序列来表现字符。
要弄清字符要想弄清字.你问什么是字符?那你怎么不问什么是字呢?字符就好像一个统称.
计算机中的位
二进制数系统中,每个0或1就是一个位(bit),位是数据存储的最小单位。其中8bit就称为一个字节(Byte)。计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位数据。
比特
1) 计算机专业术语,是信息量单位,是由英文BIT音译而来。二进制数的一位所包含的信息就是一比特,如二进制数0101就是4比特。
2)二进制数字中的位,信息量的度量单位,为信息量的最小单位。数字化音响中用电脉冲表达音频信号,“1”代表有脉冲,“0”代表脉冲间隔。如果波形上每个点的信息用四位一组的代码表示,则称4比特,比特数越高,表达模拟信号就越精确,对音频信号信号还原能力越强。
总结:
看了学到好多!
int是4个字节
一个字符(a)就是一个字节!!!
流量最开始是1KB=1024B
现在都是1TB 这里面的B就是字节!可以传输很多数据!
字符呢:
字符有很多,但是计算机怎么识别呢!:
Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列
如:
一个英语字符(a)!可以UTF-8 编码转换为8位二进制!这样计算机就可以识别了!
汉字可以UTF-16 编码将字符表示为 16 位二进制!
字符编码笔记:ASCII,Unicode 和 UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html