m0nst3r's blog

Connecting to the server ...

逆向工程——汇编基础(五)

## 子程序 在汇编语言中,无门并不能像高级语言中那样,在不和程序其他部分起冲突的情况下,定义和其他主程序或子程序一样的变量名。 汇编语言并不注重程序员的负担,它依赖程序员的良好设计,以期发挥CPU的最佳性能。 汇编语言不是结构化的语言,它不提供直接的“局部变量”。如果需要,只能`通过堆或栈自行实现`。 参数的传递是靠`寄存器`或`堆栈`来完成的。高级语言中,子程序(函数/过程,...

m0nst3r 2017 年 11 月 22 日 暂无评论

逆向工程——汇编基础(四)

[TOC] ## 堆栈 ### 基本概念 1. 堆栈是一个先进后出(FILO)的线性表 `FILO`是指:`最后`放进表中的数据在`取出`时,`最先`出来,即 Fist in Last Out。 ![3rd_1.png](http://m0nst3r.me/usr/uploads/2017/11/3463317631.png) 2. 系统堆栈不仅仅是一段内存。 由于CP...

m0nst3r 2017 年 11 月 20 日 暂无评论

逆向工程——汇编基础(三)

[TOC] 参考文档:《简明 x86 汇编语言教程》作者:司徒彦南 ##操作内存 我们可以将内存想象为一个顺序的字节流。操作内存是,首先需要的就是他的地址。 ``` mov ax,[0] ``` `方括号`表示,里面的表达式指定的不是`立即数`,而是`偏移量`。在是模式中,`DS:0`中的那个`字`会被装入AX。 ``` mov [0],ax ``` mov指令也可...

m0nst3r 2017 年 11 月 15 日 暂无评论

逆向工程——汇编基础(二)

[TOC] 参考文档:《简明 x86 汇编语言教程》作者:司徒彦南 ##使用寄存器 对x86基本寄存器的认识,对于一个汇编语言编程人员来说是不可或缺的。 ###汇编语言中的整数常量表示 ####十进制整数 这是`汇编器`默认的数制。直接用我们熟悉的表示方式表示即可。例如,1234表示十进制的1234。不过,如果你指定了使用其他数制,或者有凡事都进行完整定义的习惯,也可以写...

m0nst3r 2017 年 11 月 13 日 暂无评论

逆向工程——汇编基础(一)

[TOC] 参考文档:《简明 x86 汇编语言教程》作者:司徒彦南 ##什么是汇编 汇编语言是一种最接近计算机核心的编码语言。不同于任何高级语言,汇编语言几乎可以完全和机器语言一一对应。 汇编语言就是机器语言的一种可以被人读懂的形式,只不过它更容易记忆。 ##学习汇编语言,你需要 1。 胆量。不要害怕去接触那些计算机内部工作机制。 2。 知识。了解计算机常用的数制,特别...

m0nst3r 2017 年 11 月 12 日 暂无评论