IDM 逆向 分析 破解 分享
IDM 这个下载软件,相当不错,所以就拿来看看。
自己 逆向经验不多, 只是简单的分析 最后达到破解的目的
首先用OD 打开软件,然后运行
试着 注册 一下看看。 看看是否有错误提示等信息。
我同时 在 MessageBoxA 上设置了断点,毕竟是 错误信息 有可能 弹出窗口。
结果运气不错, 拦截到了 MessageBoxA 的弹出, 反向跟踪到调用位置
反向跟踪后往上找,看看是哪里给出的错误信息。结果很幸运 找到了2个关键跳转,这2个跳转作用是根据多次测试 发现,输入错误的序列号 都会跳转到 打印错误信息的位置。 我的想法很简单,就是不让他打印错误信息, 当然 这个不是一定能破解软件,因为,哪怕打印出来的不是错误信息,但是软件仍然不让使用。
所以我 就对序列号进行了一些列的分析。 看看输入不同格式的序列号是否 得到的结果 或者报错的跳转 都是一个位置么。
---------------------------------------------------------------------------------------------------
比较时的笔记内容
输入错误信息 (序列号 11111111 )调用 0060091C
00BC86C4 00600922 /CALL 到 MessageBoxA 来自 IDMan.0060091C
输入 (mzaxx-67890-abcde-fghij) 调用 错误提示的地址也是
00BC8DCC 00600922 /CALL 到 MessageBoxA 来自 IDMan.0060091C
同样的序列号 (11111111) 2个 选择注册的位置效果一样
00BC8DCC 00600922 /CALL 到 MessageBoxA 来自 IDMan.0060091C
00BC86C4 00600922 /CALL 到 MessageBoxA 来自 IDMan.0060091C
00600922 这里是有
00BC8DE4 0050FCDE 返回到 IDMan.0050FCDE 来自 IDMan.006008F4
这里做了一个判断后 直接跳到
0050FCD9 |> /E8 160C0F00 call IDMan.006008F4
下行,我不让他跳转直接跳掉下一行
006008FD |. /75 08 jnz short IDMan.00600907
下一行是这里
006008FF |. E8 BAC00000 call IDMan.0060C9BE
应该是 005E8529 jg short IDMan.005E8530 跳过了 "-" 这个符号
005E8524 jl short IDMan.005E8530 跳过了数字与 "-"
--------------------------------------------------------------------------------
我 经过 反复 输入不同格式的序列号,分析后发现 序列号 输入后 软件 都会做2件事情
1 用 - 进行 分割
2 无论你输入的大写还是小写,软件都会自动转换成大写
如果 没有分隔符 直接跳转 上面我找到的2个跳转位置
例如 111111111111111
而 通过2天的漫长分析发现了它的序列号算法,这里就不与公布了,不过思路我可以 给出,
他的思路是通过自己建立一个字母表 然后 通过输入序列号位置的数字进行计算
每组 都按照下面字母表顺序 比较 记录位置数字。。 (字母表 后面省略)
2 Y P B 3 A Q C V U X M N
R S 9 7 W E 0 I Z D 4 K L F
G H J 8 1 6
最后发现 所有错误都是在我上面 发现的关键跳转位置 进行判断。
所以我直接 把那连个 跳转 该成 相反的 跳转命令 je 与 jnz
这样,我就成功注册了
成功后, 当我第一次下载网上的一个软件时候,发现软件联网验证了我的序列号,结果
又重新跳出注册窗口
同时发现,刚刚我修改过的位置又被从新恢复了,
这里我 选择 简单有效的办法解决了,没有再用OD
方法简单实用就是好办法
1 打开Host 文件写入
127.0.0.1 secure.internetdownloadmanager.com #IDM
结果发现,软件会自动检查 Host文件,并且修复,而且 哪怕你不点击修复,他也自动修复 同时 把 文件恢复。
我就用了第2个办法。
把 IDM 的安装程序 (在 X:\Program Files (x86)\Internet Download Manager) 这个文件包设置成 只读权限。
在我再次下载一个程序后, 同样提示上图 窗口,但是 软件无法恢复。
这样,最新版本的 6.31 build 2 破解了
有空的时候,会写一个 补丁程序发给大家,希望 大神们 给出意见,并且让我省些时间的方法。
多交流,谢谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课