自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 反汇编角度理解函数调用机制

作为一个程序员,对自己写的程序,不仅要知其然,还要知其所以然。

2022-10-08 18:11:21 701 1

原创 深入理解计算机系统 --- 异常控制流

现代系统通过使控制流发生突变 来对这些情况做出反应 一般而言,我们把这些突变称为 异常控制流(Exception Control Flow, ECF) 异常控制流发生在计算机系统的各个层次 在硬件层,硬件检测到的事件会出发控制突然转移到异常处理程序 在操作系统层,内核通过上下文切换从一个用户进程转移到另一个用户进程 在应用层,一个进程可以发送信号到另一个进程,而接收者会将控制突然转移到它的一个信...

2019-11-09 15:55:51 2150

原创 深入理解计算机系统 --- 链接

本章目的: 提供了关于链接各方面的全面讨论,从传统静态链接到加载时的共享库的动态链接,以及到运行时的共享库的动态链接 链接(linking)是将各种代码和数据片段收集并组合成一个单一文件的过程 这个文件可被加载(复制)到内存被并执行 链接可以执行于编译时,也就是在源代码被翻译成机器代码时 也可以执行于运行时,也就是应用程序执行 在早期,链接是手动执行的,在现代系统中,链接是由叫做链接器(linke...

2019-11-05 22:07:07 829

原创 深入理解计算机系统 --- 处理器体系结构

本章目的:简要介绍处理器硬件的设计,研究一个硬件系统执行某种ISA指令的方式 到目前为止,我们看到的计算机系统只限于机器语言程序级 我们知道处理器必须执行一系列指令,每条指令执行某个简单操作 指令被编码为一个或多个字节序列组成的二进制格式 一个处理器支持的指令和指令的字节级编码称为它的指令集结构(ISA) 不同处理器家族,都有不同的ISA,一个程序编译成一种机器上运行,就不能在另一种机器上运行 I...

2019-10-28 18:41:50 3887

原创 深入理解计算机系统 --- 程序的机器级表示

推荐一本书《C++反汇编与逆向分析技术揭秘》 业精于勤而荒于嬉,行成于思而毁于随。 3.程序级的机器表示 计算机执行机器代码,用字节序列编码低级的操作 编译器基于编程语言的规则、目标机器的指令集和操作系统遵循的惯例 经过一系列的阶段生成机器代码 GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示 然后GCC调用汇编器和链接器,根据汇编代码生产可执行的机器代码 高级语言(如J...

2019-10-23 20:21:11 2954 1

原创 深入理解计算机系统 --- 信息的表示和处理

第一章对计算机做了个总体的介绍 接下来是深入讲解每个部分 本章研究在计算机上如何表示数字和其他形式的数据的基本属性 以及计算机对这些数据执行操作的属性 这章我只是简单的过一下 下一章 程序的机器级表示 会非常详细 苦心人、天不负,卧薪尝胆,三千越甲可吞吴 2.信息的表示和处理 现代计算机存储和处理的信息以二值信号表示,二进制数字或称为位(bit) 当构造存储和处理信息的机器时,二进制值工作得更好 ...

2019-10-19 20:54:51 841

原创 深入理解计算机系统 ---计算机系统漫游

本书的目的: 了解你在系统上执行hello程序时,系统发生了什么 以及 为什么会这样。 (这句话的背后,隐藏了不为人知,令人抓狂的故事) 1.1 信息就是上下文 + 位 计算机系统是由硬件和系统软件 组成的,它们共同工作来运行应用程序。 源程序(hello.c)就是由0和1组成的位(bit,又称为比特)序列,8个位被组织成一组,成为字节。每个字节表示程序中的某些文本字符。 8bit = 1b...

2019-10-16 17:59:22 701

原创 Crackme #1

nop破解 上OD,字符串搜索,直接搜索提示错误的字符串然后找到这个位置 往上边找一下发现是跳转来的,直接nop就可以成功破解。 序列号生成分析 找到函数头,一段执行排除没什么用的操作,发现到了这个函数 查看返回值EAX,发现是获取输入的用户名长度 在来分析下边的指令,将用户名长度乘以0x17CFB 执行的那个CALL是获取用户名第一个字符的数值 后边是将乘以的值再加上第一个字符的数值 中...

2019-09-18 18:04:27 940

原创 Crackme 第一个

NOP破解 输入姓名,序列号,先输入一个假的看看效果。 好的,注意这串字符串,说明我们的序列号错误, 由程序给的直观的一目,跟输入账号密码一样,一个判断,之后你懂。 载入OD,搜这串字符串,再查看反汇编。 直观可见,上边有一个JNZ跳转,把它NOP,就成功破解了。 序列号生成分析 查看JNZ上边的CALL 发现是一个比较,第一个PUSH是我们输入的序列号,第二个PUSH正确的序列号 那这些...

2019-09-17 18:40:00 307 1

空空如也

空空如也

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

TA关注的人

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