文档库 最新最全的文档下载
当前位置:文档库 › 半侵入式攻击

半侵入式攻击

半侵入式攻击
半侵入式攻击

半侵入式攻击

这是一种新的攻击类型,在2002年我们提出光学缺陷注入攻击时引入这个概念。半侵入式攻击与侵入式一样,需要打开芯片的封装来访问芯片表面。但芯片的钝化层保持完整--- 半侵入式攻击不需要与金属表面进行电接触,这样对硅就没有机械损伤。

随着特征尺寸的缩小和元器件复杂性的增加,对侵入式攻击的要求越来越高,开销也越大。半侵入式攻击不需要昂贵的工具,且能在较短的时间内得到结果,使之变得越来越有吸引力。同时,对所有晶体管或部分区域的晶体管进行半侵入式攻击,这对现代小特征尺寸的芯片比较适合。

半侵入式攻击不是全新的。通常对裸芯片最容易进行电磁分析;打开封装后,在紫外线下曝光老旧的基于EPROM的微控制器存储器保护位,这些是很久以前的故事了。半侵入式攻击用到以下手段:紫外线,X光,激光,电磁场和热量。可以单独用其中一种或几种合用。半侵入式攻击最早用于失效分析。这包括背面成像和对触发器进行单探针探测,但现代

的深亚微米元器件不能只靠这些方法。在后期测试时使用半侵入式方法来分析硬件安全性,可以避免一些安全问题,并且比侵入式方法节省时间和金钱。

使用廉价而简单的设备就可以进行快速而强大的攻击。这些攻击使用计算机控制的工作站就很容易进行自动操作,可以在几个小时内快速完成,而侵入式则需要数天至数周。

1.紫外线攻击(UV attacks)

这几乎是最古老的攻击方式,上个世纪七十年代中期就用来攻击微控制器了。在以前被视为侵入式攻击,但它仅仅需要打开芯片的封装,当然属于半侵入式攻击。它对很多OTP和U V EPROM微控制器有效,那些微控制器在设计上只能抵挡廉价的非侵入式攻击。

紫外线攻击可以分成两步,找到熔丝,用紫外线复位到未保护状态。通常安全熔丝设计

成比程序存储器擦除得要晚,紫外线不能覆盖整个芯片。

1-(1) 定位安全熔丝

安全熔丝可以从物理上与主存储器分开,也可嵌入到存储器阵列。

有多种方法可以用来找到熔丝的精确位置。通用的,但耗时耗钱的方法是将整个芯片反向工程。局部反向工程就能省很多时间。例如,用于存储器编程用的高压一般是由外部引脚供应的,可以借此跟踪到所有的存储器单元,包括熔丝。在显微镜下很容易跟踪到低至0.8 微米技术制造的芯片的熔丝。线宽更低的,尤其是平面工艺制造的,对其进行光学分析是不可行的,需要反向处理芯片来观察内部结构。

另一种是损伤芯片不同部分并观察结果。这样处理需要很长时间和很多样品才能成功。

如果熔丝距离存储器很近,或者是嵌入的。对其定位将很困难。同时,用紫外线来擦除熔丝也一样。测试的顺序很简单,芯片的半个表面用不透光的材料挡住,然后将芯片置于紫外线下照射一段时间,如果保护被解除了,那熔丝就在未覆盖部分。否则,交换覆盖和未覆盖区域,对每部分减半后重复进行就可以了。

这种攻击可以在约15次反复后,以10-20微米的精确度定位熔丝,通常耗时不超过3小时。对于熔丝嵌入在主存储器中的情况,需要更高的精确度,要用到紫外线激光或光阻掩模。但有个更有效更简单的方法是用记号笔将不需要紫外线照射的地方涂抹覆盖。别的半侵入式攻击也可以用来寻找熔丝。如激光扫描技术可以用来直接读晶体管的状态。扫描同样的芯片两次,一次是安全位置位,另一次是复位。将扫描结果相比较就可以揭示修改的位置。然后就可以光学检查该区域来标出熔丝。

另一种是用光学缺陷注入来改变芯片内部不同晶体管状态,寻找影响熔丝状态的位置。

1-(2)定点攻击(Toothpick attacks)

术语“定点攻击”首次出现在赛灵思(Xilinx)的CPLD白皮书上。与我们最近提出的光

学缺陷注入攻击类似,与别的未知的廉价攻击一样,越来越常用。为了达到更高的精确度,

我们将定点攻击引入到紫外线攻击中。

实例如下图:紫外线定点攻击的工具

实例如下图:激光切除了所涂抹的一部分以暴露所需的EPROM。500X

用普通的记号笔涂抹芯片表面后,用木质牙签刮掉所需的区域。数支不同颜色的记号笔在同一存储器芯片上进行测试。测量干净和涂抹的芯片在擦除时间上的差异。结果在列表中

实例如下图:紫外线在不同颜色水笔中的透光率

红色记号笔是最佳的。芯片表面可以看到精确位置,同时提供了适当衰减。擦掉干的印记对下面的钝化层没有任何损伤。有些笔墨轻微导电,小心使用它们,避免涂到焊线区。

处理过程不需要很有经验,可以很快学会,这些窍门有助于快速找到安全熔丝的位置。油墨在每个擦除/涂抹周期后用溶剂除去。

在显微镜下刮擦过的表面几乎不可能达到10微米以下的定位精度。但对于那些安全熔丝远离主存储器的微处理器已经足够了。为了达到更好的效果,涂层可以用激光来切割。紫外线激光最理想了,绿色激光在黑和红的涂层上也能很好工作。

所以,用很廉价的工具装备的破解者也能用紫外线成功攻击芯片上所需的区域。但是当今的很多微控制器制造商使用了多种保护技术来抵挡紫外线攻击。这些技术包括在芯片上覆盖一层顶层金属来完全阻挡紫外线,使用不能被紫外线复位的特殊设计单元,以及使用紫外线传感器来防止芯片暴露在紫外线下工作。

1-(3) EEPROM和闪存的问题

如EPROM一样,大部分浮栅类型的存储器也对紫外线攻击敏感。同时,设计者有更多的自由来选择不同的保护方式来阻止攻击。EEPROM和闪存可以双向改变它们的状态,最简单的是用某个单元的擦除状态来指示报警,一个已编程状态来相应屏蔽掉安全特性。这个做法对控制逻辑的修改很少。在很多制造商的闪存型微控制器中广泛使用。紫外线有五种可能的方法来影响浮栅存储单元:

