admin管理员组

文章数量:1530845

2024年3月27日发(作者:)

寻找网络游戏中CALL的教程

说一说一个简单的找call原理

其实游戏中的call是有一定规律的,这个规律是什么?

1、调用之前,必定有call名入栈,什么,不知道如何看堆栈有哪些内容。很简单啊,

按alt+k就看到了

2、系统进程空间,一般都可以忽略,那么,哪些是系统进程呢,我自己也分不太清,

但是NTDLL,USER32,WS_S32等一般都是系统进程空间,在od的状态栏上就可以分

辨出来。

举个例子:ZX中找死亡回程call

一、在弄死小号后,先下了 BP SEND指令,od中断下来,按ALT+K,看到的堆栈

情况是这样的:

地址 堆栈 函数过程 参数 调用来自 结构

029FFEC8 00572860 WS2_ elementc.0057285A

029FFECC 000006BC Socket = 6BC

029FFED0 06D1F2A8 Data = 06D1F2A8

029FFED4 00000003 DataSize = 3

029FFED8 00000000 Flags = 0

029FFEE8 00578BE7 包含elementc.00572860 elementc.00578BE4

029FFEF0 00578827 elementc.00578BB0 elementc.00578822

029FFF38 005785DE elementc.00578640 elementc.005785D9

029FFF48 00577128 包含elementc.005785DE elementc.00577125

二、然后F9让游戏正常,再回到游戏中,按下“回城”

三、od中断下来,再按alt+K,看到的堆栈是另外一个样子了:

地址 堆栈 函数过程 参数 调用来自 结构

0012F3B4 00581775 elementc.005898B0 elementc.00581770

0012F3C4 00583F75 elementc.00581740 elementc.00583F70

0012F400 005A8CF6 elementc.00583ED0 elementc.005A8CF1

0012F410 0057E701 elementc.005A8CD0 elementc.0057E6FC

本文标签: 堆栈网络游戏函数参数过程