能力值:
( LV2,RANK:10 )
|
-
-
2 楼
golang有自己的go abi,函数调用不遵从stdcall什么的得自己兼容(应该) 这里有说具体的调用约定 https://go.googlesource.com/go/+/refs/heads/dev.regabi/src/cmd/compile/internal-abi.md
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
3 楼
go 语言的语法很好
|
能力值:
( LV1,RANK:0 )
|
-
-
4 楼
EX呵呵
golang有自己的go abi,函数调用不遵从stdcall什么的得自己兼容(应该)
这里有说具体的调用约定 https://go.googlesource.com/go/+/refs/heads ...
大哥,那有什么办法能实现这个功能吗,当函数执行完后获取rax地址,也能修改
|
能力值:
( LV1,RANK:0 )
|
-
-
5 楼
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
6 楼
我觉得Google还没有那套防HOOK的尖端技术,估计,是你计算跳转地址的算法有问题,呵呵
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
AL10000
我觉得Google还没有那套防HOOK的尖端技术,估计,是你计算跳转地址的算法有问题,呵呵
你尝试下,我觉得就是函数调用不遵从stdcall,用的是 abi,我已经尝试了多次了,不管是哪个位置,只要hook了,就有垃圾代码,程序是自己用go写的demo
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
8 楼
ACT忆梦
你尝试下,我觉得就是函数调用不遵从stdcall,用的是 abi,我已经尝试了多次了,不管是哪个位置,只要hook了,就有垃圾代码,程序是自己用go写的demo
我觉得如果你想要跳转到有效Call地址:7ff78f55f580 还是想要跳转到一个未知数据的地址:7ff78eaf0008 呢?!再有,JMP只能跳转4G以内的地址范围,建议在x64的环境下使用类似‘ret’大于4G地址范围的指令来进行“跳转”。
|
能力值:
( LV1,RANK:0 )
|
-
-
9 楼
AL10000
我觉得如果你想要跳转到有效Call地址:7ff78f55f580 还是想要跳转到一个未知数据的地址:7ff78eaf0008 呢?!再有,JMP只能跳转4G以内的地址范围,建议在x64的环境下使用类似 ...
可能说的不是我这个问题吧,我使用的是frida 进行hook,我要hook的目标地址是 7ff78f55f580 ,图片上已经显示了 jmp 了,而跳转到的地址是 frida 进行内存申请的地址,里面本应该写的是函数执行完后获取rax寄存器的地址,但我进去看jmp后的地址,发现并不是一个正常的代码执行流程,反而有垃圾代码的存在
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
10 楼
ACT忆梦
可能说的不是我这个问题吧,我使用的是frida 进行hook,我要hook的目标地址是 7ff78f55f580 ,图片上已经显示了 jmp 了,而跳转到的地址是 frida 进行内存申请的地址,里面 ...
不是吧,你看看左边的地址栏,你明明Hook的虚拟地址地址是00007ff78f56bee2呀,哪里是7ff78f55f580了
|
能力值:
( LV1,RANK:0 )
|
-
-
11 楼
AL10000
不是吧,你看看左边的地址栏,你明明Hook的虚拟地址地址是00007ff78f56bee2呀,哪里是7ff78f55f580了
说错了哈,我hook的就是00007ff78f56bee2,jmp跳转后的是 7ff78f55f580,就是这里面的代码不正常
|
能力值:
( LV1,RANK:0 )
|
-
-
12 楼
AL10000
不是吧,你看看左边的地址栏,你明明Hook的虚拟地址地址是00007ff78f56bee2呀,哪里是7ff78f55f580了
你不信可以用go写个demo,再用frida进行hook,会跟我同样的问题
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
13 楼
ACT忆梦
你不信可以用go写个demo,再用frida进行hook,会跟我同样的问题
估计,你用的HOOK库有问题,反正计算出的跳转地址不对,跳转到了一个未知的数据地址而不是call 7ff78f55f580 的地址,你可以参考下看雪论坛以往的帖子里面有关HOOK地址计算的算法
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
14 楼
ACT忆梦
你不信可以用go写个demo,再用frida进行hook,会跟我同样的问题
当然,如果你不是测试HOOK跳转到call地址,而是跳转到你申请的内存地址显示的是乱码的话可能是没有初始化内存,你可能也没有写入shellcode,建议跳转到自己编写好的模块函数地址。
|
能力值:
( LV1,RANK:0 )
|
-
-
15 楼
AL10000
当然,如果你不是测试HOOK跳转到call地址,而是跳转到你申请的内存地址显示的是乱码的话可能是没有初始化内存,你可能也没有写入shellcode,建议跳转到自己编写好的模块函数地址。
你想到的这些我也有想到,但都不是,你可以试试
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
ACT忆梦
大哥,那有什么办法能实现这个功能吗,当函数执行完后获取rax地址,也能修改
实在不行你拿go写个函数做hook吧
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
你参考Monkey Patch做呗
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
18 楼
ACT忆梦
你想到的这些我也有想到,但都不是,你可以试试[em_051]
golang程序我尝试用frida在mac下hook获取 IOPlatDeviceUUID都无法spawn,提示正在spawn程序都启动完了,还没开始hook = =至今都没想到好办法
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
19 楼
以前试过是可以用frida成功hook到的
|
|
|