Autocad Mechnical定制自己的文件

时间:2023-04-11 03:37:48 作者:三也 综合材料 收藏本文 下载本文

【导语】“三也”通过精心收集,向本站投稿了6篇Autocad Mechnical定制自己的文件,下面是小编整理后的Autocad Mechnical定制自己的文件,欢迎您阅读分享借鉴,希望对您有所帮助。

篇1:Autocad Mechnical定制自己的文件

1.图幅的定制:

国标里对图幅、标题栏都有规定,所以的制图都是从图幅的制定开始的,在这里我的体会是:电脑制图与手工制图最大的不同是:手工绘图图幅是一定的,零件进行缩放以适应图幅;而电脑绘图则正好相反,是图幅放大或缩小来适应零件的大小,零件永远以1:1的大小绘制,这是许多新手不能适应的,有的人仍然在将零件进行缩放来适应图纸,标注时来改变比例,这是不合理的做法,这样做在标注尺寸、绘制装配图时都会带来不利。如果你所有的零件都是以实际大小绘出,就不会有这种问题,下面是在2006机械版里制作标准图框和标题栏的方法(以A4为例,其他类似):

先绘制一个图框,外框线用直线line命令绘制,内框线用多段线Pline绘制,线宽为0.5,用text命令输入:“!GENTITLE-INSERT”(插入点为标题栏要插入的右下角的点,字高随意),以后在调用图框和标题栏时不需要每次都选择插入点。这一节请仔细阅读帮助文件,下面有一部分就是选自帮助文件中的内容,不敢说是自创,呵呵,但此文中大部分是使用的经验。

要说明的是:这里所做的工作是建立在如下图方式建立新文件,最好不要以其他模板文件方式打开。

标题栏绘制及块属性定义好见下图:

标题栏包含两种类型的文本:用于标题的静态文字和用于标题栏条目的变量文字。

静态文字

AutoCAD Mechanical 附带的标题栏中的静态文字按可本地化的文本字符串进行处理。因此,工程图语言变更时,会自动翻译静态文字。静态文字形式通常为 Igenmsg “gentitis” 68{22.7},其中

IgenMsg 向语言转换器执行呼叫,指示它从多语言词典文件 (*.mld) 中检索文字。

gentitis 为多语言词典文件名称(多语言词典文件存储在 acadm/translator 文件夹中)。

68 为要检索的文字的识别号。

{22.7} 为定义的文字宽度与文字高度之比。

例如,如果文字高度为 5 个单位,可用空间的宽度为 100 个单位,则弯括号中应输入的值为 20。

如果要自定义静态文字,并且无需翻译,可直接键入所需文字。

变量文字/标题栏属性

标题栏中的变量文字作为块属性进行处理。它们的格式通常为 GEN-TITLE-SOMENAME {12.3},其中

GEN-TITLE-SOMENAME 为属性名称。

{12.3} 为定义的文字宽度与文字高度之比。

例如,如果文字高度为 5 个单位,可用空间的宽度为 100 个单位,则弯括号中应输入的值为 20。

标题栏属性包括:

属性定义 GEN-TITLE-APPM批准人 GEN-TITLE-CHECKD审核日期 GEN-TITLE-CHKM审核人 GEN-TITLE-CTRN联系电话 GEN-TITLE-DACT设计活动 GEN-TITLE-DAT草图日期 GEN-TITLE-DES1工程图标题 GEN-TITLE-DES2工程图子标题 GEN-TITLE-DWG文件名 GEN-TITLE-FSCMFSCM 编号 GEN-TITLE-ISSD发行日期 GEN-TITLE-ISSM发行方 GEN-TITLE-MAT1材料线 2 GEN-TITLE-MAT2材料线 1 GEN-TITLE-NAME绘图人 GEN-TITLE-NORM1原料线 2 GEN-TITLE-NORM2原料线 1 GEN-TITLE-NR图号 GEN-TITLE-PLOT出图日期 GEN-TITLE-POSI项目编号 GEN-TITLE-QTY数量 GEN-TITLE-REV版本 GEN-TITLE-SCA比例因子 GEN-TITLE-SHEET图纸编号 GEN-TITLE-SIZE大小 GEN-TITLE-WT权值

制作好图框文件取名如A4、A3……A0,放到安装目录的X:\\Program Files\\Autodesk\\Acadm2006\\Acadm\\Gen\\DWG\\Format中

制作好的标题栏取好名如:btl.dwg,然后将此文件放到安装CAD的目录中去(X:\\Program Files\\Autodesk\\Acadm2006\\Acadm\\Gen\\DWG\\title中)

按上面插图选择好图纸格式、标题栏、比例(可以输入自己想要的比例),确定后输入插入点即可。

上图显示的输入对话框就是在定义标题栏时定义的属性。

1.图幅的定制:

