Go语言程序调试

1. Go语言二进制程序分析
   在分析一些使用GOlang语言进行编译的恶意程序时,由于程序在被打包成二进制程序时会打包诸多引用的库,并且作者对二进制程序进行了去符号化,导致在动态或是静态分析时函数过多而不便于跟踪。
   而如果GO编译成的二进制程序并未进行去符号化,那么在IDA中进行分析时,几乎可以相当于看源码了。所以只要将去符号的程序进行符号恢复,那么之后调试时就十分方便了。
   可以使用Github上的ida py脚本IDAGolangHelper,关于Go程序恢复符号的资料:[https://2016.zeronights.\ru/wp-content/uploads/2016/12/GO_Zaytsev.pdf](https://2016.zeronights. ru/wp-content/uploads/2016/12/GO_Zaytsev.pdf),主要就是为了确认Go语言程序特有的.gopclntab段位置,中文可以参考以下https://www.freebuf.com/articles/others-articles/176803.html

   另外还可以使用Redress对程序包结构进行分析。

2. 加密函数

EnryptOAEP/DecryptOAEP
OAEP通过散列函数进行参数化,散列函数用作随机预言器。给定消息的加密和解密必须使用相同的散列函数,sha256.New() 是一个合理的选择。
随机参数(如果不是零)用于隐藏私钥操作并避免定时旁信道攻击。盲目性仅限于此函数 - 随机数据不需要与加密时使用的数据相匹配。
标签参数必须与加密时给出的值匹配。

猜你喜欢

转载自www.cnblogs.com/zUotTe0/p/12731785.html