能力值:
(RANK:10 )
|
-
-
2 楼
你得理解语句的语法, 之后去根据上下文判断目的. 你本来就不理解, 还要去试图做理解了之后才能做的事情, 当然会困惑.
放下手中的事情, 关了电脑, 买几本C和汇编的书看上一个月, 这是我的建议.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
按2F说的,看来我也得好好学习了。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢这位老师指点 如果mov ebp,esp之后 跳转到一个CALL中 陆续有几个POP和PUSH指令 我该怎么做 继续以ESP的内容作为寻找目标么 经过的POP和PUSH语句一律计算字节么 请您再教教我 感激不尽
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我的苦恼就是来自于这是个堆栈平衡语句 而跳入上一个call继续追 没有明确的mov lea 指令 这种情况是需要一路计算下去么
|
能力值:
( LV8,RANK:120 )
|
-
-
6 楼
OD 找基址,其实并不难,追数据的源头么,就是 esp+n 基本在上层CALL ,头部断下返回,继续跟,EBP+N 大都是 函数的局部变量,网上跟看看,反正找数据,从哪里跟丢的,就多注意看哪里,多搞几次,自然手到擒来,我没学过汇编,没看过书,反正就是找多了,这些就是经验之谈
|
能力值:
(RANK:10 )
|
-
-
7 楼
我不明白为什么进去个call就不知怎么找了. 没找过数据, 帮不了你了. 你说堆栈平衡, 通俗点就是还原esp嘛, c语言编译出来的代码都是会平衡堆栈的, 但是这不是强制的, 你完全可以不在函数内平衡堆栈, 只要用完把栈指针(esp)还原回去就行. 可能你看的不是常规的写法. 你可以用ida看看, 打开选项里的 stack pointer, 用法你可以写个简单的一系列push/pop的程序, 看看它列出的数字和栈指针的关系.
mov ebp, esp
保存的目的有两个, 一个是还原回去, 另个是方便用ebp引用堆栈上的数据.
push, pop
汇编写代码, 灵活性大, 可以不按规矩写, 但是要知道自己在干什么. 有时候一个函数内5个push, 2个pop, 你只要瞅着着栈指针(esp)就行了.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
喜欢您精辟的语句 朴实 实用 受教了 如果可以 让我做您的学生吧 再次感谢您的金玉良言
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我在很多时候不知道该在哪里跳到上一层call 在哪里不需要跳 另外追esp ebp时是不是就是追esp+n或者ebp+n的值的来源 正确的记录偏移方式的方法是什么 是直接拿esp+n或者 ebp+n取代 还是拿值取代
我总是自己弄来弄去就乱了 求指点下正确方式 越详细 越基本越好 再次谢谢指点我的各位老师
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
$ 55 push ebp
0042C7D1 . 8BEC mov ebp, esp
dd [[[0012F7C8+8]+15c]+2c]+5578 esp里面的值为0012F7C8
追ebp的值追到了上面语句断下来 push ebp 语句在栈中可以跳转到上一层call
0042C7D0
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
到了这里 我该选择哪个值 该怎么追 依据是什么 我纠缠好几天了也没弄明白所以然 求大家指点下 该怎么弄
|
能力值:
(RANK:10 )
|
-
-
12 楼
我是个菜逼, 回帖讨论下, 你说的大概是这个意思? 你在游戏中找数据, 如果你找到这个数据了, 在函数a中. 他是ebp+n指向的, 按你的意思, 你是要找它的来源呀, 很大可能是参数传进来的, 于是你找栈中的上个return, 叫他funcB, 那你就需要在funcB中看看传进去的哪个参数是你在a函数中找到的ebp+n的值, 一个一个对比就错了, 这是有技巧的, 不难, 搞明白函数如何处理栈帧的, 栈帧就是栈, 叫个帧大概就像游戏帧一样, 对于函数来说, 它是"一块一块"的.
正确记录偏移
找基址, 通俗点, 是找偏移吧. 通常游戏数据都是个结构, 这个结构的地址通常又是动态申请的, 随机的地址, new, alloc什么的. 这怎么记录, 没法记录, 但是偏移可以记录, 比如+4的地方他永远是代表血量? 如果你是指这个偏移, 找法肯定是先得有基址, 具体我不懂, 但是你看一些源码, 很多结构的域都是unknow的, 他是根据程序如何处理这个值的方式来判断了, 你喝包100的血, 这值就加100, 那肯定就是了.
好像都用ce ?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
谢谢唱哥的解答 很专业 很有帮助 遗憾的是我把悬赏给出去了 对不起了 唱哥 再次感谢您热心的帮助 谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
新手,目前还没能力帮到你。只能帮顶了。
|