国标里对图幅、标题栏都有规定,所以的制图都是从图幅的制定开始的,在这里我的体会是:电脑制图与手工制图最大的不同是:手工绘图图幅是一定的,零件进行缩放以适应图幅;而电脑绘图则正好相反,是图幅放大或缩小来适应零件的大小,零件永远以1:1的大小绘制,这是许多新手不能适应的,有的人仍然在将零件进行缩放来适应图纸,标注时来改变比例,这是不合理的做法。这样做在标注尺寸、绘制装配图时都会带来不利。如果你所有的零件都是以实际大小绘出,就不会有这种问题,下面是在2006机械版里制作标准图框和标题栏的方法(以A4为例,其他类似):

先绘制一个图框,外框线用直线line命令绘制,内框线用多段线Pline绘制,线宽为0.5,用text命令输入:“!GENTITLE-INSERT”(插入点为标题栏要插入的右下角的点,字高随意),以后在调用图框和标题栏时不需要每次都选择插入点。这一节请仔细阅读帮助文件,下面有一部分就是选自帮助文件中的内容,不敢说是自创,呵呵,但此文中大部分是使用的经验。

要说明的是:这里所做的工作是建立在如下图方式建立新文件,最好不要以其他模板文件方式打开。

标题栏绘制及块属性定义好见下图:

标题栏包含两种类型的文本:用于标题的静态文字和用于标题栏条目的变量文字。

静态文字

AutoCAD Mechanical 附带的标题栏中的静态文字按可本地化的文本字符串进行处理。因此,工程图语言变更时,会自动翻译静态文字。静态文字形式通常为 Igenmsg “gentitis” 68{22.7},其中

IgenMsg 向语言转换器执行呼叫,指示它从多语言词典文件 (*.mld) 中检索文字。

gentitis 为多语言词典文件名称(多语言词典文件存储在 acadm/translator 文件夹中)。

68 为要检索的文字的识别号。

{22.7} 为定义的文字宽度与文字高度之比。

例如,如果文字高度为 5 个单位,可用空间的宽度为 100 个单位,则弯括号中应输入的值为 20。

如果要自定义静态文字,并且无需翻译,可直接键入所需文字。

变量文字/标题栏属性

标题栏中的变量文字作为块属性进行处理。它们的格式通常为 GEN-TITLE-SOMENAME {12.3},其中

GEN-TITLE-SOMENAME 为属性名称。

{12.3} 为定义的文字宽度与文字高度之比。

例如,如果文字高度为 5 个单位,可用空间的宽度为 100 个单位,则弯括号中应输入的值为 20。

标题栏属性包括:

属性定义 GEN-TITLE-APPM批准人 GEN-TITLE-CHECKD审核日期 GEN-TITLE-CHKM审核人 GEN-TITLE-CTRN联系电话 GEN-TITLE-DACT设计活动 GEN-TITLE-DAT草图日期 GEN-TITLE-DES1工程图标题 GEN-TITLE-DES2工程图子标题 GEN-TITLE-DWG文件名 GEN-TITLE-FSCMFSCM 编号 GEN-TITLE-ISSD发行日期 GEN-TITLE-ISSM发行方 GEN-TITLE-MAT1材料线 2 GEN-TITLE-MAT2材料线 1 GEN-TITLE-NAME绘图人 GEN-TITLE-NORM1原料线 2 GEN-TITLE-NORM2原料线 1 GEN-TITLE-NR图号 GEN-TITLE-PLOT出图日期 GEN-TITLE-POSI项目编号 GEN-TITLE-QTY数量 GEN-TITLE-REV版本 GEN-TITLE-SCA比例因子 GEN-TITLE-SHEET图纸编号 GEN-TITLE-SIZE大小 GEN-TITLE-WT权值

制作好图框文件取名如A4、A3……A0,放到安装目录的X:\\Program Files\\Autodesk\\Acadm2006\\Acadm\\Gen\\DWG\\Format中

制作好的标题栏取好名如:btl.dwg,然后将此文件放到安装CAD的目录中去(X:\\Program Files\\Autodesk\\Acadm2006\\Acadm\\Gen\\DWG\\title中)

按上面插图选择好图纸格式、标题栏、比例(可以输入自己想要的比例),确定后输入插入点即可,

上图显示的输入对话框就是在定义标题栏时定义的属性。

2.机械制图定制模板的制作过程:

制作适合自己的模板是很重要的,这里可以完成字体的选择、序号、明细表数据库的定义、明细表头的制作、标注样式的定制等一系列工作,为以后制图打下快捷的基础,完成这些工作,以后每次以此模板建立新文件就可以省去这些设置工作。

2.1图层的定义:

在这个Mechnical版本里,不可以在辅助菜单下的图层/图层组来定义自己需要的图层,而是要从工具栏的空白处点右键打开AMCAD中的图层来建立图层,按国家标准的规定设置好你需要的线型、粗细、颜色等后确定完成图层的建立。

2.2字型的定制:

机械制图一般采用GB2312_仿宋为基本字体,所以要将图形中的字体修改为此种字体,方法为:在辅助菜单下的格式-字型-字型

