大佬们,我用ceserver桥接扫到的模块是"libcos.so.1"+0009A880 可是我去掉后面这个0009A880他就没东西了,这是为什么呢?我不是特别理解
"libcos.so.1"+0009A880 >> 78XXXXXX
可是"libcos.so.1" >> 0
libcos.so 就可以指向一个地址,这俩有什么区别呀。
我在C++中用
[Asm] 纯文本查看 复制代码 long int get_module_cb(int pid, const char *module_name){
FILE *fp;
long addr = 0;
char *pch;
char filename[64];
char line[1024];
bool is = false;
int www=0;
snprintf(filename, sizeof(filename), "/proc/%d/maps", pid);
fp = fopen(filename, "r");
if (fp != NULL)
{
while (fgets(line, sizeof(line), fp))
{
if (strstr(line, module_name))
{
www+=1;
if(www==2){
is = true;
}
}
if (is)
{
if (strstr(line, "rw") != NULL && strstr(line, " 0 ") != NULL)
{
sscanf(line, "%lx", &addr);
break;
}
}
}
fclose(fp);
}
return addr;
}
读取模块地址,传入libcos.so之后有数据,传入libcos.so.1就没地址,这该怎么解决呢?
求求大佬们帮我解决一下
|