在Go中挂钩系统调用

huangapple go评论87阅读模式
英文:

Hooking syscalls in Go

问题

我正在尝试使用Go语言来挂钩Linux中的fopen系统调用。

通常情况下,我会使用C语言来完成这样的任务(例如:https://stackoverflow.com/a/880278/5572976),但CTF要求解决方案必须使用Go语言编写。

我已经查看了syscall包,基本上我想在Go语言中使用以下代码:

dlsym(RTLD_NEXT, "open");

编辑:这里指的是open,而不是fopen。

英文:

I'm trying to hook the fopen syscall in linux using Go.

Normally I would use C for something like this (Example: https://stackoverflow.com/a/880278/5572976) but the CTF states that the solution needs to be written in Go.

I've looked at the syscall package and basically what I'm looking for is using the following in Go.

dlsym(RTLD_NEXT, "open");

EDIT: That's open, not fopen.

答案1

得分: 1

请尝试使用这个Go语言的运行时动态库加载器(dlopen / dlsym)

英文:

try this Runtime dynamic library loader (dlopen / dlsym) for Go (golang)

huangapple
  • 本文由 发表于 2015年11月18日 01:28:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/33763313.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定