播布客小甲鱼出的软件破解之od(ollydbg)逆向调试+Win32汇编教程资料如题 谢谢了

播布客小甲鱼出的软件破解之od(ollydbg)逆向调试+Win32汇编教程资料如题 谢谢了,第1张

小甲鱼Win32汇编视频教程目录 WIN32编程必须了解的基础知识01 WIN32编程必须了解的基础知识02 WIN32编程必须了解的基础知识03 WIN32编程必须了解的基础知识04 WIN32编程必须了解的基础知识06 WIN32汇编学习班(第一讲) 第一个程序(Win32可执行文件的开发全过程) 。。。。。。。。。。。。。。。。 教程地址: >

程序都是以函数为一个单位。函数内的多条代码使函数完成了特定的功能,在分析当中也是以一个函数作为一个分析单位。在分析时,应当尽可能多的分析出这个函数所完成的具体功能。

反汇编中的函数一般都有如下格式:

11 第一种函数格式

push ebp

mov esp,ebp

pop ebp

ret

12 第二种函数格式

这种函数没有特定的格式,但可以肯定是在函数的末尾肯定有ret语句。

2、识别函数的返回值,形参,局部变量

函数一般是使用eax寄存器来保存返回值。但是一些编译器可能用其他的方式来传递返回值,因此,在分析程序的前期,需要确定该程序是用什么编译器进行编译的(通过PEId可以产看),才能确定其返回值是用什么方式进行传递的。

函数的形参个数可以通过函数平衡多少字节的栈空间来推理出。因为存在着许多的传参方式,所以这种方法并不是绝对正确的,因此要先观察出一个函数的传参方式是何种方式。

和函数的传参方式息息相关的函数调用方式:

不同的调用方式平衡堆栈的方式是不同的。C方式调用时,是调用者进行堆栈平衡。传参时,一般是自右往左将实参入栈。在32位下实参一般是4个字节一个,但也有例外的情况(比如传递一个结构体变量)。

在平衡堆栈时,一般是在函数调用语句后由调用者平衡堆栈。 

例如:

call fun ; 调用一个函数

add esp , 4 ; 平衡堆栈

stdCall 是被调用自己平衡

stdCall方式调用时, 形参入栈的方式和 C方式相同, 不同就在于平衡堆栈的形式 std方式调用是由被调用的函数自己本身来平衡堆栈也就是在函数返回的时候平衡堆栈

ret 0x4 // stdCall平衡堆栈的实例

如果函数传入形参每个都是 4个字节的, 那么就可以算出有多少个形参公式就是 :

形参个数 = 平衡堆栈用到的字节数 / 4

函数形参在汇编语言中随着调用方式不同其表现形式也跟着不同

C方式和 std方式调用时,形参的表现形式为: [ebp+8] ,即 ebp+一个数字去索引

以上就是关于播布客小甲鱼出的软件破解之od(ollydbg)逆向调试+Win32汇编教程资料如题 谢谢了全部的内容,包括:播布客小甲鱼出的软件破解之od(ollydbg)逆向调试+Win32汇编教程资料如题 谢谢了、学习反汇编,程序逆向分析等需要掌握哪些知识、怎么才能看懂逆向代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9868308.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存