小白求教。
求大神解答每一个箭头指的地方 代表什么意思,还有这个dq的英文全称

Directive | Purpose | Storage Space |
---|---|---|
DB | Define Byte | allocates 1 byte |
DW | Define Word | allocates 2 bytes |
DD | Define Doubleword | allocates 4 bytes |
DQ | Define Quadword | allocates 8 bytes |
DT | Define Ten Bytes | allocates 10 bytes |
你的图打不开
谢谢 这正是我需要的
我这里开了几个代理都能正常打开
后面我把 V关了 ,可以看到,
谢谢你
br x8请先学习arm64汇编
xref是指这个地方有别的代码引用
嗯, 好的 谢谢大佬
小白回答:
这个是标准库里的函数把。标准库是静态库。 是链接的时候就被拼二进制里了,fishhook只能hook lazy_bind的。
推荐看一下《 程序员的自我修养,链接装载和库》。
我好像说错了,其实我也不是很确定。。。
请贴完整代码
typedef char * (*strstr_ptr_t)(const char*, const char*);
static strstr_ptr_t orig_strstr = NULL;
char *my_strstr(const char* s1, const char* s2);
char *my_strstr(const char* s1, const char* s2){
return orig_strstr(s1, s2);
}
CHConstructor{
struct rebinding bind;
bind.name = "strstr";//要HOOK系统函数的函数名称
bind.replacement = my_strstr;//新的函数去替换系统的
bind.replaced = (void *)&orig_strstr;//把真正的地址保存到orig
struct rebinding rebs[] = {bind};
rebind_symbols(rebs, 1);
}
完整代码如上
大佬 ,您有空也帮我看下哦
typedef char * (strstr_ptr_t)(const char, const char*);
static strstr_ptr_t orig_strstr = NULL;
char my_strstr(const char s1, const char* s2);
char my_strstr(const char s1, const char* s2){
return orig_strstr(s1, s2);
}
CHConstructor{
struct rebinding bind;
bind.name = “strstr”;//要HOOK系统函数的函数名称
bind.replacement = my_strstr;//新的函数去替换系统的
bind.replaced = (void *)&orig_strstr;//把真正的地址保存到orig
struct rebinding rebs[] = {bind};
rebind_symbols(rebs, 1);
}
完整代码如上
运行会蹦

回帖我们能看到不用回两遍
嗯嗯 ,请帮我看下这个问题