为了让我们的木马在各种杀毒软件的威胁下活的更久.
二.什么叫免杀和查杀
可分为二类:
1.文件免杀和查杀:不运行程序用杀毒软件进行对该程序的扫描,所得结果。
2.内存的免杀和查杀:判断的方法1>运行后,用杀毒软件的内存查杀功能.
2>用OD载入,用杀毒软件的内存查杀功能.
三.什么叫特征码
1.含意:能识别一个程序是一个病毒的一段不大于64字节的特征串.
2.为了减少误报率,一般杀毒软件会提取多段特征串,这时,我们往往改一处就可达到
免杀效果,当然有些杀毒软件要同时改几处才能免杀.(这些方法以后详细介绍)
3.下面用一个示意图来具体来了解一下特征码的具体概念
四.特征码的定位与原理
1.特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软
件就不会报警,以此确定特征码的位置
2.特征码定位器的工作原理:原文件中部分字节替换为0,然后生成新文件,再根据杀
毒软件来检测这些文件的结果判断特征码的位置
五.认识特征码定位与修改的工具
1.CCL(特征码定位器)
2.OOydbg (特征码的修改)
3.OC用于计算从文件地址到内存地址的小工具.
4.UltaEdit-32(十六进制编辑器,用于特征码的手工准确定位或修改)
六.特征码修改方法
特征码修改包括文件特征码修改和内存特征码修改,因为这二种特征码的修改方法
是通用的。所以就对目前流行的特征码修改方法作个总节。
方法一:直接修改特征码的十六进制法
1.修改方法:把特征码所对应的十六进制改成数字差1或差不多的十六进制.
2.适用范围:一定要精确定位特征码所对应的十六进制,修改后一定要测试一下能
否正常使用.
方法二:修改字符串大小写法
1.修改方法:把特征码所对应的内容是字符串的,只要把大小字互换一下就可以了.
2.适用范围:特征码所对应的内容必需是字符串,否则不能成功.
方法三:等价替换法
1.修改方法:把特征码所对应的汇编指令命令中替换成功能类拟的指令.
2.适用范围:特征码中必需有可以替换的汇编指令.比如JN,JNE 换成JMP等.
如果和我一样对汇编不懂的可以去查查8080汇编手册.
方法四:指令顺序调换法
1.修改方法:把具有特征码的代码顺序互换一下.
2.适用范围:具有一定的局限性,代码互换后要不能影响程序的正常执行
方法五:通用跳转法
1.修改方法:把特征码移到零区域(指代码的空隙处),然后一个JMP又跳回来执行.
2.适用范围:没有什么条件,是通用的改法,强烈建议大家要掌握这种改法.
七.木马免杀的综合修改方法
文件免杀方法:
1.加冷门壳
2.加花指令
3.改程序入口点
4.改木马文件特征码的5种常用方法
5.还有其它的几种免杀修改技巧
内存免杀方法:
修改内存特征码:
方法1>直接修改特征码的十六进制法
方法2>修改字符串大小写法
方法3>等价替换法
方法4>指令顺序调换法
方法5>通用跳转法
方法6>利用免疫工具阻止内存查杀
语法使用字符串类型显示文件,来格式化输出。
od [ -v ] [ -A AddressBase ] [ -N Count ] [ -j Skip ] [ -t TypeString ... ] [ File ... ]
使用标志显示文件,来格式化输出。
od [ -a ] [ -b ] [ -c ] [ -C ] [ -d ] [ -D ] [ -e ] [ -f ] [ -F ] [ -h ] [ -H ] [ -i ] [ -I ] [ -l ] [ -L ] [ -o ] [ -O ] [ -p ] [ -P ] [ -s ] [ -v ] [ -x ] [ -X ] [ [ -S [ N ] ] [ -w [ N ] ] [ File ] [ [ + ] Offset [ . | b | B ] [ + ] Label [ . | b | B ] ]
描述
od 命令用指定格式显示由 File 参数指定的文件。如果 File 参数没有给定, od 命令读取标准输入。 使用多个 -bcCDdFfOoSstvXx 选项可以指定多个类型。
在第一个语法格式中,输出格式是由 -t 标志指定。如果没有指定格式类型,-t o2 是缺省值。
在第二个语法格式中,输出格式由标志组合指定。Offset 参数指定了文件中文件输出的开始点。 缺省情况下,Offset 参数解释为八进制字节。如果附加了 . 点后缀, 参数解释为十进制的;如果参数前导以 x 或 0x 开始,处理为十六进制。如果 b 后缀添加到参数,解释为块是 512 字节;如果 B 后缀添加到参数上,解释为块是 1024 字节。
Label 参数解释为首字节显示的伪地址。 如果使用了该参数,它在 () 括号中给出,遵循 Offset 参数。 相对于 Offset 参数,后缀有同样的意义。
当 od 命令读取标准输入时, Offset 参数和 Label 参数前头必须有个 + (加号)。
环境变量的设置如 LANG 和 LC_ALL 影响着 od 命令的操作。 要获取更多信息,请参阅《AIX 5L V5.2 系统管理指南:操作系统与设备》中的『理解环境变量的语言环境』 。
标志
第一种格式的标志:
-A AddressBase 指定输入偏移底数。此 AddressBase 变量是下列的字符之一:
d
偏移底数写为十进制的。
o
偏移底数写为八进制的。
x
偏移底数写为十六进制的。
n
偏移底数没有显示。
除非指定 -A n,输出行前将有需要写的下一字节的输入偏移量,输入偏移量在输入文件间会形成。 另外,跟随在最后一个字节的字节偏移量将在所有的输入数据处理完后显示。没有 -A 基地址选项和 [offset_string] 操作数,输入偏移量底数以八进制显示。
=
使用方法
-j Skip
在开始显示输出前,跳跃过由 Skip 变量给定的字节数。 如果指定的文件超过一个,od 命令在显示输出前跳跃过分配的连接输入文件字节数。 如果混合输入不是至少跳跃字节的长度, od 命令将写出诊断消息给标准错误,并退出非零状态。
缺省情况下,Skip 变量的值解释为十进制数字。 带有前缀 0x 或 0X, 偏移量解释为十六进制数;带有前缀 0,偏移量解释为八进制数。 如果字符 b,k,或者 m 附加到 Skip 变量包含的数,偏移量在字节上等于 Skip 变量各自乘以 512,1024,或者 1024*1024 的值。
-N Count 格式不超过由 Count 变量指定的输入字节数。缺省情况下,Count 变量解释为十进制数。带有前缀 0x 或者 0X,认为是十六进制数。 如果以 0 开始,认为是八进制数。 显示地址的底数不是由 Count 选项参数的底数提示的。
-t TypeString 指定输出类型。TypeString 变量是一个当写出数据时,指定使用类型的字符串。 多个类型能够连接在同一个 TypeString 变量中, 并且 -t 标志能够多次指定。 对于每个指定的类型写出了输出行, 依照给定类型指定字符的顺序。TypeString 变量能够包括下列字符:
a
显示字节为指定的字符。在 0 到 01777 范围内,带有至少 7 位的字节,对于那些字符,用相应的名称来写。
c
显示字节为字符。 由 c 类型字符串变换的字节数由 LC_CTYPE 本地类别确定。可打印的多个字节字符的写法对应于字符的第一个字节;两个字符序列 ** 的写法对应于字符中每个保留的字节,作为字符继续的指示。下列非图形字符作为 C- 语言转义序列使用:
\ 反斜杠
\a 提示符
\b 退格符
\f 换页
\n 换行字符
\0 空
\r 回车符
\t 制表符
\v 垂直制表符
d
显示字节为有符号十进制。缺省情况下,od 命令变换相应的字节数为 C -语言类型 int。d 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。
可选的项 C,I,L,或者 S 字符能够附加到 d 可选项,表示转换应该分别适用于 char,int,long,或者 short。
f
显示字节为浮点。缺省情况下,od 命令变换相应的字节数为 C - 语言类型 double。 f 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型的实例变换的字节数。
可选项 F,D,或者 L 字符能够附加到 f 可选项,表示转换应该分别适用于类型 float,double,或者 long double。
o
显示字节为八进制。 缺省情况下, od 命令变换相应的字节数为 C - 语言类型 int。 o 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。
可选项 C, I,L,或者 S 字符能够附加到 o 可选项,表示转换应该分别适用于类型 char,int,long,或者 short。
u
显示字节为无符号的十进制。缺省情况下,od 命令变换相应的字节数为 C-语言类型 int。u 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型的实例变换的字节数。
可选的项 C,I,L,或者 S 字符能够附加到 u 可选项,表示转换应该分别适用于 char,int,long 或者 short。
x
显示字节为无符号的十六进制。缺省情况下,od 命令变换相应的字节数为 C-语言类型 int。x 类型字符串能够跟随无符号的十进制整数,它指定了由每个输出类型实例变换的字节数。
可选的项 C,I,L,或者 S 字符能够附加到 x 可选项,表示转换应该分别适用于 char,int,long 或者 short。
第二种格式的标志:
-a 显示字节为字符,并且用它们的 ASCII 名称显示。如果 -p 标志也给定了,带有偶校验的字节加下划线。 -P 标志引起带有奇校验的字节加下划线。 否则忽略奇偶性校验。
-b 显示字节为八进制值。
-c 显示字节为 ASCII 符。下列非图形字符作为 C-语言转义序列使用:
\ 反斜杠
\a 提示符
\b 退格符
\f 换页
\n 换行字符
\0 空
\r 回车符
\t 制表符
\v 垂直制表符
其它表示为 3 位的八进制数。
-C 显示扩展字符作为标准打印 ASCII 字符(使用合适的字符转义),并且以十六进制格式显示多字节字符。
-d 显示 16 位字为无符号十进制值。
-D 显示长字为无符号十进制值。
-e 显示长字为双精度、浮点。(如同 -F 标志)
-f 显示长字为浮点。
-F 显示长字为双精度、浮点。(如同 -e 标志)
-h 显示 16 位字为无符号十六进制。
-H 显示长字为无符号十六进制值。
-i 显示 16 位字为有标记十进制。
-I (大写 i)显示长字为有标记十进制值。
-l (小写 L)显示长字为有标记十进制值。
-L 显示长字为有标记十进制值。
注意: 标志 -I(大写 i),-l(小写 L), 和 -L 是相同的。
-o 显示 16 位字为无符号八进制。
-O 显示长字为无符号八进制值。
-p 表示对 -a 转换进行偶校验。
-P 表示对 -a 转换进行奇校验。
-s 显示 16 位字为有标记十进制值。
-S[N] 搜索以空字节结束的字符的字符串。 N 变量指定了需标识的最小长度的字符串。如果 N 变量省略了,最小长度缺省值为 3 个字符。
-v 标志对于下列两种格式是一样的:
-v 写所有输入数据。 缺省情况下, 等同于先前输出行的输出行没有打印,但是用只包含 * (星号)的行替换。 当指定 -v 标志时,打印所有的行。
-w [N] 指定需解释并且在每个输出行显示的输入字节的数量。 如果 -w 标志没有指定,每一显示行读取 16 字节。 如果指定了 -w 标志没有带 N 变量,每个显示行读取 32 个字节。 最大输入值是 4096 字节。 大于 4096 字节的输入值将重新分配最大值。
-x 显示 16 位字为十六进制值。
-X 显示长字为无符号十六进制值。(如同 -H 标志)
退出状态
此命令返回下列出口值:
0 所有输入文件被成功处理。
>0 出现错误。
示例
1. 以八进制显示文件,一次显示一页,请输入:
od a.out | pg
此命令以八进制格式显示 a.out 文件并且通过 pg 命令管道输出。
2. 一次转换文件为数个格式,请输入:
od -t cx a.out >a.xcd
此命令把 a.out 文件的内容,以十六进制格式(x)和字符格式(c)写到 a.xcd 文件中。
3. 在中间开始显示文件(使用第一语法格式),请输入:
od -t acx -j 100 a.out
此命令把 a.out 文件以指定的字符(a)、字符(c)和十六进制(x)格式显示,从第 100 个字节开始。
4. 在文件中间启动(使用第二种语法格式),请输入:
od -bcx a.out +100.
把 a.out 文件以八进制字节(-b)、字节(-c)和十六进制(-x)格式显示,从第 100 个字节开始。偏移量后的 . (点)表示它是十进制数。没有点,输出将从第 64(八进制为 100)个字节开始。
文件
/usr/bin/od 包含od 命令。
[编辑本段]OD : OdinMS的简称
odinms是国外研究MapleStory的机构,大家经常把它的服务软件称为OD。同时它也是以JAVA为平台的支持服务,需要安装JAVA开发库软件JDK(JRE)作为搭建环境。整个搭建过程涉及到以下软件:
mysql5.0 (结构化语言 数据库)
SQLyog (数据库图形界面管理工具)
navicat8 (数据库图形界面管理工具)
MySQL Query Browser (数据库图形界面管理工具)
phpstudy (网页服务工具,含apache)
NetBeans IDE6 (JAVA编译工具)
JDK(JRE)(JAVA开发库软件)
虫族农民单词drone=d 4D,就是不造农民就4个农民直接出狗池放狗。 6D,9D和4D都是同一个意思,就是农民数量是6OR9,都是出狗池快狗。 12D,就是造好9个农民再造个房子,再出3个农民再发展家。但是造分基还是出狗池都可以叫12D。 OD。。。不太清楚:)可能就是造房子后出狗?欢迎分享,转载请注明来源:优选云