selph
selph
发布于 2023-03-09 / 230 阅读
0
0

irfanView v3.95 破解分析

irfanView v3.95 破解分析

软件基本信息

软件名称软件版本编程语言加壳情况难度难度说明练习日期
irfanViewv3.95C++ASPack简单验证部分逻辑在窗口消息处理过程里,通过提示对话框可轻松定位2023.02.15

功能:小巧的图片查看软件

image

加壳情况及脱壳

查壳:ASPack

image

脱壳:ESP定律即可

验证方式

重启验证:是、否

暗桩保护:无/自动关闭程序或电脑

注册信息:

  1. 启动弹出注册NAG
  2. 标题有“未注册版(Unregistered)”
  3. About有“未注册版(Unregistered)”
  4. 帮助里有“注册(Register)”按钮

破解过程

定位注册关键函数

输入错误的name和code,然后弹窗之后暂停程序,向上追溯,执行到用户模块的时候,发现该弹窗来自MessageBox的调用:

image

附近还有很多Incorrect registration的引用,实际上只是各种字符串都用一个地址保存,所以看起来很多,再往上一层就是窗口循环了,所以这里应该是消息处理函数,注册函数就在上面

上面不远处有个打开ini的部分,这里应该是读取注册信息的:在这里下断点

image

点开程序的注册按钮,发现断下在这里了,这里按照正常流程往下走,不远处就是一个打开模态对话框的调用DialogBoxParamA:

image

对话框打开了,等输入完点确定后,程序才会继续往下走,下面紧接着就是判断name和code的长度,code需要是全数字,不然会提示错误

然后再往下有一个函数的参数刚好是name和code,这就是注册函数了应该,返回值是0,就弹出注册失败,当修改成1,则显示注册成功

修改注册函数暴力破解

只要让eax返回非0就行,原本注册函数结尾代码:

image

修改后:

image

随便输入任何内容均可注册成功:

image


评论