小甲鱼解密系列调试篇——OD使用教程笔记(持续更新中)

 

目录

一点铺垫:基础知识

1.汇编语言

2.NAG窗口

3.SEH

4.断点类型

一、MessageBox.exe修改程序标题内容——修改函数传入值

二、TraceMe.exe暴力破解程序登陆界面——搜索函数、寻找附近调用取值的地方

三、reverseMe.exe暴力破解/打补丁实现注册——分析文件结构 逆向注册文件

修改跳转条件暴力破解:

注册打补丁:

四、reverseMe.exe去除NAG窗口——修改跳转条件跳过对话框,使得MessageBox失效:父句柄设为空白,修改文件PE结构入口AddressOfEntryPoint

1.修改跳转条件跳过对话框

2.使得MessageBox失效:父句柄设为空白

3.修改文件PE结构入口AddressOfEntryPoint

五、reverseMe.Oops.exe——PE文件头!

六、pixtopianbook破解功能限制——定位至引用弹出NAG窗口的地址、搜索字符串改变值

1.定位NAG窗口

2.搜索字符串改变UNREGISTERED VERSION字符串

七、pcsurgeon.exe搜索字符串找到调用

1.搜索字符串改变<>

2.查找地址常量 https://blog.csdn.net/wlswls1711/article/details/97145997


一点铺垫:基础知识

1.汇编语言

EBP:主要是用于栈和栈帧。

ESP:指向当前进程的栈空间地址。

EIP:总是指向下一条要被执行的指令。

2.NAG窗口

       nag本意是烦人的意思,nag窗口是软件设计者用来时不时提醒用户购买正版的警告窗口。一般nag在程序启动或退出的时候弹出来,或者在程序运行的某个时刻突然蹦出来吓你一跳。

3.SEH

SEH(Structured Exception Handling),即结构化异常处理。

SEH是Windows操作系统提供的功能,跟开发工具无关。  

Windows程序设计中最重要的理念就是消息传递,事件驱动。 当GUI应用程序触发一个消息时,系统将把该消息放入消息队列,然后去查找并调用窗体的消息处理函数(CALLBACK),传递的参数当然就是这个消息。  

我们同样可以把异常也当作是一种消息,应用程序发生异常时就触发了该消息并告知系统。

系统接收后同样会找它的“回调函数”,也就是我们的异常处理例程。  

当然,如果我们在程序中没有做异常处理的话,系统也不会置之不理,它将弹出我们常见的应用程序错误框,然后结束该程序。 所以,当我们改变思维方式,以CALLBACK 的思想来看待SEH,SEH 将不再神秘。  

4.断点类型

软件断点只能断点程序领空,不能断点动态链接库如果需要断点动态链接库,就需要用到硬件断点。


一、MessageBox.exe修改程序标题内容——修改函数传入值

int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

      1.找到MessageBox的传入值

      2.修改传入的lpText


二、TraceMe.exe暴力破解程序登陆界面——搜索函数、寻找附近调用取值的地方

      1使用OD加载程序,搜索分别搜索GetDlgItemTextA、GetDlgItemTextW、GetWindowTextA、GetWindowTextW,搜索到的都下断点。

      (2)运行程序,在程序弹出对话框时,输入用户名和系列号,然后按F8单步,在消息窗口观察哪条语句有我们刚刚输入的用户名和系列号。如下图:

      (3找到后,就在这条语句的附件会有校验和跳转(那个test就是效验,je就是跳转),我们可以修改效验结果,或者直接NOP掉跳转。(我这里直接NOP掉了跳转)


三、reverseMe.exe暴力破解/打补丁实现注册——分析文件结构 逆向注册文件

首先分析代码结构:

修改跳转条件暴力破解:

直接将弹出还未注册的窗口判断语句(je,jle,jnz等)更改为nop(不希望它执行)或jmp(希望它执行),即可实现。

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
甲鱼教程合集(基础+工具+系统+OD使用教程) 压缩包文件列表:小甲鱼_加密解密教程基础视频 基础_第一讲_概述.rar 基础_第二讲_一些必备的常识(1).rar 基础_第六讲_初步认识PE格式.rar 基础_第三讲_一些必备的常识(2).rar 基础_第四讲_Windows消息机制.rar 基础_第五讲_Windows保护模式.rar 小甲鱼_加密解密教程之工具 PEInfo编程思路讲解01-工具-解密系列.zip PEInfo编程思路讲解02-工具-解密系列.zip PEInfo编程思路讲解03-工具-解密系列.zip PEInfo编程思路讲解04-工具-解密系列.zip 小甲鱼_加密解密教程之系统 PE结构详解1-系统-第一讲-解密系列.rar PE结构详解3-系统-第三讲-解密系列.rar PE结构详解4-系统-第四讲-解密系列.rar PE结构详解5-系统-第五讲-解密系列.rar PE结构详解6-系统-第六讲(1)-解密系列.rar PE结构详解6-系统-第六讲(2)-解密系列.rar PE结构详解7-系统-第七讲-解密系列.rar PE结构详解8-系统-第八讲-解密系列.zip PE结构详解9-系统-第九讲-解密系列.zip PE结构详解10-系统-第十讲-解密系列.zip PE结构详解11-系统-第十一讲(2)-解密系列.zip PE结构详解11-系统-第十一讲-解密系列.zip 小甲鱼_解密调试OD使用系列教程 OD使用教程1.zip OD使用教程2.zip OD使用教程3(上).zip OD使用教程3(下).zip OD使用教程3().zip OD使用教程4.zip OD使用教程5.zip OD使用教程6.zip OD使用教程7(上).zip OD使用教程7(下).zip OD使用教程8(下).zip OD使用教程8.zip OD使用教程9.zip OD使用教程10.zip OD使用教程11.zip OD使用教程12.zip OD使用教程13.zip OD使用教程14.zip OD使用教程15.zip OD使用教程16.zip OD使用教程17.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值