全网最详细IDE插件开发之代码审计

访客3年前关于黑客接单1118

一、背景

代码审计,想必搞安全的同学再熟悉不过了,和标题中的IDE 插件有什么关系呢?莫不是标题党?
偶然挖洞闲暇时,发现了陌陌安全SRC的一个公告SAST开源,赶紧去撸一波源码,最终以看不懂为由挂机了。因此我决定从IDE插件开发学起,撸光它的码子。安全行业难能可贵的是开源精神,谢谢大厂。有请今天的主角momo-code-sec-inspector-java。大家可以先看着源码,看不懂了我们在来看看我下面的从0到1学开发插件。

二、开发环境搭建

像我这种小白,一般官方文档都是先不看,百度、bing、google一遍,看看有没有大神的教程系列,到最后基本上没有一个很全的文章。要么时间比较老,要么照着搭环境却起不来。后面我将带着大家一步一步的来,保证你能突破开发环境的这一步,并且弄懂momo安全开源SAST规则,让自己的代审功力提升。

2.1准备工作

序号软件名备注
1idea 2020.1.4 community下载页面
2JDK百度云链接密码:9k19
3momo 开源代码git clone地址

2.2 JDK安装

下一步大法,我就不详细截图了

2.3 IDEA安装配置

安装也是下一步到底就OK了

1. 新建项目
选择gradle创建项目,gradle创建项目便于插件开发依赖管理,关键它支持intellij platform plugin
如果JDK你安装没问题,这里的project SDK会自动选择1.8
image.png

2. 填好项目名,点击finish

image.png

3. 等待gradle创建项目框架
此时它在下载需要的IDEA的源码沙箱,以便于我们调试时,启动idea沙箱,网上有看到过教程离线导入这个IDEA的文件,不建议这样搞,非常麻烦且容易出错,为了避免后续bug存在,请等待10-30分钟

image.png

2.4 项目架构详解

项目结构图片

image.png

2.5 启动idea沙箱(IdeaIC)

点击启动后,可能还会下载一些依赖,请耐心等待。下载后的目录一般默认在用户目录下
image.png

通过gradle启动
image.png

通过快捷工具栏启动
image.pngimage.png

启动后会自动打开一个idea 这个是自动下载的沙箱版本和安装的是隔离的
image.png

三、编写人生之一个插件

组件类型描述接口plugin.xml加载配置元素
ApplicationComponet在idea启动时候初始化,整个IDEA只有一个实例ApplicationComponet<application-components>
ProjectComponentidea会为每一个Project实例创建对应级别的ComponentProjectComponent<project-components>
ModuleComponetidea会为每一个已经加载的Project中的每一个模块(module)创建Module级别的componentModuleComponet<module-componets>

先搞个和代码审计无关的插件,便于大家理解并提起你的兴趣,(#^.^#)

idea启动弹窗,人生鸡汤

1.在src/main/java下创建我们的pacage
image.png

2.新建一个applicationComponent的class文件
image.pngMyChickenSoul.java
这个文件是用来在启动时要做的事情,创建的类继承ApplicationComponent,然后重写initComponent ***

3.创建一个对话框
image.png

4.创建httpUtils
作用:请求公网免费鸡汤接口,额外使用的模块为httpclient,fastjson

5.导入额外jar包依赖
在build.gradle添加依赖,如何找到gradle依赖的?在Maven仓库搜索
image.png发现没有生效?点一下reload即可自动下载
image.png

6.plugin.xml 配置
添加application-component,将MyChickenSoul添加到配置文件。

7.启动插件
image.png有可能乱码的情况,我们可以在build.gradle配置文件最下方添加如下配置

                                
                                            

相关文章

超级黑客3在线阅读谢荣鹏(超级黑客谢荣鹏txt)

超级黑客3在线阅读谢荣鹏(超级黑客谢荣鹏txt)

本文导读目录: 1、超级黑客txt全集下载 2、找一本黑道小说,主角是一个超级黑客..叫什么林梵的好像.他创了一个帮派叫隐帮. 3、小说《首席医官》的作者是谁?有没有续集?代表作是那 4、...

黑客钱图片(黑客软件图片)

黑客钱图片(黑客软件图片)

本文导读目录: 1、黑客怎么赚钱 2、黑客拿不雅照片向我要钱钱是给了不过这几天心里压力还是大担心还会来要怎么办? 3、大家别相信黑客,,,黑客都是骗人的,,昨天就是黑客骗了我的1万多块钱,,,...

下厨房菜谱家常菜大全(下厨房评分9.0以上的菜

下厨房菜谱家常菜大全(下厨房评分9.0以上的菜

鲜花椒焖鸡腿,其实就是鸡块儿,用鸡腿做口感好,肉多,做法也是非常简单,调料就四样,看看你们能不能看出来是那四样呢? 1、准备鸡腿一只、鲜花椒一“爪”、大葱一截,姜适量,小米辣适量。 2、小...

怎么做网络推广赚钱(日赚800只用10分钟)

怎么做网络推广赚钱(日赚800只用10分钟)

网上的生活差不多取代了人们在现实生活中的全部,出门不用带钱,与别人交流使用手机,还有的人在网上赚钱,几个月也不会走出家门一次。网络的发展,最开始可能是想让人们见识到国家的强大,知道未来科技的样子,微信...

黑客给找聊天记录吗-淘宝网找黑客暗语(淘宝网违禁品暗语)

黑客给找聊天记录吗-淘宝网找黑客暗语(淘宝网违禁品暗语)

黑客给找聊天记录吗相关问题 骇客和黑客的区别相关问题 如何正确看待黑客 化妆品里有黑色物体(印刷品黑色文字的色值)...

西门子洗衣机功能键介绍(西门子洗衣机预约功能)

上面有显示呀。你最好看一下说明书。洗衣机优点:洗衣机很不错,有烘干功能,送货很快服务也非常好,声音很小,缺点:就是测试时用了童锁模式后。 西门子洗衣机第一个按键功能一般是调节转速或者是预约功能的。一...