●把存储器单元从已编程态改为擦除状态,如果擦除状态对应屏蔽安全特性就会影响安全熔丝。

●把存储器单元从擦除状态改为已编程态,如果已编程态对应屏蔽安全特性就会影响安全熔丝。

●把存储器单元从擦除状态或已编程态改为中间态,如果单元控制电路的参考电压在电源供应电压之上时有可能影响安全特性。

●使存储器单元的晶体管阈值电压漂移出操作电平的范围,这会锁掉单元。这对防紫外线攻击有利,但破解者也可用此定位熔丝。

●存储器单元的晶体管阈值电压没有漂移到改变状态的程度。

定位攻击能用此来锁定熔丝位置,即使用紫外线也不能将其复位。除非熔丝上有一层金属保护或对紫外线不敏感。尽管如此,缺陷注入攻击仍然可以用来改变熔丝状态,或使用侵入式攻击来永久改变它。

2 背面成像技术(Backside imaging techniques)

半导体分析的第一步就是在显微镜下进行目检。晶体管的特征尺寸每年都在缩小,芯片表面的结构越来越难观察。使用0.8微米以上的技术,很容易识别出微控制器的主要部分--- ROM;EEPROM;SRAM;CPU以及CPU的指令解码器和寄存器。0.5-0.35微米工艺的芯片,就很难区别ROM;SRAM和闪存。低于0.25微米芯片,几乎看不出什么。这不仅仅是特征尺寸小,

而且芯片表面有多层金属。另外,平面工艺用来填充金属层和金属焊线区的空白区域,这会

阻止光线通过。

实例如下图:光的波长与硅的透光率红外灯(左)和普通灯(右)

一种方法是使用红外线,不论反射还是直射,从芯片背面观察。硅几乎对波长大于1.1

微米的光线透明。但是一些现代芯片使用了高掺杂的硅晶圆(〉1.1019cm-3),对红外线就

不透明了。需要更强的光源或灵敏度更高的红外摄像头。

实例如下图:0.35um技术的MSP430F112微控制器的标准光学照片(左)和反射光背面成像照

实例如下图:透射光拍照示意图,右侧是MSP430F112的透射照片。

图像用直射光有很好的效果,不需要很强的光源,甚至标准的低成本单色CCD镜头就可

以用来成像。一块空白的硅晶圆用来滤除正常的光线。

反射光有更好的对比度,它不需要通过多层金属。在0.5微米及以下的技术中,可以比

正常图片得到更多的信息。需要注意的是从背面获得的图像是正常图像的镜像,实际使用时

可以把芯片水平翻转一下。

背面成像的另一个用处就是获取ROM的内容。在正面,晶体管被顶层金属所遮蔽,通过

背面就可以很清楚地看到。例如无需使用类似化学腐蚀来检查掩模ROM内容的侵入式攻击,

直接观察背面就可以了,而这是种半侵入式技术。这种方法因光学系统的最大解析度而限制

了近红外(对于硅是1-1.1微米)区域的分辨率低于0.6微米。

实例如下图:1.0um技术的MC68HC705P6A微控制器内掩模ROM的标准光学照片(左)和透射光背面成

背面成像广泛用于失效分析中,从定位失效晶体管或FIB后观察内部互联。需要说明的是这样的系统成本极高,只有相关的大公司可能提供。但在简陋的实验室里用近红外显微镜和红外敏感的镜头也能做到,就像例子中那样。

3.主动光探测技术(Active photon probing)

发明半导体晶体管的时候,就发现它对离子辐射比先前使用的电子管(真空管)更敏感。包括核爆炸,同位素辐射,X光和宇宙射线。在六十年代中期,在脉冲激光实验时,发现连续光会导致一些类似现象。激光就被用来模拟离子辐射对半导体的各种效应。

科技获得了惊人的发展,昂贵的基于惰性气体的激光和固态激光被低成本的半导体激光所代替。结果是激光技术走出实验室进入消费电子领域。

如果光子的能量超过半导体的能隙带宽(>1.1eV或<1100nm),激光就可以将半导体集成电路的特定区域离子化。波长为1.06微米的激光(光子能量1.17eV)对于硅有约700微米的穿透深度并有良好的空间离子化均匀度。但是,因为有几微米的散射,聚焦能力受限,并且对于现代半导体元器件来说,不够精确。但是,当从红外移到可见光区域时,光子的吸收能力显著增加,可使用更为细小的红或绿激光,意味着达到同样离子化能力所需能量更少。

在CMOS元器件中,有个危险是电路被锁定,会导致开路而永久损坏。对CMOS结构使用辐

射时必须考虑到这些。

在主动光子探测中,一束扫描光子束作用到集成电路上。光子的能量大于硅的能带,在半导体中产生电子空穴对。低能量的光子能持续作用到PN结,但只发生热效应,那比光电效应弱得多。

失效分析时使用到多种激光扫描技术。通常使用激光扫描显微镜。尽管这些显微镜在快速扫描方面是个很大的优势,一秒钟可以扫描一帧。但对于小型的研发实验室来讲,它太贵了。因此,在实验中,我们使用便宜些但速度也慢些的激光源,样品在XY电动台上移动。激光器附在探针站显微镜的摄像口上,带芯片的测试座安放在XY电动台上。尽管扫描一个100*

100微米的区域需要大约15分钟,这仍然适合做研究。

3-(1) 激光扫描技术(Laser scanning techniques)

在硬件分析中有两种主要激光扫描技术。一种是光束诱导电流(OBIC:Optical Beam In duced Current)用在没有偏压的芯片上,寻找表面激活的掺杂区域。另一种是光束诱导电

压变化(LIVA:light induced voltage alteration),用于正在运行中的芯片。在OBIC中,光电流直接用来产生图像。这样,被分析芯片的电源脚可以连接一个电流放大器。它的值可以通过转接卡纪录到计算机里。对于LIVA,光束扫描恒流供电的集成电路表面,监控电压变化就可以得到图像。

实例如下图:PICF84A安全熔丝区域的标准光学照片(左)和激光扫描照片(右)

OBIC技术能被用来附加在标准的光学图像上,就可以定位芯片内的激活区域。我们用MA TLAB软件画了个扫描后的结果图像。对照光学图像,激光可以对准芯片正面或背面的有效区域。从正面扫描,可以用红色点状激光(波长约650纳米)作光源,扫描芯片内的安全熔丝区域后的结果。背面扫描用波长为1065纳米的红外激光,从背面扫描芯片的同样区域。从照片可以看出,与正面扫描相比,背面扫描效果更好,因为没有来阻挡激光束的金属层。激光图像能用于掩模ROM的信息提取上,下图是使用类似的方法获的红外背景图像。