打开文字样式对话框,将ACISOGDT、ACISOTS、STANDARD的字体改为仿宋GB_2312应用后关闭。当然你也可以按你的需要改变字体。

以此法可以将标注样式进行设置,位置在辅助菜单-格式-标注样式。

2.3明细表头定制:

按国家标准建一个明细表头如下图,用block命令存成块,基点选在表头的右下角以便插入时用,选择对象下点选删除项,选择全部对象后确定。

2.4建立BOM表数据库:

这是建立明细表的重要工作,因为Mechnical版本中已有的明细表的格式并没有符合我们国家标准的明细表的格式,必须进行定制,可以按下面的操作步骤进行建立,建立后的明细表进行调用。

第一步:选择注释菜单下的明细表工具-BOM表数据库;

第二步:点击后按回车出现下面的对话框:

第三步:点击左下角对象特性:

第四步:去掉说明、标准前面的勾,然后点击右下角的>>按钮:

第五步:分别点用户1、用户2、用户3,分别点添加列,然后将名称分别改为单重、总计、代号,然后鼠标放到其左端,变成    点击选中,然后按住左键移到相应位置,与表头一致,移成后如下图:切记不要移动其他的项。

第六步:改变图中的宽度为:8(序号)、44(代号)、40(名称)、8(数量)、38(材料)、10(单重)、12(总计)、20(备注),使之与表头一致,并将数据对齐方式按需要将单重和总计改为中间对中,数据类型改为数值,然后确定完成BOM表数据库的定制:

2.5序号的定制:

因为在绘制装配图时要拉出序号,可以按照国标的规定和你喜欢的拉出序号方式进行定制,下面是我定制的我喜欢的方式:

第一步:选择注释菜单下的明细表工具-引出序号,输入字母M,回车

采用手动方式进行序号的生成,以后实际应用时也采用这种方式。

第二步:在屏幕上任意地方点一下(正常使用时点在你要标注的件上)出现下面的对话框,可以看到你刚才定制的BOM表数据库里的内容了:

在这里可以什么都不输入,只是为了定制序号的需要,直接按确定:

第三步:将十字鼠标在那个带X的圆内点一下,然后拉出去任意位置点一下,然后点右键,呵呵,就成了下面的样子了:

现在你双击那个带X的圆看看是不是这个?你可以修改哟:

双击引出线或数字1看看,是这样吗?进行下一步吧。

第四步:点击左下角的对象特性,可以修改替代引出序号类型、字高、附加设置、箭头类型(一般用小的那个黑圆点),确定即可。

别忙,还没有完呢,还有个重要工作要做,就是将刚才的序号中的数值1要改为0,不然后以后正常用时就会从2开始计零件了,呵呵。

第五步:确定后回到前一个对话框,将序号中的1改为0:

然后确定,将刚才做成的序号全部删除,工作区内不要留任何图形存在,就是下面这样了。

第六步:也是最后一步,就是将文件存为AutoCAD Mechnical 图形样板(.dwt),名字你自己取,

呵呵,好啦,所有的定制工作就算完成了,下面再简单介绍一下调用方法:

新建文件,选择使用样板-选择你定制的那个样板文件,确定

注释菜单-工程图标题/更改栏-工程图标题栏/边框,打开对话框

打开“带标题栏的边框”对话框,选择图纸格式、标题栏、比例后确定。

选择插入点,后出现下面的对话框:

填写标题栏的内容后确定:

3.下面介绍明细表的制作方法:

第一步:插入菜单-块,选择名称为“明细表头”-确定,选择插入点后插入。

第二步:注释菜单-明细表工具-引出序号,命令行输入m,回车。

第三步:在代号、名称、材料等后面输入内容,注意左下角的“零件参照数量”就是让你填写该零件的数量的,然后确定,在带X的圆内点一下,拉出到你想放的位置点一下,然后点右键就成下面的图了。

按同样方法建立4个零件明细,见下图:

这里介绍一下零件序号的叠放方法,如上图,要将件3和4叠为一体,注释菜单-明细表工具-合并引出序号:

这时所有带X的圆都呈红色,选择要合并的3和4号后(不要点带X的圆,而是点3和4号或其线上,否则4号就会仍然给你留着,呵呵)击右键,选择3号,选择是水平放还是垂直放,先演示水平放,见下图:

看着不顺眼吧,别急,双击3-4,出现下面的对话框,点左下角的对象特性。

点“替代引出序号类型”按钮,选择其右下角“锯齿形”后确定-确定。再看看:

注意哦,不要将那个空着的带X的圆删除,一删除件4就会没有了,这个标记是零件的标记而已,打印不出来的。

再演示垂直放置:选择合并引出序号,击3和4号,点右键,选择叠在3号上,向上拉看到移动的向上放置时点左或右键就放好了,但看起来好象不太符合我们国家的标准哟,不知道是不是可以改,我是没有找到办法。见下图:

第四步:做明细表,菜单注释-明细表工具-明细表:

直接回车,出现下面对话框,关掉切换表头开/关,不要插入自带表头,因为我们已插入了自定义的表头。

