golang程序在编译时去掉了符号信息,怎么逆向

golang程序在编译时去掉了符号信息,怎么逆向,第1张

使用原始build编译的大小

6,107KB

通过去除部分连接和调试,build部分参数查看结果。

-a 强制编译所有依赖包。

-s 去掉符号信息

-w 去掉DWARF调试信息,得到的程序就不能用gdb调试了

不建议s和w同时使用。

go build -ldflags -w test.go

但是体积还是有点大

4,633KB

golang进行交叉编译

交叉编译即编译不同 *** 作系统平台的可执行程序

golang执行交叉编译,只需要使用两个变量

- GOOS:目标 *** 作系统 - GOARCH:目标 *** 作系统的架构

根据下面这个表格指定就行了。

其中386指的是32位系统

build命令的用法如下

usage: go build [-o output] [-i] [build flags] [packages]

-o指定文件名,中间可以加一些flag

如果是在linux下面编译win 64位程序,执行类似下面的命令即可。

GOOS=windows GOARCH=amd64 go build test.go -o t.exe


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12067438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存