实例如下图:PICF84A安全熔丝(寄存器)区域的背面激光成像照片

实例如下图:MC68HC705P6A微控制器内掩模ROM的背面激光成像照片

3-(2) 读出晶体管的逻辑状态

在侵入式攻击中,传统的读出半导体存储器中数据的方法是使用机械探针,通常用在处理器总线上。这样的攻击是使用微探针与内部电路产生直接的电接触。该方法困难多多,从缩小特征尺寸到使用片上存储器的硬件访问电路都有困难。我们就研究了用半侵入式技术来非破坏地读出存储器单元状态。以下描述能提取出CMOS SRAM里的内容但无法广泛应用。

在显微镜下使用红激光聚焦到芯片表面来分析SRAM。650nm波长红激光的能量大于硅的

能带,它会将芯片内部的有效区域离子化。如果光子到达PN结附近的区域,因光电效应而会产生光电流。当光子进入P或N区域,会注入自由载流子而降低通道的电阻。

这就使得我们可以读出存储器单元的状态,显而易见的,增大电流就可以使通道导通,几乎可以忽略。将激光束指向合适的晶体管,就能区别两种可能的状态。

在第一次试验中,通过测量激光扫描芯片表面产生光电流来建了一份激活区域的示意图。芯片放在精度0.1微米的电动台上。扫描结果如图。可见激活区域产生的大电流,但大部分被金属层覆盖,激光不能穿透,所以那些区域不能产生电流。我们用这张图片来比较从已上电芯片所获得的结果。

下一个实验是用正在运行的芯片。芯片已编程,可以载入任意值到RAM中,然后停止芯片的运行。扫描载入随机数据的存储器单元结果如图。可以看到存储器单元有不同的状态,内容为1的单元顶层是亮的,内容为0的则是底层亮的。

实例如下图:激光扫描未上电(左)和已上电(右)的存储器照片

我们的实验结果类似于Sandia Labs发布的结果,但有很大不同。我们从顶层扫描芯片来代替发出通过芯片的恒定电流,我们使用恒压供电,像标准的功耗分析一样来测量电流。如果重要数据正好在一个时钟周期内在一个位置清楚地出现,那破解者就可以推导出,并冻结这

个状态。(可以是物理的,如低温;或用别的方法如停止时钟),那破解者就有可能是用光学的或电磁探测技术读出数据。技能和设备方面的投入明显要比侵入式攻击少很多。

4 缺陷注入攻击(Fault injection attacks)

这是个新的攻击方法。照射目标晶体管来影响它的状态,因此产生一个短暂的错误。这

种攻击很实用,不需要昂贵的激光器。使用从摄影店购买的二手闪光灯和激光指示器即可。为说明这种攻击的能力,我们研究了在显微镜下置位或复位任意SRAM位。如果没有反制措施,光学探测也能在密钥计算或协议里产生错误,并中断处理器的控制流程。它扩展了现有的噪声和缺陷分析技术。这种攻击会给工业上带来大问题,类似于上世纪九十年代中期的微探测攻击和后期的功耗分析攻击。

4-(1)改变SRAM的内容

尽管有多种方法使用脉冲激光来模拟离子辐射,我们发现没有公开的信息使用它们来控制或改变集成电路的功能。我们决定使用强光源作用半导体芯片,来确定是否会改变存储器单元的状态,以及难易程度。

实例如下图:单个SRAM单元的结构(左)和版图(右)

第一次试验的目标是SRAM。标准的六管SRAM结构,由两对P和N型的晶体管构成一个触

器,另外两个N型晶体管用来读它的状态和写入新数据。晶体管VT1和VT2构成反向器,和

它相似部分一起,构成由晶体管VT3和VT6控制的触发器。

如果晶体管VT1能被外部因素短暂开路,那就会导致触发器改变状态。曝光晶体管VT4,

单元的状态可以被改到相反状态。主要的困难是将聚焦离子辐射降到几平方微米并选定适当

的强度。使用PIC16F84来做实验,它有68个字节的片上SRAM。SRAM阵列的位置是在晶粒底

部的中间。如图。

实例如下图:PIC16F84的原始照片和打开封装后的照片,右侧为内部SRAM的照片

因为预算有限,并且使用的激光表现不稳定,我们决定使用廉价的闪光灯。尽管闪光灯

的发光度比脉冲激光低,但适当放大后可以达到离子化的等级。将闪光灯固定在视频端口上,

放大倍数为1500X。

微控制器已被编程,可以上传或下载它的存储器内容。将整个存储器用恒定值填充,在闪光灯下曝光,然后读出结果,就可以检查那个单元的状态改变了。

通过带孔的铝箔遮蔽光源,光源的输出功率设在最大 ,我们只能改变一个单元的状态。单元的最终状态取决于在闪光时暴露的面积。这几乎可以肯定用廉价的半侵入式攻击可以改变SRAM的内容。

最大放大倍数时的SRAM阵列如图6-15。聚焦后的光点如白圈所示,能把单元的状态从1

改为0,如果状态是0的话就不会改变。聚焦光点到黑圈,单元的状态能从0改到1,或继续保

持状态1。

实例如下图:1500倍下的SRAM阵列照片实例如下图:SRAM存储器阵列的数据位

从图中可知SRAM阵列被分成八个相同的块。通过曝光不同块里的单元,发现每个块对应信息平面的一位。位平面图如图6-16。

通过在闪光灯下曝光每个单元获得了整个存储器的图,左边对应块的底部。可以看出地址不是连续的,被分成了三组。

实例如下图:SRAM存储器阵列中每个位块的物理地址

这个实验表明反向工程中使用半侵入式攻击很容易就获得存储器的地址图。唯一的限制是闪光灯不能产生连续且单色的光,所以很难控制光点将照射的区域。这个问题可以用合适的激光来解决。

良好设计的现代安全微控制器不容易被单色激光攻击,它们的保护状态取决于物理存储的多个位。但是,很多设计可以通过修改锁定读保护触发器的状态来破解。设计师需要确保单个晶体管的失效也不能破坏芯片的安全规则。