然后点第一排第三个按钮“插入列”:

将插入列中的全部选中后确定。

出现对话框后将数量和材料选中,按住左键将其移到名称后面确定,然后插入表头的右下角即可,见下图:

4.下面介绍一下增加和删除一个序号(零件):

41增加一个零件:用“引出序号”增加一个零件,

然后用“重编引出序号”,将序号改过来,

看到明细表中序号乱了,双击明细表框出现,点击排序按钮:

出现排序,点依据1,选序号,点升序

两次确定后再看看:

4.2删除一个零件:注意,删除零件序号时一定要删除那个带X的圆才行,不然删掉的不是零件,明细表不会跟着变,我们删除件2,变成下图:

然后按增加一个零件的方法重编引出序号,明细表也就会跟着变了,见下图:

篇2:教你定制自己的AutoCAD

朋友们在用AutoCAD制图的过程中,是否经常为每次制图前一些类似图层设置的重复工作而感到心烦呢?其实,根据个人的情况量身定做一个自己的模板(样板)就能够让这个问题迎刃而解,怎么?很简单,打开你的AutoCAD一起来试试看:

首先打开AutoCAD 图形默认的模板(样板)文件 acad.dwt 或 acadiso.dwt,这个图形当然是全空的,首先根据个人情况设置常用图层,打开图层设置管理器,使用Alt+N新建几个图层,并根据图层的用途分类命名,并根据个人需要设置图层颜色、线型、线宽等,设置完成点确认添加图层,

然后点击菜单”文件—另存为“,弹出“图形另存为”对话框,注意在文件类型中选择AUTOCAD图形样板(*.dwt)选项,给自己做的图形样板命名保存就可以了。

如果想要把自己做的样板变成CAD的默认样板,也可以把这个文件另存为系统的默认样板文件acad.dwt 或 acadiso.dwt覆盖原文件即可。

CAD样板做好之后,在以后的制图工作中,在新建文件的对话框输入文件名直接打开自己建立的样板,就可以免去重复做图层的设置工作了。

本文只是给大家做了个简单的例子,其实在CAD样板的设置中还可以增加许多常用设置,例如在图纸中也可以把平时制图常用到的通用零件做成块插入这个新图纸中,调整打印机器的布局设置,调整标注样式等等……这里笔者扔块砖头,朋友们自己动手尝试一下找出那块适合自己的玉吧。

篇3:定制迅雷文件后缀减少软件查毒时间

在迅雷中,我们可以指定一个杀毒程序,用来查杀下载回来的文件是否有病毒,如果你下载回来的文件不是很多,在迅雷调用杀毒软件后,不用很长时间,杀毒软件就能将文件“扫描”完毕。可如果你下载回来的文件很多,杀毒软件就会“没完没了”的进行查杀病毒的工作。这种长时间的查杀病毒的工作,对系统资源的占用率比较高,从而对你其它的工作会造成影响。我这里有一个小窍门,能帮助你解决这个问题。

运行迅雷,点击“工具”→“配置”,在的打开“配置”对话框中单击“病毒保护”选项,然后在对话框的左侧勾选“下载完成后杀毒”,

如果想减少杀毒软件查杀病毒的时间,你可以将部分后缀名删除,也就是说,不让杀毒软件对此类文件进行扫描。我之只保留了rar、zip、exe、com、dll这几个文件。提醒大家注意,在设定文件后缀名时,不能将每两个后缀名之间的分号去掉!

可能会有朋友问,删除部分文件后缀名就能减少杀毒软件的杀毒时间,这是为什么呢?这是因为现在的杀毒软件,基本都是采用“嵌入”式杀毒方式,这种方式会对每一个文件都进行扫描、分析。如果遇到压缩文件,杀毒软件还会“深入”到压缩包内进行查杀。因此出现“没完没了”的查杀病毒的情况也就不奇怪了。

篇4:Shellcode学习之定制自己的shellcode

F.Zh这个名字被女友无情枪毙,以后这个系列就换成沙布拉尼尔为大家介绍了,

定制自己的shellcode无非是两个原因:exploit的特殊要求,或者是逃脱各种杀毒软件或者IDS什么的。上次说了一个把shellcode先拆分然后再组合,其结果是会加长shellcode的字节一倍左右,这次再来说说其他的方法,难度可能稍微大一些,但是相应的效果会更好。

在这里依然作一个约定,首先,shellcode是在原来的基础上修改,也就是说,我们只考虑编码的方式,而具体的shellcode编写方法,外面其实已经有介绍了;其次,shellcode一般分为前面的decode部分和后面编码过的真正起作用的部分,没有特殊的说明,文中出现的shellcode 都指后面一部分。

依然以一个具体的要求来作为引子,我们一步一步地去构造。假设我们需要的shellcode长度不能超过500字符(这个其实已经很宽松了),而且只能作为非大写字母的文件名,也就是意味着我们不希望有小写字母、点号、星号、问号还有左右斜杠等出现。总的来说,这还是算一个比较苛刻的条件,如果没有长度的限制,上面一篇文章已经能够很好的解决了,这里对长度的要求有点死,我们来试试看其他的路子。

