(8)去除自校验
来源:互联网 发布:淘宝买家内衣秀自拍 编辑:程序博客网 时间:2024/05/01 16:35
今天我们就掌握一下怎么去除自校验,软件是一个网吧注册工具,看了下只要修改一处自校验就可以让程序正常运行,所以拿出来做实例,有些厉害的自校验强度又大而且有多重不同自校验,以前有个一个crackme,居然有10处自校验,够变态的。
一: 实例问题解决之去除自校验(文件大小自校验)(实现未实现的跳)
看操作吧。
当然进行下面的而操作前提是你的先脱壳并修复,运行后没反应。
1. 对比法。
①:源程序和脱后的进行跟踪比较,找到不同的条件跳。原程序调试到OEP,和脱壳后的程序载入OD,然后慢慢向下跟踪调试,检查条件跳转是否跳转(如:cmp eax,1117004 语句)。其中eax中存放的是程序自身的大小,eax小于1117004则跳。那么我们可以查看脱后文件的大小(以字节为单位),将1117004该为脱后大小+N(以满足条件跳,小于则跳),注意修改前后要保持位数一致,多的去掉后面的。汇编后保存即可。
②:可以手动实现为实现的跳,及该条件跳转为无条件跳CMP
如:
该CMP 下的jle为JMP 保存即可
2. 找ExitProcess函数
F9运行程序,让程序跑飞。在堆栈窗口到到ExitProcess得下面第一个返回,右键在反汇编窗口中跟随,这样就直接来到了要修改大小的下面附近,然后用方法一改大小即可。用这种方法的好处就在于不用对比得到校验大小的地方,但此法仅限于文件大小自校验。
原理分析:
1: 005E5D4D . E8 663DF5FF call Unpack_.00539AB8
2: 005E5D52 . 3D 00171100 cmp eax,111700
3: 005E5D57 . 7E 05 jle short Unpack_.005E5D5E
4: 005E5D59 . E8 52F3E1FF call Unpack_.004050B0
5: 005E5D5E > 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
6: 005E5D61 . A1 00F75E00 mov eax,dword ptr ds:[5EF700]
F9运行后跑飞后会运行到程序设计的如果校验失败则调用的函数中(call Unpack_.004050B0),一般在该函数中会调用ExitProces函数退出程序。
- (8)去除自校验
- 去除自校验
- 去除ADB密钥校验
- easyui validatebox 去除校验 绑定校验
- myeclipse去除jsp校验错误
- myeclipse去除jsp校验错误
- myeclipse去除jsp校验错误
- myeclipse去除jsp校验错误
- 对付自校验
- 去自校验
- 简单delphi自校验
- 手动去自校验!!
- exe自校验
- 四.文件自校验大小破解(GetFileSize)
- 去除优酷、土豆的广告(转自豆瓣)
- MyEclipse去除jsp校验错误【转载】
- myeclipse去除jsp,js校验错误
- dom4j 解析xml字符串 去除.DTD校验
- H.264相关二
- (5) 定位IAT
- hdu 4335多校4数论
- (6)telock修复与跳过IAT加密
- (7)附加数据的处理
- (8)去除自校验
- Fibonacci数
- (9)区段优化减肥
- 程序员面试宝典之数据结构基础----⑥双链表的建立,插入和删除
- 企业邮箱那点事儿(三):考虑自建发件邮件服务器吧!
- MyEclipse中使用Junit--Test Case
- QT:QString、QByteArray和char *的转换
- junit实例教程
- 网络编程人员 桌面编程人员 参考手册 辅助工具下载地址集合