突然又对 Go 感兴趣,GOPATH entry cannot start with shell metacharacter 错误

发布时间:2024年01月12日

打发无聊时间,水文一篇~

在这里插入图片描述

事情是这样的,因为我们上架的渠道包基本是定制化混淆出包,

混淆出包有一个关键点就是指定映射文件,映射文件的内容有一部分是使用外部工具在打包前按照一定规律随机生成包名、类名,

这里使用的外部工具可以是 golang 编写的 exe 程序,映射文件内容类似 Android mapping.txt。

举个例子:

渠道包提审自动化检测通常是不允许包体存在第三方插件或危险代码。

1、广告插件,上架荣耀商店是不允许包体存在其他平台的广告插件。

2、危险代码,上架国内某平台是不允许包体存在诸如 weishu、xposted 等带有危险特征的代码。

所以,定制化混淆出包、加固出包上架提审一定程度上可以躲避自动化检测。

那么我的问题是:测试反馈映射文件随机生成的字符(包名、类名)总是存在敏感字符,影响出包效率,影响提审。

如某平台机审核把 weishu 判定为敏感字符,若包体带有该字符去提审有可能被拒审打回,出包之后就要确保包体不存在危险敏感字符,

希望能够确保映射文件的映射值不存在敏感字符(因为之前反馈的敏感字符基本是因为类映射导致的),

因此我的任务是接受映射文件生成工具,优化随机生成的映射值,确保不存在敏感字符,

需求很简单,最终优化修改、新增的代码不多,工具是使用 Go 编写的,上一次接触这个语言还是在大学那会,对此学习和已掌握的知识不对,

“语言知识工具、技能”,有了良好的编程思维,接触一门新语言还是相对轻松的,那就现学现卖完成了优化需求,

回到家猛一抬头心想:我是不是对 Go 又有了一点点兴趣?趁着现在的无聊时间,不如打开电脑重新拾起!

我对 Go 又有了兴趣~

学习新语言先看官方文档是个不错的切入点

Go 中文学习文档

1、下载 go sdk Go sdk all release

我下载的是 Mac ARM64

2、下载开发工具

我还是选择 vscode,golang 虽然很好用但是收费,破解版、激活这些活不想折腾,vscode 轻量好用

3、运行确认环境正确

其实整篇文章只想提这一点,其他都是在水文,运行第一个 go 程序报错了,在 vscode 上遇到一个小问题。

在这里插入图片描述

GOPATH 配置有问题?我可是傻瓜式直接安装下载的 go sdk,一路 next,这也能报错!

go: GOPATH entry cannot start with shell metacharacter ‘~’

go: GOPATH条目不能以shell元字符“~”开头

在终端执行 go env 也是这个错误,查一下环境变量 GOPATH 看看具体是啥,
在这里插入图片描述
在这里插入图片描述

自我感觉没啥不对劲,PATH 也不存在什么以 ~ 开头的字符,尝试下把 GOPATH 前面的 ${PATH} 去掉试试看,修改并保存之后使配置生效执行 source .bash_profile

在这里插入图片描述

关闭 vscode 重新打开没有再提示 GOPATH 错误,在终端运行 go env 也没有错误并输出正常的信息,看来这次尝试偶然解决了运行失败的问题(罗.jpg)。

在这里插入图片描述

写代码配阿里通义灵码也蛮不错,不懂就问~

那就这样吧,在无聊时光中不知道干什么好,刷短视频 ,就找点事情做,人总不能太闲吧~

文章来源:https://blog.csdn.net/printf123scanf/article/details/135541737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。