倘若将起作用的shellcode看成一个没有规律的字符串,首要的一个工作是用一个较为简单的算法(之所以说要较为简单的算法,是为了解码部分的编写工作量不至于太大),把这个乱七八糟的字串编码,以避开那些禁用的字符。从可操作性上而言,用异或的方法无疑是最快最好的,因为异或操作映射后的结果比较发散,相比单独的与或操作可以得到的结果更多,更重要的是这是一个可逆的运算,便于我们还原。我记得上次说过如果shellcode依次与多个字符异或,那么出现特殊字符的几率将会大大的减小,对于这样的说法,我们做理论分析如下。

下面我们来看这种字符串等价划分方法。

用图表示一下这个等价划分方法是这样的,其中SSSS表示原来的shellcode,abcd表示标识。

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS...

----------------------------------------------------

abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcda...

如果是一个模四的等价划分,即为所有原来字符第0、4、8……个字符重新排列成一个字符串(也就是所有标识为a的S),而第1、5、9……个字符重新排列成另一个字符串(标识为b的S),以此类推。这样划分出来的若干个字符串,相对来说是独立的,可以单独的进行运算而互相不影响。

需要说明的是,一般的编码方法只是考虑不要出现结束符“”x00“就可以,如果要使得编码后不出现上面这么多的字符,只和一个简单字符做异或运算能成功的几率还是比较小的。考虑一个足够长而且字符分布均匀的字串,进行等价划分后得到的字串和原来应该还是有着相似的性质,即同样分布均匀而且异或任何一个字符后的结果还是几乎覆盖了全部字符(不用证明了吧……),但事实上shellcode的长度有限而且内容相对固定,所以采用等价划分的方法后取出的每个字符串,在与某个字符异或后的结果在全部ASCII字符中的分布情况肯定相对集中而且稀疏(有很多不会出现),一旦所有禁用字符都没有出现,这个划分就应该是成功的。而且显而易见的,等价子串的长度越小,这种划分成功的几率越大。

关于这个结论,还有一个更加直观理解方法。我们始终假设字符串的分布均匀,所有的ASCII码总共是255个(抛开不能用的0x00),长度为300的字符串经过异或以后分布肯定还是比较均匀的,但是一个只有8个字符的字串异或后就很有可能最多只有8个不同字符,不出现禁用字符的可能性相当大。

上面所有的讨论都是理论上的,对于出现的几率,分析的时候可以说“很大”或者“很小”,然而具体的设计中只有成功或者失败,即使很小的概率也不能保证成功,现实世界一个特点就是小概率事件往往还是会发生(就象我被三楼扔下来的篮球砸到过一样),不做做看是不晓得的。

划分等价类的时候,要决定划分的依据是模几,这个数字虽然说是越小越好,但是还是要实际的去选择,先写个程序来选择一下,当然,选择的标准是,划分后每一个子串都可以与某个字符异或而不产生禁用的字符。