对智能卡也可以进行类似的攻击。跳转指令冲突是个强大而通用的攻击点。破解者可以使用设置智能卡代码的分支条件来引向错误的方向。例如,减少阻塞密码循环的次数到一至二次,直接恢复密码。

现有的高端防攻击技术,如顶层金属遮蔽和总线加密,会使得破解者使用这些技术变得更复杂,但这还不够。老练的破解者可以用红外线或X光来对付金属层的遮蔽,直接攻击寄存器就可以跳过总线加密。

4-(2)修改非易失存储器的内容

EPROM, EEPROM和闪存单元对缺陷注入攻击更为敏感。这是因为流进浮栅的电流比流进SRAM单元的要小得多。

首先假定芯片内有光传感器来防止打开封装,在我们研究过这个问题之后,可以用光注入缺陷到EEPROM存储器中。

安装在探针站显微镜里的20瓦灯泡足以翻转PIC16F84微控制器的安全熔丝状态。光圈全

部打开,放大倍数设为1500倍时,光线能聚焦到安全熔丝区域而不影响主存储器。不需要修改现有的设备。将一个已编程,加密的且被打开封装的PIC16F84芯片放在显微镜下的测试座中,与通用烧写器相连。当通过显微镜的目镜定位到安全熔丝后,光功率切换到最大,就可以正常读出存储器的内容。

从芯片背面进行同样的操作也获得了成功。一方面,从晶粒的背面不容易找到熔丝的位置。另一方面,可以使用机械方法从背面打开封装,这就避免使用强腐蚀的化学试剂。可以使用正面光学照片作参考来定位,或使用红外镜头来定位。

尽管从卤素灯泡不能得到足够的1到1.1微米区域的红外线来直接从晶粒的背面来离子化

晶体管的有效区域,但从硅衬底发出的大量电子空穴对大部分在互相复合前就落到有效区域里了。

幸运的是,这种攻击不能对付现代低特征尺寸的芯片。顶层金属防止光线到达有效区域,平面化减少了氧化层的透明度,并加强了光的散射。高的掺杂浓度减少了光从背面的透射。更小的晶体管需要更大的辐射来进行开关。

紫外线EPROM存储器单元对光攻击不太敏感,因为需要更大的电流来切换。但是,事实上闪光灯或通常的灯泡也能用来破解安全熔丝,仍然需要小心设计安全保护方法。例如,安全熔丝不应该放在远离主存储器的地方,这会导致攻击它们很容易。同时,光和辐射传感器可以用来检测离子辐射,在泄漏敏感信息之前就复位芯片。

5 软件模拟攻击(Modelling the attacks)

为了研究有效的对策,了解攻击细节是很重要的。在光学缺陷注入和激光扫描攻击中,

需要完全理解在硅芯片里发生的过程和原理。模拟这样的攻击受到很多限制。每一步都要解决复杂系统中的多个因素。要计算一束激光对整个芯片的影响是很困难的。但对于一小部分晶体管,是可以模拟的。在TCAD软件中,可以模拟离子辐射对半导体的影响。但这个软件太复杂,太昂贵了,我们使用另一种工具软件DIODE-2D.

5-(1) 模拟逻辑状态来读出数据

如前面所提到的,使用激光扫描就可以读出晶体管的状态。如预想的那样,激光扫描到存储器中P和N型晶体管的源和漏极产生最大的光电流,不透明金属线则对应最低的光电流。扫描的结果明显可以看出SRAM单元中反向器开关状态的光电流大小。这个可以用来确定存储器单元当前的状态。

为解释结果并寻找更适合的扫描参数,用DIODE-2D演示激光脉冲加到反向器时的二维数学模型。实例如下图:型结构的剖面图

沟道的长度假定为1微米,激光辐射的强度为1.104W/cm2。别的参数,如掺杂浓度,P 和

N阱的深度,使用的是标准的1微米N型衬底CMOS技术的参数。

我们模拟了反向器在两种状态下,不同波长的激光对不同位置时与电源电流的关系。结

果如图。实例如下图:不同波长下电源电流与激光扫描位置的关系

可以看出曝光关态的晶体管的电流比开态的要大很多。打开关态晶体管的通道所增加的总电流比轻微减少开态通道的电阻还要大。

另一个值得注意的是光电流与激光波长的关系。这会导致减少衬底的寄生光电流,短波长的光子几乎集中在表面。通过计算同一反向器的电源电流与激光波长之间的关系,发现短的波长更有效率。波长越短,0和1状态的电源电流的差就越大。实验也证明了这一点。用65

0纳米的激光,可以认出反向器不同状态的电源电流。但用805纳米的激光,差异接近于噪声水平。主要的噪声源是衬底的光电流,减少波长就可以降低它的影响。

实例如下图:CMOS反向器内PMOS和N M OS的不同逻辑状态的电源电流与不同波长激光关系

模拟的结果确认了使用聚焦激光束可以读出反向器的状态。同时,也说明要选择合适波

长的激光。

5-(2) 模拟缺陷注入攻击

如上所探讨的,聚焦激光束可以用来改变SRAM单元的状态。该流程可以用DIODE-2D软件

模拟出来。

模型显示影响激光改变反向器状态的主要因素是辐射导致寄生电路的锁定效应。反向器的状态只在所需的激光强度低于内部寄生结构的阈值时才改变。激光焦点在接近晶体管通道区域时翻转是最佳的,但不能排除锁定效应,因为激光产生的电子空穴对会快速充满反向器,并引起内部所有PN结的电流增大。

千锋网络安全教程:第5章、扫描与密码暴破-千锋_各类服务密码爆破

口令破解 口令安全威胁 - 概述 现在很多地方都以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限。口令(密码)就相当于进入家门的钥匙,当他人有一把可以进入你家的钥匙,想想你的安全、你的财务、你的隐私、害怕了吧。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等 - 口令安全现状 @ 弱口令 类似于123456、654321、admin123 等这样常见的弱密码。 @ 默认口令 很多应用或者系统都存在默认口令。比如phpstudy 的mysql 数据库默认账密[root/root],Tomcat 管理控制台默认账密[tomcat/tomcat]等。 @ 明文传输 比如http、ftp、telnet 等服务,在网络中传输的数据流都是明文的,包括口令认证信息等。这样的服务,就有被嗅探的风险。 破解方式 - 暴力破解 暴力破解就是利用所有可能的字符组成密码,去尝试破解。这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终一定会爆破出密码。下表是 下图为用真空密码字典生成器,生成的1到8位数的小写字母和数字字典,约占用空间。

