哥卖身不卖艺 发表于 2024-7-23 16:07

call的地址不同电脑都不相同

找到一个寻路call 是 ·client.558F40·
使用代码注入器注入
···
push 148
push 08A
call 0558F40
···
能正常使用
但是不同电脑他地址都不同
都是 ·client.XX8F40·
各位老师,请问这个是什么原因呀。有没有关键字提示下。我去学习一下。

哥卖身不卖艺 发表于 2024-7-23 20:27

搞定了,通过特征码搜索找到call的相对偏移(rva) 是288f40 然后获取模块地址 + 288f40就是这个call的地址了..虽然我也不懂这个地址怎么来的.

byh3025 发表于 2024-7-23 16:26

可能是随机基址吧

fanvalen 发表于 2024-7-23 16:27

因为软件每次申请的内存地址都不是从起始点申请的啊,前面有其他软件申请的内存地址长度不一样,
要想找到call需要用特征码在该软件的地址范围内查询返回call的起点

lylswb 发表于 2024-7-23 16:30

估计是动态链接库调用的函数或数据的地址偏移量是8F40,你用内存扫描把这个偏移量都找出来看看,至于是否有其他可能我目前不清楚

JuncoJet 发表于 2024-7-23 16:43

正常现象,XP之后基本上都动态保护

bypassYing 发表于 2024-7-23 16:45

插眼 蹲个后续

xiejuelianai 发表于 2024-7-23 17:09

call,jmp,这些都是需要计算的,CALL后地址-CALL当前地址-5就是字节集了,或者那些用寄存器承接下,比如MOV EAX,123456,CALL EAX,这种的

哥卖身不卖艺 发表于 2024-7-23 18:45

郁闷死了,血量坐标的基址都找出来了,不同电脑也可以.但就是这个寻路Call憋死人啦.{:1_907:}

linuxdev 发表于 2024-7-23 20:03

现在系统都是虚拟基准地址,不像以前可以直接找函数入口。另外gcc现在默认都开了类似-fstack-protector和-fstack-protector-all的栈地址保护参数了。
页: [1]
查看完整版本: call的地址不同电脑都不相同