内容简介:所需工具:ida pro,IDAGolangHelper,easyGo程序将程序拖入对应位数的IDA中观察函数窗口,可以很容易的看出来,程序进行了无符号处理,Google翻阅资料,查看无符号golang逆向技巧,找到IDAGolangHelper这一脚本(项目地址在文章最下方)
所需工具:
ida pro,IDAGolangHelper,easyGo程序
将程序拖入对应位数的IDA中观察函数窗口,可以很容易的看出来,程序进行了无符号处理,Google翻阅资料,查看无符号golang逆向技巧,找到IDAGolangHelper这一脚本(项目地址在文章最下方)
接下来,我们打开脚本(文件-脚本文件)找到IDAGolangHelper脚本所在的文件,打开,选中rename function 后选择 go 版本,默认是Go1.2,然后点确认,发现函数窗口变成了我们能够理解的函数名
接下来,找到main_main函数,F5得到伪代码,分析伪代码逻辑得到其使用的算法
gdb动态调试一波,看base加密是给谁解密,是我们输入的值,亦或是程序自带的值,以及其自定义的编码表(base系列加密的原理,这里就不深究了),动态调试知道到了需要解密的字符串以及编码表
继续运行程序,到0x4952eb后即可发现flag
用py脚本自定义base64加密,解得flag
import string import base64 flag = 'tGRBtXMZgD6ZhalBtCUTgWgZfnkTgqoNsnAVsmUYsGtCt9pEtDEYsql3' std_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" my_table = "6789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345" flag = flag.translate(string.maketrans(my_table,std_table)) print base64.b64decode(flag)
IDAGolangHelper项目地址
https://github.com/sibears/IDAGolangHelper参考链接
无符号Golang程序逆向方法解析 https://www.anquanke.com/post/id/170332
golang base64加密与解密 https://studygolang.com/articles/6926
MIPS架构的CTF逆向题--SUCTFbabyre题目writeup https://blog.csdn.net/xiangshangbashaonian/article/details/83146678
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS3专业网页开发指南
Peter Gasston / 李景媛、吴晓嘉 / 人民邮电出版社 / 2014-3-1 / 45.00元
《CSS3专业网页开发指南》是英国著名Web前端开发工程师Peter Gasston对CSS3高级技术的全面介绍。书中既有CSS3的发展历史、基本语法等入门知识介绍,也涵盖了媒体查询、选择器、伪类与伪元素、网页字体、文本排版、图形处理、动画、布局等CSS3前端开发必不可少的知识,还介绍了CSS3的未来发展方向。全书共分为17章,作者在每一章的讲解中都结合了大量的实例,同时也不忘介绍每一项技术的发展......一起来看看 《CSS3专业网页开发指南》 这本书的介绍吧!