本帖最后由 TheCjw 于 2019-7-12 10:51 编辑
作为码农及安全行业从业人员,在工作中会使用到各种开发、逆向、分析、调试等工具。不少人都会在成长的过程中,构建一套符合自身习惯的环境,或者采用Kali Linux、Appie、吾爱破解工具箱之类的预装环境。上古时代,收集各种论坛发布的工具箱也是乐趣之一,从中可以搞到一些有趣的插件,学习一些配置。工作之后,尤其是这几年给不少新人做了入职培训,遇到如下情况:- WIndows为主:公司默认配备了Windows笔记本,且有文档编辑需求,大多数人必须使用Windows;
- 环境一团糟:员工会按照自己的习惯搭建一套自己的环境,而且大多数人喜欢就地解压,环境变量随意配置;
- 来源不明:配置工作环境比较原始,包括但不限于U盘拷贝、IM传送、FTP、甚至随便从什么地方下载;
- 重复工作:自动化的服务器需要手动配置;
- …
上述情况带来的问题十分明显,抛开琐碎和重复的工作,工具版本过低、冲突导致的问题时常出现,十分影响效率。最初我尝试推广Powershell、ConEmu、Cmder等工具,并通过构建PowerShell profile维护启动命令行、编写简单脚本等,能够解决部分问题。直到去年偶然遇到了Scoop,才解决了所有问题。Scoop是一个Windows上的命令行包管理器,使用PowerShell编写,代码十分精简。关于Scoop的基本使用,可以参考少数派的文章和的h404bi博客文章。对于我个人而言,Scoop有如下优点:- 十分精简:安装简单,在Windows 10上开箱即用。
- 以开发工具为主,配合extras和java仓库基本够用,包括常见的Runtime和IDE,以及x64dbg、dnSpy等工具也包括在内。
- 不会污染环境变量,Scoop会创建shims作为启动脚本。
- 社区活跃,更新相对及时。
- 有一定自由度,可以自行添加仓库。
所以,从去年开始习惯Scoop之后,我尝试制作了一个和逆向相关的仓库,用于收录一些常用但是没被包含的逆向工具。地址和使用方法参考: https://github.com/TheCjw/scoop-retools (欢迎关注+Star+收藏)。所以,现在的环境搭建十分轻松,只需要一个PowerShell脚本即可完成常见工具的安装。当然,有一个稳定的代{过}{滤}理是关键。如配置基本的Android逆向环境,在安装好Scoop之后,可以运行如下脚本安装:[PowerShell] 纯文本查看 复制代码 scoop install git # 可选,如果没有安装Git,需要先安装Git
scoop bucket add java # 添加Java仓库
scoop bucket add retools [url]https://github.com/TheCjw/scoop-retools.git[/url]
scoop install oraclejdk # 安装JDK
scoop install apktool axmlprinter baksmali bytecode-viewer cfr classyshark dex2jar gda jadx jd-cmd luyten recaf smali 运行完成后,基本上Android逆向需要的工具,都可以直接通过命令行直接使用。目前,仓库中包含的工具如下:
APP NAME | HOME PAGE | apktool | https://github.com/iBotPeaches/Apktool | assetstudio | https://github.com/Perfare/AssetStudio | axmlprinter | https://github.com/rednaga/axmlprinter | baksmali | https://github.com/JesusFreke/smali | bytecode-viewer | https://github.com/Konloch/bytecode-viewer | cff-explorer | http://www.ntcore.com/exsuite.php | cfr | http://www.benf.org/other/cfr/ | classyshark | https://github.com/google/android-classyshark | dex2jar | https://github.com/pxb1988/dex2jar | die | https://github.com/horsicq/DIE-engine | dynamorio | https://github.com/DynamoRIO/dynamorio | gda | http://www.gda.wiki:9090/index.php | ghidra | https://ghidra-sre.org/ | il2cppdumper | https://github.com/Perfare/Il2CppDumper | jadx | https://github.com/skylot/jadx | jd-cmd | https://github.com/kwart/jd-cmd | libimobiledevice | https://github.com/libimobiledevice-win32/imobiledevice-net | luyten | https://github.com/deathmarine/Luyten | pin | https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool | recaf | https://github.com/Col-E/Recaf | reko | https://github.com/uxmal/reko | simplify | https://github.com/CalebFenton/simplify | smali | https://github.com/JesusFreke/smali | snowman | https://derevenets.com/ |
目前,仓库收录的工具还不算多,以后会根据需求添加,逐步完善。同时,由于个人精力有限,目前仓库不是特别完善。如果仓库中有你需要但是没包含的工具,欢迎在Github提交Issue和PR,我会及时处理。注意,该仓库不考虑收录破解和盗版的软件,如果有需要的话,可以自己搭建一个。 |