二进制炸弹是第三章《程序的机器级表示》的配套实验,这章主要介绍了x64汇编,包括:操作数的表示方式,数据传送指令,算术和逻辑指令,控制流跳转指令,过程(procedure)的实现与运行时栈帧,C语言中的数组,struct,union以及浮点数的汇编表示等。通过这章的学习,对C有了更深的理解,可以看出... ...
分类:
移动开发 时间:
2019-12-22 12:39:43
阅读次数:
148
(以下内容还未整理好,谨慎观看哈哈哈) 前言知识: 主存储器:是整个存储系统的核心,它用来存放计算机运行期间所需要的程序和数据,CPU可直接随机地对它进行访问。 (主存地读写操作是在控制器地控制下进行的,只有接收到来自控制器地读写命令或写允许后,才能实现正确地读写操作) CPU:是整个计算机地核心, ...
分类:
其他好文 时间:
2019-12-22 12:28:20
阅读次数:
110
"x86" / "amd64" 汇编指令的两大风格分别是 "Intel" 汇编与 "AT&T" 汇编,分别被 "Microsoft Windows" / "Visual C++" 与 "GNU" / "Gas" 采用(Gas也可使用Intel汇编风格): | 项目 | Intel风格 | AT&T风 ...
分类:
其他好文 时间:
2019-12-20 22:38:22
阅读次数:
107
寻址就是用一个数字表示一个字节存储单元的地址,而不是表示这个存储单元中的内容,所以不用乘以8. 1、 1个CPU的寻址能力为8KB,那么它的地址总线宽度是多少? 8*1024=8192 共有8192个房间 想找到找到最大房间 需要多少根地址总线 2^n=8192 n=13 1个CPU的寻址能力为16 ...
分类:
编程语言 时间:
2019-12-20 22:30:41
阅读次数:
161
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! ...
分类:
编程语言 时间:
2019-12-20 10:24:38
阅读次数:
93
1. 前言 本文主要阐述C语言socket api追踪至系统调用的详细过程。追踪过程分为用户态的追踪和内核态的追踪。 目录 用户态追踪 系统调用定义 系统调用初始化的过程 系统调用的执行过程(以socket为例的证明过程) 内核态追踪 分析replyhi和hello程序 gdb跟踪 sys_sock ...
分类:
其他好文 时间:
2019-12-19 21:39:44
阅读次数:
155
以STM32平台为例,该单片机的ARM Cortex-M系列内核正是被QP长期支持,所以QP在ARM Cortex-M系列内核上已经有长时间的应用验证。 在配套书籍PSICC2中的例程为QP最原始的版本4.0.00(只有IAR例程,当然,可以修改汇编文件qk_port.s使适用于其他编译器),当前( ...
分类:
其他好文 时间:
2019-12-18 15:11:46
阅读次数:
110
[TOC]目录:一引子二编程语言分类:2.1机器语言2.2汇编语言2.3高级语言2.3.1编译型(如C语言)2.3.2解释型(如Python)2.4总结#一引子?基于上一章所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序。?本章的主题是先带大家了解下编程语言,然后重点介绍python这门编程语言插图:恶搞
分类:
编程语言 时间:
2019-12-18 11:09:33
阅读次数:
80
断点介绍: shark恒老师说有四种说法,但是其实都是相同的 第一个读法:普通断点 第二个读法:F2断点 第三个读法:INT3断点( int3其实就是汇编指令 ) 第四个读法:CC断点 (CC其实就是断点时候的十六进制的数据) 断点的实现: 1、载入OD找到以下地址进行断点,然后进行运行,发现运行到 ...
分类:
其他好文 时间:
2019-12-17 22:24:27
阅读次数:
114
直接载入OD,观察发现弹窗可能为MessageBox,那么进行对windows api函数的搜索 跟进反汇编窗口跟随函数,来到这里,直接进行断点操作 运行程序,跑到断点处,如下图 接着发现堆栈窗口有调用CALL,这个call自然是MessageBox的函数,那么直接反汇编窗口对这个call进行跟随, ...
分类:
其他好文 时间:
2019-12-17 20:27:24
阅读次数:
96