一、前言:
除了python,c和java是通过ASN LAB提供的编译包和运行包进行编码的。
ASN LAB的页面提供了中文,十分友好,就是加载有点慢。
ASN.1 C编译器使用入门:http://www.asnlab.cn/asncc/gettingstarted.html
ASN lab下载:http://www.asnlab.cn/downloads.html#update_site
免费试用License:www.asnlab.cn/freetrial.html?product=asncc
主要来说,先通过Eclipse中的ASN lab提供的插件,进行编译,然后再进行运行(赋值和编码)
二、操作系统环境与软件支持
操作系统环境:Windows+Linux(这里我用的是这学期网络对抗技术这门课上用的kali,Ubuntu在上一台电脑上,这台电脑没装)
软件支持:
Java:Eclipse(Windows)+ASNlab插件
C:gcc(kali)
Python:PyCharm Community Edition 2020.1 x64
三、安装Eclipse及配置Java环境
1.首先是安装Eclipse
2.安装ASNlab插件
(1)点击Help->Install New Software
(2)新建一个work with
http://www.asnlab.org/updates
遇到的问题:安装出错
解决办法:挂VPN再重新操作
(3)选择需要的编译器和SDK
本文需要C和Java的编译器,需要只勾选这两个和下面的SDK
(4)插件的下载(会提醒安装成功或失败,如果成功的话重新进行之前的操作会发现)
正常点击install就可以
(5)申请License并设置
首先去www.asnlab.cn/freetrial.html?product=asncc进行申请
一次只能申请一个语言的编译器,C和Java需要分别进行申请。
然后是Eclipse设置
设置License步骤:
打开Eclipse,在Windows > Preferences, 复制并粘贴试用License到ASN.1 > > General > Serial Number.
3.ASN编译
如果上述步骤成功完成,就可以新建一个ASN.1的project
参考:http://www.asnlab.cn/asncc/gettingstarted.html
打开Eclipse,在File > New > Project.. > ASN.1 > ASN.1 project
(1)在source文件夹下,新建一个ASN Module
然后复制你需要的ASN文件
例:
RectangleModule DEFINITIONS ::= BEGIN
Rectangle ::= SEQUENCE {
height INTEGER,
width INTEGER,
author OCTET STRING
}
END
定义了两个INTEGER类型,一个 OCTET STRING类型。
(2)编译!
输入ASN之后,进行保存,正常情况会在ASN.1 project下的output文件件下的C和Java文件夹自动进行编译,输出结果。