1 for(int wokao=0; wokao

2 {

3 printf(”%d   :“,wokao);

4 int ko=(sizeof(sc)-1)/para;

5 for(int i=0; i

6 p[i] = sc[i*para+wokao];

7 for(i=1; i<255; i++)

8 {

9 for(int j=0; j

10 if(inbadchar(p[j]^i))

11 goto l;

12 playboy = i;

13 if(!inbadchar(playboy))

14 {

15 printf(”0x%0.2x,“, playboy);

16 temps[wokao] = playboy;

17 }

18 exit(0);

19 l:;

20 }

21 printf(”“n”);

22 }

这个微小的片断可以描述我们选择的依据。参数para作为我们划分等价子串的标准,在写出具体的判定程序时候,最好能是一个动态确定的数。ko是每一个子串的长度,在内层的第一个for循环中,ko作为循环的长度,依次把原来shellcode中的数据取到临时一个串p[]里面去,每一次大的循环取一条子串,当外层循环做完的时候,一个划分也完毕了。

从第7行开始,是一个划分是否成功的判断。前面说过,成功的必要条件是这个子串能够与某一个字符异或而不出现特殊字符,9行到11行就是做这个工作的。 12行记录下这个字符即playboy,如果整个子串与playboy异或而不产生特殊字符,那么这一个子串是完美的,如果所有的子串都完美,那么这个划分就是完美的。

细心的你也许发现了一个问题,为什么还要判断playboy是否是禁用字符呢?其实这是为了以后的考虑,因为编码后的shellcode满足要求只是我们完全成功的一个必要条件,另外一个必要条件是解码部分也不能出现禁用的字符。一般来说,playboy这些字符在解码部分会原封不动的出现(XOR指令编译成机器码后),我们固然可以用寄存器加上运算的方法来避免,但是这样的工作量太大,已经远远的超出了我们的想象。

在多次修改para的值以后,你会发现最好的数字是13。其实很多情况下我们只要知道这个数字就可以了,上面很多分析只是提供思路上的一个说明,告诉人家这个数字怎么得到而已。我们可以想象,para这个数字很小的话,便于解码部分的书写,如果太大的话,shellcode编码后的数据产生禁用字符的可能性减小了,但是解码部分又太难书写,折衷下来,还是7或者13比较好。当然,这是经验性质的,遇到特殊情况,你还是要自己算。在计算的时候,有些有趣的结论可以在这里说一下,如果你发现para为N的划分可以满足要求的话,那么N的倍数的划分肯定是可以的,而反之则不然,所以最好从小往大去试那个 para。

那么,我们以13作为等价划分的标准做一个例子,其他划分标准原理是一样的。

以13为划分标准的话,首先,我们的shellcode被我们分成了13个子串。按照下图所表示,相同子母标识的在同一个子串中,相应的与不同的字符异或。

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS...

---------------------------------------------------------

abcdefghijklmabcdefghijklmabcdefghijklmabcdefghijklmab...

可以看到,动态的把原始的shellcode编码以后,进行解码的时候是一个长度为13的循环解码过程,

上面那段小程序把para改为13就是完整的动态编码,最后在temps这个字符串中,记录的结果是这13个满足条件的异或字符,用直观的表来表示的话,我们假设原始的shellcode是ssss,编码后的shellcode是tttt,而满足条件的异或字符是a~m,下面就是编码的过程:

ssssssssssssssssssssssssssssssssssssssssssssssssssssss...

XOR) abcdefghijklmabcdefghijklmabcdefghijklmabcdefghijklmab...

--------------------------------------------------------------

tttttttttttttttttttttttttttttttttttttttttttttttttttttt...

异或的可逆性决定了其逆向解码的过程是:

tttttttttttttttttttttttttttttttttttttttttttttttttttttt...

XOR) abcdefghijklmabcdefghijklmabcdefghijklmabcdefghijklmab...

--------------------------------------------------------------

ssssssssssssssssssssssssssssssssssssssssssssssssssssss...

由于固定了等价划分的标准是13,上面的程序可以帮助我们生成满足条件的异或字符(表示为a~m的)。剩下的工作是来看解码的部分如何手工的编写。

我们的个人计算机通常字长是32位的,也就是说是4个字节长,如果是要依次与13个字符循环进行异或运算,除了比较通用的嵌套循环的方法外,我们可以单用一层循环(这样比较好控制),即把这13个字符拆成三个四字节长的整数和一个单字节的字符,每循环一次就用这些东西和编码后的shellcode异或运算一次。

根据《定制自己的shellcode(一)》中所给的解码部分的模版,很容易写出解码部分如下:

_asm

{

jmp short getaddr

dstart:

pop ebx

xor ecx, ecx

mov cx, 0x112

xor esi, esi

decode:

xor DWORD ptr [ebx+esi], 0xD4FDFBE7

add esi, 4

xor DWORD ptr [ebx+esi], 0xFBE7FCF4

add esi, 4

xor DWORD ptr [ebx+esi], 0x61FA72F9

add esi, 4

xor [ebx+esi], 0xF4

add esi, 1

nop

loop decode

jmp short scstart

getaddr:

call dstart

scstart:

nop

}

和以往一样,用一个jmp和一个call来获得编码后的shellcode开始位置。cx是控制循环次数的,按道理最少应该是shellcode的长度除以13,这里为了方便,就固定下来一个数字。esi用来控制偏移量,也就是控制解码到了shellcode的第多少个字符。后面从decode:开始的段就是上面说的那种方法,依次与三个四字节长的整数和一个单字节的字符运算解码。值得注意的是,这里的操作数不是固定的,按照我们前面所述,这一串的操作数都是动态生成的,在编写程序的时候是要动态的填入,所以这里先是随便写了一些数字,只要确定一下位置就是。

编译后可以收集一下,这一段代码的机器码就是:

“”xeb“x33”x5b“x33”xc9“x66”xb9“x12”x01“x33”xf6“x81”x34“x33”xe7“xfb”xfd“xd4”x83“xc6”x04“x81”x34“x33”xf4“xfc”xe7“xfb”x83“xc6”x04“x81”x34“x33”xf9“x72”xfa“x61”x83“xc6”x04“x80”x34“x33”xf4“x83”xc6“x01”x90“xe2”xd8“xeb”x05“xe8”xc8“xff”xff“xff”;

四个需要动态确定的常量在这一段代码中的偏移分别是14,24,34和44。

写到这里发句牢骚,decode部分无疑是要精心构造的,但是这偏偏是一个非常费体力的活动,没有什么技巧,就是道理简单运算复杂。我在这里只是单纯给出这一段,因为方法前面已经反复说过,而且麻烦的是具体做起来是不可能手把手的去教。老吴子叫我给录像,我的个歪歪(请用扬州普通话读),我这么笨的菜鸟调一个shellcode超过了8小时,且不说录像后的文件多大,录下来了是否有人看都是一个大大的问题――反正如果是我的话,有时间还不如去看三场电影!

扯远了。言归正传,编码和解码的架子都已经搭好,剩下的就是组装,前面有了怎样计算那些个异或字符的代码片断,收集起来写到解码部分,解码部分就已经完整,为了方便调用起见,这个我写成了一个函数。

void MakeDecode(int i, int j, int k, unsigned char l)

{

*(int*)(de+14) = i;

*(int*)(de+24) = j;

*(int*)(de+34) = k;

*(de+44) = l;

}

三个变量i,j,k是头十二个字符,l是最后一个字符,这个函数可以完成解码部分的填充工作。前面说到,计算出来的变量在temps[]里面,拿出来调用这个函数即可。

shellcode部分也要预先与temps[]这个串异或运算以逃脱禁用的字符。这部分工作也是依据temps[]来进行的,其实和解码部分的工作一模一样(说白了,就是因为相同的异或做两遍就还原了)。代码稍微长了点,好在算法比较容易,可以参见光盘里面的代码。另外,这一段其实可以在计算temps []的过程中就做掉,不过为了便于理解,我将他们分开了。

说到这里这个算法差不多就已经算是完了,几个重点的问题已解决,只要把解码部分和编码后的shellcode部分连接在一起就成功的完成了所有的任务。完整的可用代码我会在光盘里面一并给出,按照main中的用法,就可以直接构造变态要求的expoit。对于禁用字符的定义,在源代码的badchar中给出了一些,你也可以在一定程度上进行修改,但是不要太过分了,太多字符不能出现的话,这个构造shellcode的方法是会失败的。

在上一篇文章的最后我提到过这种方法,里面说的是倾向于标准为四或者是八的划分,想来是臆断了,实际的情况是这个数字通常在七到十七之间。剩下没有解释的代码都很简单,大家可以直接拿来用而不用去管。其实这两篇文章都是关于shellcode的一些想法和简单的算法,我也只是有点心得就写了出来,让高手见笑了。另外,如果你有什么更好的想法,也希望你能够写出来与我们共享

篇5:CorelDRAW10 定制自己的操作界面

原作者: 蓝鸟

象其它的一些图形处理软件一样,CorelDRAW 10 也为用户提供了很多的工具,为了避免诸如调色板中、工具条中或其它的一些浮动面板中不常用的功能按钮及小部件,占用过多的屏幕空间;也为了使自己在工作时更加方便快捷地使用CorelDRAW;我们可以使用CorelDRAW 10提供的自定义界面功能,定制自己的操作界面。

在CorelDRAW 10中,自定义界面的方法很简单,只需按下Alt键不放,将菜单中的项目、命令拖放到属性栏或另外的菜单中的相应位置,就可以自己编辑工具条中的工具位置及数量。

< align=“center”>

将工具箱中的Zoom Tool(缩放工具)移动到常用工具栏中

在CorelDRAW 10中,还允许用户通过修改Options(选项)对话框中的相关设置,来进一步的自定义菜单、工具箱、工具栏及状态栏等界面。

(1)单击Tools/Options命令或属性栏中的 Options(选项)按钮;

(2)在随后弹出的对话框中单击Workspace目录左边的“+”号展开此目录;

(3)然后再单击Customization(定制)目录左边的“+”号展开此目录;

(4)单击Command(命令)选项,显示其属性页;

(5)用鼠标拖动选中的命令图标到需要的工具栏或菜单中相应的位置,释放鼠标即可。

< align=“center”>

Options(选项)对话框中的Command(命令)属性页

注意:在Command(命令)属性页的General(常规)标签页面中,显示了该命令当前所在的位置;在Shortcut Key(快捷键)标签页面中可以设置该命令的快捷键;在Appearance(外观)标签页面中还可以更改和自定义该命令的图标。

在CorelDRAW 10中,通过对另一个功能选项的设置,也能帮助我们有效的利用界面空间和快捷的操作相关功能,那就是Dockers(泊坞窗)。CorelDRAW中的Dockers(泊坞窗)类似于PhotoShop中的浮动面板,在Dockers(泊坞窗)命令选项中可以设置显示或隐藏具有不同功能的控制面板,方便用户的操作,

< align=“center”>

Dockers(泊坞窗)菜单

CorelDRAW 10中的Dockers(泊坞窗)包含了:Properties(对象属性控制面板)、Object Manager(对象管理器)、Object Data Manager(对象数据管理器)、View Manager(视图管理器)、Link Manager(连接管理器)、Undo Dockers(撤销泊坞窗)、Internet Bookmark Manager(英特网书签管理器)、Artistic Media(艺术媒体控制面板)、Blend(混合控制面板)、Contour(轮廓控制面板)、Envelope(封装控制面板)、Extrude(立体控制面板)、Lens(滤镜控制面板)、Bitmap Color Mask…(位图颜色遮罩控制面板)、Transformations(变换控制面板)、Shaping(形状控制面板)、Color(颜色控制面板)、Color Palette Browser(调色板浏览器)、Color Styles(颜色样式控制面板)、Graphic and Text Styles(图形和文本样式控制面板)、Symbols and Special Characters(符号和特殊字符控制面板)、Scrapbook(剪贴簿)、Corel Scripts Manager (Corel脚本管理器)和Web Connector (Web连接器)等24个不同类型及功能的控制面板。

调用这些Dockers面板的方法也很简单:

(1)打开控制面板:单击Windows/Dockers命令,在弹出Dockers的子菜单中选定相应的面板命令即可在工作区的右边弹出相应的控制面板;

(2)调整控制面板:直接用鼠标拖动面板边缘,即可随意调整该控制面板的大小;

(3)浮动/层叠控制面板:单击控制面板的标签将其激活后,拖动该标签到工作区,释放鼠标即可将该控制面板浮动;反之,拖动浮动的控制面板到另一个控制面板上,即可将它们层叠组合起来;

(4)折叠/展开控制面板:单击控制面板左上角的(折叠)/(展开)按钮,即可折叠或展开控制面板;

(5)关闭控制面板:当你不需要时某一控制面板时,可单击该控制面板右上角的(关闭)按钮,即可将该控制面板关闭。

注意:当多个控制面板处于层叠状态时,在当前控制面板的右上角有两个

篇6:自己动手修复ZIP文件

使用ZIP压缩文件时经常会遇到文件损坏的情况,如果是辛辛苦苦刚从网上下载回来的,那更是令人万分 失望,难道我们的银子就这样白花了吗?不要紧,先不用急着重新下载,您不妨试一试下面这些方法。

ZIP自动手

常见的错误是WinZip在解压时提示说某个文件CRC错误。您先别慌,如果是在解压到95%或是更多时提示错 误的,基本是可是使用的。方法如下:在出现WinZip的窗口后,选择经典模式,然后用Ctrl和鼠标键选取除刚 才出错外的所有文件(如图1),并将选择的这些文件解压到一个指定的目录中。

图1 选取出错文件外的所有文件

接下去就是要处理那个出错文件了。选择它并进行解压,当解到98%时错误信息再次出现,并询问是否要 看日志文件,先不理它,用Windows的查找功能在系统临时文件夹中找到了这个出错文件,选择后复制到刚才 的文件夹中,最后关闭WinZip。怎么样,是不是成功了呢?

如果压缩文件是ZIP的自解压文件,也发生同样的CRC错误,可以在WinZip打开后按上述方法进行解压,有 时也有意想不到的收获。

软件巧修复

如果刚才的招不灵,说明文件损坏较为严重了。那您也别急,有些软件专门帮您解决这个问题。

1、ZIP修复大师

该软件是专门用于修复受损的ZIP文件的工具软件,在修复过程中它将对受损文件进行多重扫描和分析, 修复受损部分,从而最大限度地恢复ZIP文件的受损数据。它的主要特点:支持对各种类型的ZIP文件和自解压 文件的修复;与资源管理器集成,只需单击鼠标右键即可轻松完成修复工作;支持拖放操作等等,

另外该软件的使用非常简单,在软件运行主界面上输入要修复的文件名和修复后的文件名,单击“开始修 复”按钮即可开始修复,修复完毕后你可以查看修复记录(如图2)。

图2 ZIP修复大师自有绝活儿

2、自解压压缩包修复器

该软件是一款专门用来修复自解压文件的工具软件,它是一个汉化版的绿色小软件,使用非常简单,只需 单击“请按这里选择要恢复的压缩文件”按钮,然后在弹出的对话框中选择要进行修复的文件,它就会自动进 行修复,为了预防万一,在修复之前它会首先备份该软件为BAK文件,修复成功之后自动覆盖掉源文件,是不 是很方便?

蚂蚁来帮忙

如果都修复不了,那么我可能不得不遗憾地告诉您,您要重新下载了。不过,重新下载也是有窍门的哦。 如果使用网络蚂蚁下载的话,可以使用它自带的“修复损坏的ZIP文件”功能来试一下。

图3 网络蚂蚁也能修复ZIP文件

首先要确认下载任务仍然留在任务列表中,并且下载文件保存在下载时设定的文件夹中,没有转移到别的 文件夹中,然后选中已完成的下载任务,单击鼠标右键,在弹出快捷菜单中选择“修复损坏的ZIP文件”命令 (如图3),接下来网络蚂蚁就会对这个ZIP文件进行CRC校验并且标识出损坏位置,检查完毕后,重新启动该 任务,让网络蚂蚁重新下载损坏区域即可。怎么样,这比您重新下载整个文件要强得多吧。

标语牌 定制

文件范本

文件范文

设备定制合同范本

茶叶定制策划书

私人定制人物经典台词

投标文件范本

文件管理制度

用QQ邮箱定制明信片

旅游定制师工作职责

Autocad Mechnical定制自己的文件(精选6篇)

欢迎下载DOC格式的Autocad Mechnical定制自己的文件,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档