提问:在 Linux 环境中运行的 go 二进制文件, 可以用什么工具 hook 呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lzy250
V2EX    信息安全

提问:在 Linux 环境中运行的 go 二进制文件, 可以用什么工具 hook 呢

  •  
  •   lzy250 2023-10-18 19:30:51 +08:00 via iPhone 3050 次点击
    这是一个创建于 728 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经通过 IDA 反编译拿到了函数名,但实在不知道还后续该如何 hook ,有哪位师傅能给点提示吗?

    第 1 条附言    2023-10-23 08:58:56 +08:00
    #2023/10/21 已解决。
    之前尝试修改变量的思路有问题,后面用 dlv 调试了几次梳理了下解密逻辑,确定了加密用的的 CBC 模式、padding 方式和 aes_key ,正向手搓出来 license 了。
    13 条回复    2023-10-19 19:30:44 +08:00
    yuan1028
        1
    yuan1028  
       2023-10-18 19:54:41 +08:00 via Android
    dlv
    lzy250
        2
    lzy250  
    OP
       2023-10-18 20:09:02 +08:00 via iPhone
    @yuan1028 我试下。
    virusdefender
        3
    virusdefender  
       2023-10-18 23:32:52 +08:00
    gdb 或者 dlv 之类的调试器,其他的就是偏代码注入的,可以参考下 https://github.com/bytedance/Elkei/tree/main/rasp/golang
    ysc3839
        4
    ysc3839  
       2023-10-19 00:40:39 +08:00 via Android
    inline hook
    moooonb
        5
    moooonb  
       2023-10-19 00:56:36 +08:00
    frida ,ebpf (bcc)
    learningman
        6
    learningman  
       2023-10-19 02:32:57 +08:00 via Android
    ptrace 呗,go 除了默认静态链接没啥不同的,就是一堆 runtime 调用比较乱,还有内置的 strip 不掉的符号
    lzy250
        7
    lzy250  
    OP
       2023-10-19 09:41:14 +08:00 via iPhone
    感谢,我再去试下上面的方式,有结论了 append 。
    smartdone
        8
    smartdone  
       2023-10-19 15:54:13 +08:00
    frida
    lzy250
        9
    lzy250  
    OP
       2023-10-19 17:27:06 +08:00
    打断点已经找到了这个 locals 对应的值,但是通过 set 无法修改这个结构体中变量的值, 请教下 dlv 是不能修改某个变量的值吗?
    @yuan1028
    lzy250
        10
    lzy250  
    OP
       2023-10-19 18:11:12 +08:00
    修改 int 类型的可以成功,但是修改字符串类型时就报错了。
    Command failed: literal string can not be allocated because function calls are not allowed without using 'call'
    lzy250
        11
    lzy250  
    OP
       2023-10-19 18:37:12 +08:00
    @lzy250 Delve 的 Set 仅允许数字类型和指针。。。https://pkg.go.dev/github.com/go-delve/delve/service/rpc2#RPCServer.Set
    yuan1028
        12
    yuan1028  
       2023-10-19 19:22:57 +08:00 via Android   1
    @lzy250 是的… dlv 我也是 debug 用的多,没用过 set 修改变量
    lzy250
        13
    lzy250  
    OP
       2023-10-19 19:30:44 +08:00
    @yuan1028 我明天再试下 ptrace 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5631 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 03:14 PVG 11:14 LAX 20:14 JFK 23:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86