用MYCCL定位不到特征码 生成的文件都被杀 肿么办啊?
2个回答
展开全部
1.DLL的特征码内存地址的准确获取
很多朋友说,有些DLL无法用OD修改特征,因为用OC转换来的内存地址找不到,今天就说说如何得到DLL的真正内存地址,用到的工具有:
1.LordPE 入口点查找
2.CA32 反汇编工具
3.OC 或用 LordPE豪华版位置计算器 文件地址转换
4.OD 反汇编工具
一、OD打开DLL记下入口点地址(A)
二、用LordPE查入口点(B),和镜像基址(C)
三、用A-(B+C)=D
四、DLL定位出的特征码,用OC转成内存地址(E)
五、E+D=F,F就是特征码在OD中的内存地址
----------------------------------------------------------------
2.特征码修改时的思路
首先:修改特征码需要熟练掌握的全部汇编知识(要有耐心看下去!)
今天先讲讲介绍点常见的指令
cmp a,b 比较a和b大小意思(cmp是英文compare 比较的意思)
mov a,b 把b的值传送给a (mov是英文move 移动的意思)
nop (no operation)意思是什么事都没做(do nothing)常用的修改指令
call 调用子程序
pop 出栈
push 压栈
跳的分几种:je 或jz 若相等则跳
jne或jnz 若不相等则跳
jmp 无条件跳转
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
ADD 加法.
ADC 带进位加法.
INC 加 1.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
AND 与运算.
or 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.
分-------------------------------------割----------------------------------------线
基础的修改特征码方法
(1)载入c32或者winhex
方法一:修改特征码的十六进制
修改方法:把特征码所对应的十六进制改成数字+1或者减1
举例:载入c32或者winhex 输入跳转OFFSET地址 定位到的特征码在80的0闪烁 可以把0改成1 即81
方法二:大小写
修改方法:特征码所对应的内容是字符串的,大小字互换.
举例:大小写间差20
(2)下面是OD载入的分析
方法三:替换法
修改方法:特征码所对应的汇编指令替换成相同或相似的.
举例:jnz换成JMP.
方法四:顺序调换法
修改方法:特征码对应的指令顺序互换一下.
举例: 00851A97 MOV ESI,ECX
00851A98 MOV EDI,0
可以换位00851A97 MOV EDI,0
00851A98 MOV ESI,ECX
方法五:JMP法
修改方法:把特征码移到零区域,然后一个JMP又跳回来执行.
方法六:移位法
修改方法:把定位到函数的特征码复制 然后NOP 找到0区域写入刚NOP代码 然后JMP回到原来NOP的
下面一个地址 然后lordpe修改相应函数的地址
举例:文件PE头移位
很多朋友说,有些DLL无法用OD修改特征,因为用OC转换来的内存地址找不到,今天就说说如何得到DLL的真正内存地址,用到的工具有:
1.LordPE 入口点查找
2.CA32 反汇编工具
3.OC 或用 LordPE豪华版位置计算器 文件地址转换
4.OD 反汇编工具
一、OD打开DLL记下入口点地址(A)
二、用LordPE查入口点(B),和镜像基址(C)
三、用A-(B+C)=D
四、DLL定位出的特征码,用OC转成内存地址(E)
五、E+D=F,F就是特征码在OD中的内存地址
----------------------------------------------------------------
2.特征码修改时的思路
首先:修改特征码需要熟练掌握的全部汇编知识(要有耐心看下去!)
今天先讲讲介绍点常见的指令
cmp a,b 比较a和b大小意思(cmp是英文compare 比较的意思)
mov a,b 把b的值传送给a (mov是英文move 移动的意思)
nop (no operation)意思是什么事都没做(do nothing)常用的修改指令
call 调用子程序
pop 出栈
push 压栈
跳的分几种:je 或jz 若相等则跳
jne或jnz 若不相等则跳
jmp 无条件跳转
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
ADD 加法.
ADC 带进位加法.
INC 加 1.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
AND 与运算.
or 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.
分-------------------------------------割----------------------------------------线
基础的修改特征码方法
(1)载入c32或者winhex
方法一:修改特征码的十六进制
修改方法:把特征码所对应的十六进制改成数字+1或者减1
举例:载入c32或者winhex 输入跳转OFFSET地址 定位到的特征码在80的0闪烁 可以把0改成1 即81
方法二:大小写
修改方法:特征码所对应的内容是字符串的,大小字互换.
举例:大小写间差20
(2)下面是OD载入的分析
方法三:替换法
修改方法:特征码所对应的汇编指令替换成相同或相似的.
举例:jnz换成JMP.
方法四:顺序调换法
修改方法:特征码对应的指令顺序互换一下.
举例: 00851A97 MOV ESI,ECX
00851A98 MOV EDI,0
可以换位00851A97 MOV EDI,0
00851A98 MOV ESI,ECX
方法五:JMP法
修改方法:把特征码移到零区域,然后一个JMP又跳回来执行.
方法六:移位法
修改方法:把定位到函数的特征码复制 然后NOP 找到0区域写入刚NOP代码 然后JMP回到原来NOP的
下面一个地址 然后lordpe修改相应函数的地址
举例:文件PE头移位
更多追问追答
追问
额。哥哥- -特征码修改基本还说的过去。。我问的是 怎么定位。。。
不知道怎么回事。。MYCCL 定位特征码的时候 一直在循环。不生成新文件了。 生成的文件不管多少 都报毒!
追答
死循环,检查回路,检查冗余循环,检查加壳
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询