- 字典破解 如果能通过比较合理的条件,筛选或者过滤掉一些全字符组合的内容,就会大幅降低爆破的成本。我们把筛选出的密码组合成特定的字典。在用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码。密码字典大致分为以下几类。 @ 弱口令字典 比如123456,admin 等这样的默认口令或弱口令。 @ 社工字典 人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合“名字+生日”。社工字典更具针对性,准确率也比较高。 下图为,根据提供的用户信息,使用亦思社会工程学字典生成器生成的用户可能使用的密码,通过此字典进行密码破解。

CANopen对象字典生成办法

CANopen对象字典生成办法 摘要: 本文在阐述CANopen对象字典的概念与结构的基础之上,结合生成对象字典常用方法的不足,引出一种可快速可靠创建与修改对象字典的对象字典生成器ODBuilder,不仅有效减少编辑对象字典的时间,而且最大限度地避免工程师手工编辑对象字典的错误出现,为CANopen设备参数设置提供有力可靠的解决方案。 关键词: CANopen,对象字典,生成器,ODBuilder,EDS文件 Abstract: In this paper, on the introduction of the concept and structure of the CANo pen object dictionary,c ombined with the shortage of common methods of ge nerat ing object dictionary, l ead to a object dictionary generator-ODBuilder,whi ch is quick ly and reliabl y create and modify the CANopen object dictionary. T his tool not only effectively reduce the time of editing object dictionary, but sig nificantly minimize the occurrence of error of manual ly editing the object dicti onary, and provid e a robust and reliable solutions for the parameter Settings of CANopen equipment. Key words: CANopen,Object dictionary,generator,ODBuilder,EDS File 引言 CANopen协议是一种基于控制器局域网(CAN)的应用层协议,该协议具有实时高效、组网灵活和产品兼容性高等优势,CANopen协议在国内越来越受到青睐,其应用领域也越来越多广泛,不仅应用于过程与生产自动化等领域,还涉及到医疗、铁路、军事、太阳能等等领域。目前CANopen协议由CiA(CAN in Automation)组织负责管理与推广。 对象字典是CANopen通信接口与应用程序之间接口,是CANopen协议的重要组成部分。在CANopen网络中,每个标准的CANopen设备都有一个对象字典,用来描述CANopen设备的全部功能。 一般在CANopen配置或者开发工程中,对象字典的创建与管理是一个不可缺少的步骤,同时也是保证CANopen正常通讯的重要保障。如果CANopen系统工程相对比较简单,人工编写对象字典是可行的。但是如果面对系统较复杂、通讯量庞大的CANopen工程,单纯用人工

【IT专家】Python 简化for循环:列表,集合与字典生成式

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Python 简化for循环:列表,集合与字典生成式2018/03/06 28 # 使用列表生成选择特定的行my_data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]rows_to_keep = [row for row in my_data if row[2] 5]print(“Output #1 (list comprehension): {}”.format(rows_to_keep))列表生成式的意义是:对于my_data中的每一行,如果这行中索引位置2的值大于5,则保留这行。 ?集合生成式 #使用集合生成式在列表中选择出一组唯一的元组my_data = [(1, 2, 3), (4, 5 ,6), (7, 8, 9), (7, 8, 9)]set_of_tuples1 = {x for x in my_data}print(“Output #2 (set comprehension): {}”.format(set_of_tuples1))set_of_tuples2 = set(my_data) #内置的set函数更好print(“Output #3 (set function): {}”.format(set_of_tuples2))字典生成式 #使用字典生成式选择特定的键-值对my_dictionary = {‘customer1’: 7, ‘customer2’: 9, ‘customer3’: 11}my_results = {key : value for key, value in my_dictionary.items() if value 10}print(“Output #3 (dictionary comprehension): {}”.format(my_results)) ?tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

CANopen 对象字典生成方法

CANopen对象字典生成方法 广州虹科电子科技有限公司龚龙峰陈秋苑support@https://www.wendangku.net/doc/5f12884057.html, 摘要: 本文在阐述CANopen对象字典的概念与结构的基础之上,结合生成对象字典常用方法的不足,引出一种可快速可靠创建与修改对象字典的对象字典生成器ODBuilder,不仅有效减少编辑对象字典的时间,而且最大限度地避免工程师手工编辑对象字典的错误出现,为CANopen设备参数设置提供有力可靠的解决方案。 关键词: CANopen,对象字典,生成器,ODBuilder,EDS文件 Abstract: In this paper, on the introduction of the concept and structure of the CANopen object dictionary,combined with the shortage of common methods of generating object dictionary, lead to a object dictionary generator-ODBuilder, which is quickly and reliably create and modify the CANopen object dictionary. This tool not only effectively reduce the time of editing object dictionary, but significantly minimize the occurrence of error of manually editing the object dictionary, and provide a robust and reliable solutions for the parameter Settings of CANopen equipment. Key words: CANopen,Object dictionary,generator,ODBuilder,EDS File

CANopen 对象字典生成办法

CANopen对象字典生成办法 龚龙峰 (广州虹科电子科技有限公司,广东广州) 摘要: 本文在阐述CANopen对象字典的概念与结构的基础之上,结合生成对象字典常用方法的不足,引出一种可快速可靠创建与修改对象字典的对象字典生成器ODBuilder,不仅有效减少编辑对象字典的时间,而且最大限度地避免工程师手工编辑对象字典的错误出现,为CANopen设备参数设置提供有力可靠的解决方案。 关键词: CANopen,对象字典,生成器,ODBuilder,EDS文件 Abstract: In this paper, on the introduction of the concept and structure of the CANopen object dictionary,combined with the shortage of common methods of generating object dictionary, lead to a object dictionary generator-ODBuilder, which is quickly and reliably create and modify the CANopen object dictionary. This tool not only effectively reduce the time of editing object dictionary, but significantly minimize the occurrence of error of manually editing the object dictionary, and provide a robust and reliable solutions for the parameter Settings of CANopen equipment. Key words: CANopen,Object dictionary,generator,ODBuilder,EDS File

常用入侵检测小工具

