程序破解01(keygenme1.exe)

程序破解01(keygenme1.exe)

暴力破解

1、软件暴力破解的思路比较简单,一是寻找程序的关键跳转,并修改其跳转逻辑;二是动态调试程序,在内存中寻找正确的注册码(一般在strcmp函数附近)。
2、具体分析
2.1 对程序进行查壳分析
程序查壳分析
2.2 程序未加壳,利用olldbg加载改程序,寻找关键提示字符
智能搜索
关键提示字符
2.3 跳转至关键提示地址,修改程序的关键跳转逻辑或从内存中直接提取出注册码,如下图所示,我们可以将跳转修改为jmp,或直接复制出注册码。
暴力破解

算法分析

暴力破解的思路比较简单,下面分析程序生成注册码的代码逻辑(主要是太菜只能多动手,当作简单的练习拉~)
1、寻找check按钮的消息处理函数位置
这里我使用了两种方法,利用od下消息断点和利用IDA分析流程(第一种失败了,从系统的消息处理函数开始,没找到程序自己的消息处理函数,不知道原因,欢迎大佬指出,感谢~)。

1.1 利用od下消息断点
1.1.1 打开od图像界面窗口(点导航栏的w)
窗口界面
1.1.2 在check 按钮处下消息断点(这里是0x202消息,具体是0x201还是0x202,请自行测试)
消息断点
1.1.3 点击check 触发系统消息处理函数,并在代码段下内存访问断点,运行程序(后面找了很久没找到,请大佬指点~)
代码段内存访问断点
代码段
1.2 利用IDA分析代码逻辑
1.2.1 根据IDA的自动分析,start函数中DialogBoxParamA函数的 DialogFunc参数即为消息处理函数。
start函数
1.2.2 寻找check按钮的消息处理函数,这里是先寻找WM_COMMAND消息,再寻找对应的按钮。
消息处理函数
1.2.3 在OD中加载程序,跳转至消息处理函数处

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值