对代码变形的一点认识
来源:互联网 发布:java 动态添加属性 编辑:程序博客网 时间:2024/06/09 22:52
.386
.model flat, stdcall
option casemap :none
include kernel32.inc
includelib kernel32.lib
.CODE
START:
call _NO1 ;跳过干扰码
db 0e9h ;干扰码
jmp _END ;跳出变形的代码
_NO1:
pop eax ;把返回地址弹出到EAX
inc eax ;返回地址加一,这样就可以跳过E9干扰码了
push eax ;修改过的返回地址压入堆栈
retn ;这句看似是函数返回,其实在这里他的作用就是把jmp _END的地址付给EIP
_END:
invoke ExitProcess,0
end START
.model flat, stdcall
option casemap :none
include kernel32.inc
includelib kernel32.lib
.CODE
START:
call _NO1 ;跳过干扰码
db 0e9h ;干扰码
jmp _END ;跳出变形的代码
_NO1:
pop eax ;把返回地址弹出到EAX
inc eax ;返回地址加一,这样就可以跳过E9干扰码了
push eax ;修改过的返回地址压入堆栈
retn ;这句看似是函数返回,其实在这里他的作用就是把jmp _END的地址付给EIP
_END:
invoke ExitProcess,0
end START
用OD载入后是这样滴
当然破解的方法也是有的,在OD里把干扰码NOP掉就可以了,什么怎么找干扰码?当然是CALL的目的地址的前一个字节啦。
- 对代码变形的一点认识
- 对程序调用API变形的一点认识
- 对程序调用API变形的一点认识
- 对Final的一点认识
- 对Final的一点认识
- 对项目的一点认识
- 对maven的一点认识
- 对MongoDB的一点认识
- 对堆栈的一点认识
- 对readResolve的一点认识
- 对线程的一点认识
- 对DLL的一点认识
- 对QT的一点认识
- 对嵌入式的一点认识
- 对ContentProvider的一点认识
- 对extern "C"的一点小认识
- 我对Log4J的一点初认识
- 对extern "C"的一点小认识
- 大连:南部快速路前期工作启动 隧道部分长约5公里
- 什么是Web 2.0
- CakePHP中的scriptaculous(1)
- BSD菜鸟装jdk
- 大连外语培训怪象:上万元吸引千名学员600元无人捧场
- 对代码变形的一点认识
- Microosft Windows Server 2008 Enerprise 界面概览(图集) + 侧边栏效果
- QT/QTE 编译安装问题与解决之道
- 职场小贴士“助燃”心灵的成熟
- INTEL 汇编指令集
- 同卵三胞胎出生概率两亿分之一
- [Thinking in C++]C02:Ex04 解答及疑惑
- 雷锋成网络游戏主角 要想升级需不断做好事
- 模型驱动软件开发实战步骤