常用入侵检测小工具 svc 远程安装/删除win2k服务 3389.vbs 远程安装win2k终端服务 arpsniffer arp环境sniffer(需要winpcap2.1以上) ascii 查询字符和数字ascii码(常用来对url编码用以躲避ids或脚本过滤) ca 远程克隆账号 cca 检查是否有克隆账号 cgi-backdoor 几个cgi木马(十多种最新的web脚本后门,涵盖 jsp,php,asp,cgi等等) crackvnc 远程/本地破解winvnc密码(本地破用-W参数) pass.dic 密码字典 debploit win2k+sp2配置最佳权限提升工具 fpipe 端口重定向工具 fscan superscan命令行版本(可定义扫描时的源端口并支持udp端口扫描) hgod04 ddos攻击器 idahack ida溢出 idq.dll 利用isapi漏洞提升权限(对sp0+sp1+sp2都非常有效,也是很棒的web后门)

IIS idq溢出 inst.zip 指定程序安装为win2k服务 ip_mail.rar 发送主机动态IP的软件 ipc.vbs 不依赖ipc$给远程主机开telnet ispc.exe idq.dll连接客户端 Keyghost.zip 正版键盘记录器 log.vbs 日志清除器(远程清除不依赖ipc$) md5.pl 论坛md5加密密码破解器 msadc.pl winnt的msadc漏洞溢出器 MsSqlHack mssql溢出程序1 mysql-client mysql客户端 Name.dic 最常用的中国人用户名(看看你常用的用户名在不在里面) PassSniffer 大小仅3kb的非交换机sniffer软件 psexec 通过ipc管道直接登录主机 pskill 杀进程高手:) pslist 列进程高手:) rar 命令行下的winrar reboot.vbs 远程重启主机的脚本 sdemo.zip 巨好的屏幕拍摄的录像软件

木头超级字典生成器使用完全教程

木头超级字典生成器使用完全教程 第一部份、木头超级字典生成器简介及用途说明一、软件介绍 木头超级字典生成器是一款专业的字典制作工具集,包括字典生成、修改、分割、合并、清理等工具。 生成字典工具除具有其本的常规字典生成功能外,还能实现拼音字典、汉字字典、英语字典、姓名字典、社会工程字典以及分组字典。修改、合并、分割、清理工具实现字典变幻功能。还提供字典属性查看,字典快速预览辅助工具。灵活运用本软件功能,可以生成多种特殊要求的字典。在生成字典前可精确估算字典大小和字典文件大小,使用你可以跟据当前软硬件资源限制来制作字典,避免盲目生成字典的情况。软件支持大字典直接分割输出,可设置每个字典文件大小,便于你的后续工作分批量处理。 木头超级字典生成器以数学模型为理论基础,各功能模块相当于一个数学运算步骤,制作一个字典就像解一道数据题,灵活运用,变化多端,充分发挥你的想象力,生成一个字典甚至可以找到多种方法。在本教程的后面,我们将举例说明,希望达到抛砖引玉的作用。 二、运行环境 1、硬件要求 最低配置:CPU:奔腾Ⅲ450M硬盘:4.3G内存:128M 以上为软件运行的最低配置,硬件配置当然越高越好,软件运行速度越快。如果生成字典比较大,尽量使用配置高的电脑。 2、软件要求 操作系统:Windows 2000 、Windows XP、Windows2003、Windows Vista、Windows 2008、Windows 7

其它软件:WINXP,WIN2003用户安装必须安装补丁Microsoft .NET Framework 2.0 Service Pack 2 注意是SP2补丁. 下载地址: https://www.wendangku.net/doc/5f12884057.html,/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyI D=5b2c0358-915b-4eb5-9b1d-10e506da9d0f 微软官方补丁,请放心下载。此下载页面有三个适用不同操作系统的下载链接,一般使用32位winxp的用户较多,即下载最后一个32位补丁。 WIN Vista,WIN7用户可直接使用。 三、软件安装及删除 首先下载最新版的木头超级字典生成器,官方下载地址: https://www.wendangku.net/doc/5f12884057.html,/dwon/mutoudic.rar,利用winrar解压后运行安装程序setup.exe即可。在安装过程中你可以选择软件安装目录,如果是升级安装请先删除原版本所有文件再安装。本软件无病毒无插件,可放心使用。 删除软件请运行软件目录下的删除程序uninstall.exe。可完全删除本软件。 四、主要用途 字典生成器的用途非常广泛,可以用于生成产品序列号、产品防伪编号、生成群发邮件地址、生成群发短信手机号码、穷举彩票号码、穷举用户帐号密码等。(为了叙述方便,在本文中统一把字典中的每一行都称为密码) 严正声明:本软件不得用于非法目的,非法使用本软件其后果由使用者承担。 第二部份、木头超级字典生成器功能详解 打开木头超级字典生成器,进入木头超级字典生成工具集主界面(如下图)。主要功能在主界面左侧按扭式排列。可同时打开多个子窗口。下面对每一项功能分析说明。

常用入侵检测小工具

IIS idq 溢出 in st.zip 指定程序安装为win2k服务 ip_mail.rar 发送主机动态IP的软件 ipc.vbs 不依赖ipc$给远程主机开telnet ispc.exe idq.dll 连接客户端 Keyghost.zip 正版键盘记录器 log.vbs 日志清除器(远程清除不依赖ipc$)md5.pl 论坛md5加密密码破解器msadc.pl winnt的msadc漏洞溢出器MsSqlHack mssql溢出程序1

