最近看到找 call的新思路
本帖最后由 s1986q 于 2019-7-20 12:35 编辑原文链接:[已解决]小白学破解,OD找CALL的求助
例子自己下吧。
用ce 的谁修改了 找到 加减血的地址
od载入
alt+f9 向会看。call 地址
加减血都走一个地方,生成是call 地址不一样。
call 地址一直在变,发现后四位不变,是不是偏移量,在看程序的基址,
正好是前四位,搜索基址。
上ce:
搜到了,关闭程序。排除不少,选用是绿色的基址。//加血call
mov eax,
add eax,0x17F0
call eax
//01151840 55 push ebp
//00271840 55 push ebp
//减血call
mov eax,
add eax,0x1840
call eax
//血的基址
mov eax,
add eax,0x5014
不知道在别的pc机子正常运行。
不好意识上面的代码有问题:
重启电脑就没能用了。
77C7AC10地址改变了,也就是重定向了,跟踪到(ntd.dll+0xDAC10)指向程序的基址。
ntdll 内存管理,一个进程有很多个。
从程序内存获取的不是基址。
放弃。
我在网上发现直接获取程序的基址:
编写c语言代码如下,试试吧:
int ins=0;
_asm{
mov eax,fs:
mov eax,DWORD PTR
mov ins,eax
}
printf("\n%d\n",ins);
是程序的基址。
//加血call
mov eax,fs:
mov eax,DWORD PTR
add eax,0x17F0
call eax
//01151840 55 push ebp
//00271840 55 push ebp
//减血call
mov eax,fs:
mov eax,DWORD PTR
add eax,0x1840
call eax
//血的基址
mov eax,fs:
mov eax,DWORD PTR
add eax,0x5014获取进程基址:https://blog.csdn.net/gwzz1228/article/details/51436324
VC++6.0远程调用Call:https://blog.csdn.net/yeahhook/article/details/39861843
例子:
vc 6.0
程序注入源码:
源码程序注入的时注意:
编译成Release版本,注入程序崩溃。
好多call,用到这句:
mov eax,fs:
mov eax,DWORD PTR
没太看懂...但是看大概意思,应该是说你CALL的这个程序,有重定位! 我也没太看懂,,, 这个地址是固定不变的么,会不会重新定位什么的?能不能放出具体的实例看看。。也好学习学习 没有看懂.... 也没看懂………… {:1_909:} 讲的牛头不对马嘴 skyvicky 发表于 2019-7-19 09:49
这个地址是固定不变的么,会不会重新定位什么的?能不能放出具体的实例看看。。也好学习学习
我已更新,可以看看。
页:
[1]