call的地址不同电脑都不相同
找到一个寻路call 是 ·client.558F40·使用代码注入器注入
···
push 148
push 08A
call 0558F40
···
能正常使用
但是不同电脑他地址都不同
都是 ·client.XX8F40·
各位老师,请问这个是什么原因呀。有没有关键字提示下。我去学习一下。 搞定了,通过特征码搜索找到call的相对偏移(rva) 是288f40 然后获取模块地址 + 288f40就是这个call的地址了..虽然我也不懂这个地址怎么来的. 可能是随机基址吧 因为软件每次申请的内存地址都不是从起始点申请的啊,前面有其他软件申请的内存地址长度不一样,
要想找到call需要用特征码在该软件的地址范围内查询返回call的起点 估计是动态链接库调用的函数或数据的地址偏移量是8F40,你用内存扫描把这个偏移量都找出来看看,至于是否有其他可能我目前不清楚 正常现象,XP之后基本上都动态保护
插眼 蹲个后续 call,jmp,这些都是需要计算的,CALL后地址-CALL当前地址-5就是字节集了,或者那些用寄存器承接下,比如MOV EAX,123456,CALL EAX,这种的 郁闷死了,血量坐标的基址都找出来了,不同电脑也可以.但就是这个寻路Call憋死人啦.{:1_907:} 现在系统都是虚拟基准地址,不像以前可以直接找函数入口。另外gcc现在默认都开了类似-fstack-protector和-fstack-protector-all的栈地址保护参数了。
页:
[1]