sdemo.zip 巨好的屏幕拍摄的录像软件 shed 远程查找win9x的共享资源 sid 用sid列用户名 SkServerGUI snake多重代理软件 SkSockServer snake 代理程序 SMBCrack 超快的ipc破解软件(适合破一台机) sockchannel反向/重定向端口的后核级后门,在内网某台机安装在外网就可直接登录到内网,与网关无关* SocksCap 把socks5代理转化为万能代理 SPC.zip 可以直接显示出远程win98共享资源密码的东东 sql2.exe mssql溢出程序3 SqlExec mssql客户端 SuperScan GUI界面的优秀扫描器 syn syn攻击第一咼手 upx120 压缩比最大的压缩软件,木马压缩后可以躲避某些杀毒软件, 但不如fsg软件好。 wget 命令行下的http下载软件 Win 2kPass2 win2k的密码大盗 Winn uke 攻击rpc服务的软件(win2ksp0/1/2/3+winnt+winxp 系统不稳定

攻击netbios 的软件(win2ksp0/1/2/3+winnt+winxp 系统死机)smb nuke

木头超级字典生成器使用教程

木头超级字典生成器使用完 全教程 第一部份、木头超级字典生成器简介及用途说明一、软件介绍 木头超级字典生成器是一款专业的字典制作工具集,包括字典生成、修改、分割、合并、清理等工具。 生成字典工具除具有其本的常规字典生成功能外,还能实现拼音字典、汉字字典、英语字典、姓名字典、社会工程字典以及分组字典。修改、合并、分割、清理工具实现字典变幻功能。还提供字典属性查看,字典快速预览辅助工具。灵活运用本软件功能,可以生成多种特殊要求的字典。在生成字典前可精确估算字典大小和字典文件大小,使用你可以跟据当前软硬件资源限制来制作字典,避免盲目生成字典的情况。软件支持大字典直接分割输出,可设置每个字典文件大小,便于你的后续工作分批量处理。 木头超级字典生成器以数学模型为理论基础,各功能模块相当于一个数学运算步骤,制作一个字典就像解一道数据题,灵活运用,变化多端,充分发挥你的想象力,生成一个字典甚至可以找到多种方法。在本教程的后面,我们将举例说明,希望达到抛砖引玉的作用。 二、运行环境 1、硬件要求 最低配置:CPU:奔腾Ⅲ450M硬盘:4.3G内存:128M 以上为软件运行的最低配置,硬件配置当然越高越好,软件运行速度越快。如果生成字典比较大,尽量使用配置高的电脑。 2、软件要求 操作系统:Windows 2000 、Windows XP、Windows2003、Windows Vista、Windows 2008、Windows 7

其它软件:WINXP,WIN2003用户安装必须安装补丁Microsoft .NET Framework 2.0 Service Pack 2 注意是SP2补丁. 下载地址: https://www.wendangku.net/doc/5f12884057.html,/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyI D=5b2c0358-915b-4eb5-9b1d-10e506da9d0f 微软官方补丁,请放心下载。此下载页面有三个适用不同操作系统的下载链接,一般使用32位winxp的用户较多,即下载最后一个32位补丁。 WIN Vista,WIN7用户可直接使用。 三、软件安装及删除 首先下载最新版的木头超级字典生成器,官方下载地址: https://www.wendangku.net/doc/5f12884057.html,/dwon/mutoudic.rar,利用winrar解压后运行安装程序setup.exe即可。在安装过程中你可以选择软件安装目录,如果是升级安装请先删除原版本所有文件再安装。本软件无病毒无插件,可放心使用。 删除软件请运行软件目录下的删除程序uninstall.exe。可完全删除本软件。 四、主要用途 字典生成器的用途非常广泛,可以用于生成产品序列号、产品防伪编号、生成群发邮件地址、生成群发短信手机号码、穷举彩票号码、穷举用户帐号密码等。(为了叙述方便,在本文中统一把字典中的每一行都称为密码) 严正声明:本软件不得用于非法目的,非法使用本软件其后果由使用者承担。 第二部份、木头超级字典生成器功能详解 打开木头超级字典生成器,进入木头超级字典生成工具集主界面(如下图)。主要功能在主界面左侧按扭式排列。可同时打开多个子窗口。下面对每一项功能分析说明。

Cain 使用手册

Cain 使用手册 译:淄博网警 SeeYou 2007年2月14日 Cain 是著名的 Windows 平台口令恢复工具。它能通过网络嗅探很容易的恢复多种口令,能使用字典破解加密的口令,暴力口令破解,录音 VoIP(IP电话)谈话内容,解码编码化的口令,获取无线网络密钥,恢复缓存的口令,分析路由协议等。 下载:http://www.oxid.it/cain.html http://www.oxid.it/downloads/ca_setup.exe 系统组成 Cain & Abel 是两个程序。Cain 是图形界面主程序;Abel 是后台服务程序,由两个文件组成:Abel.exe 和 Abel.dll。 l10MB 硬盘空间 l Microsoft Windows 2000/XP/2003 l Winpcap 包驱动(V2.3 或以上;4.0版本支持 AirPcap 网卡) l程序由以下文件组成: cain.exe 主程序 CA_UserManual.chm 用户手册 Abel.exe 名为 Abel 的可的 Windows 服务 Abell.dll 程序支持文件 Wordlist.txt 小型口令文件 Instal.log 程序安装日志 oui.txt MAC 地址厂商文件 <安装目录>\winrtgen\winrtgen.exe 字典生成器 <安装目录>\winrtgen\charset.txt 字符集文件 <安装目录>\Driver\WinPcap_4_0_beta2.exe 原始 Winpcap 驱动程序 Abel 是一个服务程序,由两个文件组成:"Abel.exe" 和 "Abel.dll",服务并不能自动安装到系统中。可用 Cain 将 Abel 安装到本地或远程,但需要管理员权限。 l本地安装: 1、复制"Abel.exe"和"Abel.dll"到系统安装目录%WINNT%(如C:\Windows) 2、运行 Abel.exe 安装服务 3、使用 Windows 服务管理器开始Abel服务 l远程安装: 1、使用Cain的网络表(Network TAB),选择远程主机

CANopen对象字典生成办法

CANopen对象字典生成办法 CANopen协议是一种基于控制器局域网(CAN)的应用层协议,该协议具有实时高效、组网灵活和产品兼容性高等优势,CANopen协议在国内越来越受到青睐,其应用领域也越来越多广泛,不仅应用于过程与生产自动化等领域,还涉及到医疗、铁路、军事、太阳能等等领域。目前CANopen协议由CiA(CAN in Automation)组织负责管理与推广。 对象字典是CANopen通信接口与应用程序之间接口,是CANopen协议的重要组成部分。在CANopen网络中,每个标准的CANopen设备都有一个对象字典,用来描述CANopen设备的全部功能。 一般在CANopen配置或者开发工程中,对象字典的创建与管理是一个不可缺少的步骤,同时也是保证CANopen正常通讯的重要保障。如果CANopen系统工程相对比较简单,人工编写对象字典是可行的。但是如果面对系统较复杂、通讯量庞大的CANopen工程,单纯用人工编写对象字典是很低效的,同时也很容易出现编写错误,可能给CANopen工程带来潜在的危险。为了提高对象字典的编辑效率,同时最大限度地避免对象字典的编辑错误,本文描述的一个快速可靠的对象字典生成器ODBuilder,为CANopen工程的对象字典生成与修改提供一个很好的解决方案。 一、对象字典结构与EDS文件描述 1.1对象字典结构 对象字典是一个有序的对象组,每个对象采用一个16 位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个 8 位的子索引。对象字典中索引值 0000- 0x0FFF 是数据类型的定义,具体类型有固定的分区。而一个CANopen节点的对象字典相关的常用范围在 0x1000 到 0x9FFF 之间。其中,索引1000h-1FFFh描述的是通信对象(COB),如设备类型,错误寄存器,支持的 PDO 数量等等,该参数定义了CANopen 接口的通信功能。索引2000h-5FFFh是预留给制造商定义的特定对象。索引000h-9FFFh是用于标准化设备子协议的对象描述,例如I/O模块子协议、驱动与运动控制设备子协议、传感器与测量设备子协议、医疗器材子协议、电梯子协议等等。CANopen 对象字典通用结构如表1所示。 索引对象 0000h未用(Not used) 0001 - 001F静态数据类型 (标准数据类型,如 Boolean, Integer 16) 0020 - 003F复杂数据类型 (预定义由简单类型组合成的结构 如 PDOCommPar,SDOParameter) 0040 - 005F制造商规定的复杂数据类型

常用密码字典生成规则

常用密码字典生成规则 常用密码字典都有哪些生成规则/方式?根据笔者调查的30个路人统计,其中1 8个人使用的密码是自己的生日或者手机号码,或有纪念意义的数字,8个人使用的密码来自自己的名字或有意思的英文字符,只有4个人使用密码的时候会加上特殊符号或者大小写,前两种必然没有最后一种方式安全,难道我们设置密码的方式都这么简单吗,能不能设置更复杂但好记的密码? 什么是密码字典? 所谓的密码字典,主要是配合密码破译软件所使用,密码字典里包括许多人们习惯性设置的密码,这样可以提高密码破译软件的密码破译成功率和命中率,缩短密码破译的时间,当然,如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密码破译所需要的时间。 注:请酌情使用密码破译,本文仅作参考。 常用密码字典都有哪些生成规则/方式? 一、密码字典分类: 1、密码字典常规字典 采用递归运算,自定义生成包含任意字符或汉字的字典。 2、密码字典不同字符集 “每位使用不同字符集”功能:此功能乃木头字典生成器所特有,可以为密码字典的每一位设置不同的字符集。 3、密码字典日期字典

生日字典:可生成6位或8位日期密码字典(生日密码字典),支持多种年,月,日,的组合格式。 4、密码字典英文字典 软件自带常用英语单词,英语人名词典和英语地名词典可方便地加入到字典中。 5、密码字典弱口令字典 软件件自带弱口令集,且你可以根据需要自已手动添加弱口令。弱口令集放到所有字典的前列,效率更好。 6、密码字典拼音字典 独有的汉字拼音字典功能,可任意设置拼音的大小写和首字母大写。 7、密码字典电话号码生成 手机号码生成器:电话号码生成器自动生成指定地点的中国移动和中国联通的手机号码,也可生成固定电话号码。 8、密码字典姓名拼音字典 姓名字典生成器生成包括百家姓的姓名汉字或拼音字典 9、密码字典汉字注音 给已有中文文本文件注音。支持拼音单独输出或汉字拼音交替输出。 10、密码字典分割输出 支持字典分割输出,自动分割大字典文件。 你可以任意选择基本字符串和密码长度,精确估算生成字典记录总数和字典文件大小。防止设置过大字典生成时造成死机。 二、密码字典修改模式:

ORACLE自动生成全库数据字典

DECLARE VC_SQL VARCHAR2(32767); V_IS_EXIST NUMBER; V_SEQ NUMBER DEFAULT 0; CURSOR CUR_TAB IS SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME; BEGIN SELECT COUNT(1) INTO V_IS_EXIST FROM USER_TABLES WHERE TABLE_NAME = 'MY_TAB_STRC'; IF V_IS_EXIST = 0 THEN VC_SQL := 'CREATE TABLE MY_TAB_STRC(COL1 VARCHAR(1000) ,COL2 VARCHAR2(4000), COL3 VARCHAR2(30) ,COL4 VARCHAR2(4000) ,COL5 VARCHAR2(10) ,COL6 VARCHAR2(4000),COL7 VARCHAR2(4000),TAB_SQ NUMBER(10),SQ NUMBER(10))'; EXECUTE IMMEDIATE VC_SQL; ELSE VC_SQL := 'TRUNCATE TABLE MY_TAB_STRC'; EXECUTE IMMEDIATE VC_SQL; END IF; FOR CUR IN CUR_TAB LOOP V_SEQ := V_SEQ + 1; VC_SQL := 'INSERT INTO MY_TAB_STRC ' ||' SELECT COL1 ,COL2 ,COL3 ,COL4,COL5,COL6 ,COL7 ,COL8,'||V_SEQ ||' FROM ( ' ||' SELECT ''表名称:'''||'||COMMENTS||'||'''('||CUR.TABLE_NAME||')'''||' AS COL1, NULL AS COL2 ,NULL AS COL3 ,NULL AS COL4 ,NULL AS COL5,NULL AS COL6,NULL AS COL7,-2 AS COL8 ' ||' FROM USER_TAB_COMMENTS WHERE TABLE_NAME='''||CUR.TABLE_NAME||'''' ||' UNION ALL ' ||' SELECT ''序号'' COL1, ''字段名称'' COL2, ''字段ID'' COL3,''数据类型'' COL4,''是否主键列'' COL5,''为空'' COL6,''备注'' COL7,-1 COL8 FROM DUAL ' ||' UNION ALL ' ||' SELECT TO_CHAR(COLUMN_ID) COL1,SUBSTR(https://www.wendangku.net/doc/5f12884057.html,MENTS,1,10) COL2,A.COLUMN_NAME COL3,' ||' DECODE(A.DATA_TYPE ' ||' ,''NUMBER'' ,DECODE(A.DATA_PRECISION, NULL, ''NUMBER'' ,''NUMBER('' || DATA_PRECISION || '','' || DATA_SCALE || '')'') ' ||' ,''VARCHAR2'' ,A.DATA_TYPE || ''('' || DATA_LENGTH || '')'' ' ||' ,''CHAR'' ,A.DATA_TYPE || ''('' || DATA_LENGTH || '')'' ' ||' ,''DATE'' ,A.DATA_TYPE ' ||' ,A.DATA_TYPE) AS COL4, NULL COL5,DECODE(A.NULLABLE,''Y'',''是'',''N'',''否'') COL6' ||' ,SUBSTR(https://www.wendangku.net/doc/5f12884057.html,MENTS,11) AS COL7,COLUMN_ID COL8' ||' FROM USER_TAB_COLUMNS A,'

相关文档