IDM 6.4.1逆向分析笔记

2023-11-16

环境准备

安装过程不做说明

1. x64dbg

官网地址:https://x64dbg.com/

2. 火绒剑

官网地址:https://www.huorong.cn/

3.SPY++

下载地址:https://github.com/westoncampbell/SpyPlusPlus
有安装了Visual Studio2013-2022的在工具栏可以找到
在这里插入图片描述

4.winhex

官网地址:http://www.x-ways.net/winhex/

5.IDM

官网地址:https://www.internetdownloadmanager.com/

软件分析

1. 行为分析

软件在启动过程中肯定会访问注册表或者一些文件,或者发送一些网络请求,来获取自己的注册信息,这里使用火绒剑来观察软件的行为.

1.1 打开火绒剑

在火绒的安全工具的最下方
在这里插入图片描述

1.2 开启监控

打开之后,我们开启监控,然后运行IDM,IDM启动完成之后停止监控
在这里插入图片描述
可以在日志中看到IDM的一些行为日志
在这里插入图片描述

1.3 筛选行为信息

先右键IDMam.exe点击包含’IDMan.exe’,过滤出与IDM相关的行为日志
在这里插入图片描述
然后点击左上方过滤,进行动作过滤
在这里插入图片描述

1.4先看注册表行为

在这里插入图片描述
与注册表相关的行为很多,这里只关注路径里有IDM相关名称的记录就行了,如
在这里插入图片描述

1.5 网络行为

动作过滤中进行筛选,然后在进程过滤中取消IDM
网络行为一般会调用更底层的进程进行请求,所以要取消包含
在这里插入图片描述
在这里插入图片描述
可以看到访问了IDM 相关网站,我在虚拟机中分析,没有网络,所以只对test.internetdownloadmanager.com进行了测试连接.
在这里插入图片描述
然后连上网络再试试
在这里插入图片描述
可以看到有多个idm相关网址的dns请求,猜测一下最下面的registeridm.com就是注册idm时会访问的地址.

2.尝试注册

2.1 序列号获取

通过百度随便找个序列号,我这里就不提供了
问: 为啥要百度找个序列号,自己乱填一个不行吗?
答: 因为程序会对序列号按照一定算法进行校验,就像身份证号一样,最后一位是校验位.校验通过了才会把序列号发给服务器进行再次验证.

2.2 注册行为监控(断网)

同样的我们要知晓软件注册过程中发生了什么

2.2.1 首先,清空火绒剑的监控日志

在这里插入图片描述
然后,断开网络
问:为啥要断网
答:因为有网和没有网结果不一样

2.2.2 清除dns缓存

打开cmd命令行

ipconfig /flushdns

在这里插入图片描述

2.2.3 输入注册信息(先别点注册)

在这里插入图片描述

2.2.4 开启火绒剑监控,并点击注册,注册完成后点击停止监控

在这里插入图片描述

2.2.5 日志过滤

看注册时软件对注册表进行了哪些修改
在这里插入图片描述

2.2.6 分析日志在这里插入图片描述

我们打开注册表(win+R 输入regedit,回车)
找到该地址

HKEY_USERS\S-1-5-21-3414719089-1786182962-4277031652-1000\Software\DownloadManager\

可以看到IDM相关的注册信息就在这个路径下
在这里插入图片描述

2.2.7 点击确定关闭IDM

网络连接失败,IDM自动关闭了

2.2.8 关于IDM关闭(点x关闭只是最小化,并未退出程序)

点击右下角上箭头,右键IDM图标,点击退出
在这里插入图片描述

2.3 启动行为监控(断网)

2.3.1 同样清空日志,开启监控,打开IDM,停止监控

在这里插入图片描述

2.3.2 软件启动时一定会去查询序列号
2.3.3 查看软件注册信息

发现已成功,其实还没有发给服务器验证,只是本地校验通过
在这里插入图片描述在这里插入图片描述
这里其实有一种思路,就是不让他去连接注册服务器去注册
我试过修改host文件,让它访问错误的地址
不过IDM启动时会检查host文件,又给改回来了,或者自己进行dns查询.

2.3.4 联网测试

先下个文件试试先
去IDM官网下载IDM
在这里插入图片描述

2.3.4 重启IDM(右下角退出程序或者任务管理器结束IDM)

发现还是注册成功的…
那就多试几次,直到出现以下界面
在这里插入图片描述
点击确定后,出现重新注册页面,点击×关闭,不要注册

IDM修改注册

1. 首先看现在这个状态下,启动idm是否会有访问注册表来获取序列号

1.1 用xdbg32打开idm,并进入入口点

在这里插入图片描述

1.2 开启监控,并在xdbg32中按F9继续运行

等待出现正在退出窗口,停止日志监控。
在这里插入图片描述
看了一圈日志,没发现啥重要的信息

1.3 xdbg重新运行程序 (Ctrl + F2)

添加MessageBoxW 断点,下方命令行输入

bp MessageBoxW

作用:当显示对话框前中断
按F9继续运行,直到在调用MessageBoxW中断
在这里插入图片描述

在这里插入图片描述
在右下加堆栈窗口中可以看到假冒序列号的提示信息,现在的目标就是找到是谁生成的提示信息。

1.4 反向推是谁生成的这个提示信息

在堆栈中下滑,找到第一次显示 "一个假冒的序列号被用来注册 Internet Download Manager。IDM 正在退出…"的位置
在这里插入图片描述
双击idman.0135E473 ,上方的汇编代码会跳转到该位置.或者ctrl+G输入0135E473跳转到该命令处。
在这里插入图片描述
在该命令的前几条汇编代码处打下断点,然后ctrl+F2重启程序,运行代码直到碰到该断点。
在这里插入图片描述

1.5 找是谁跳转到idman.0016E45C的

翻了一遍该地址周围,发现没有有跳转到该地址的代码,堆栈中也没有。
那在堆栈中往上看
在这里插入图片描述
该地址上面一个明显是我们输入的序列号,再上面应该是我们上一个调用的函数的返回地址,所以我们可以在这个返回地址打下断点。
bp 0016E096
然后重启程序,运行代码直到该断点
注意:代码地址可能会因为程序重新启动发生改变,但我们打下断点还是能找到的

1.6 地址0016E096是如何跳转到 0016E45C的

在这里插入图片描述
到该地址后,按F8进行单步调试,注意跳转指令
在这里插入图片描述
发现运行到这个位置时,会跳转到提示虚假序列号的代码。此时eax = 3

1.7 修改eax 的值 改为4

在这里插入图片描述
按F9继续运行看看会发生什么(有空的同学可以试试别的值,这里只演示此时eax值的作用)
(我这里由于程序长时间不运行,其内部可能存在调试检查,发生了异常,重新运行了一下,就显示了一下界面,并在一会儿后程序因异常暂停)
在这里插入图片描述
经过测试发现在这个跳转点修改eax ,无论何值大多都会出现这个注册窗口。
让我们回顾一下这周围的代码

011BE091 | E8 8AB6FFFF              | call <idman.sub_11B9720>                |判断注册状态
011BE096 | 83C4 04                  | add esp,4                               |
011BE099 | 8945 A0                  | mov dword ptr ss:[ebp-60],eax           | 此处读取了eax, 要在此前修改eax
011BE09C | 8945 94                  | mov dword ptr ss:[ebp-6C],eax           | [ebp-6C]等于eax,此处读取了eax
011BE09F | 8B55 94                  | mov edx,dword ptr ss:[ebp-6C]           |
011BE0A2 | 85D2                     | test edx,edx                            |
011BE0A4 | 74 0A                    | je idman.11BE0B0                        |
011BE0A6 | C705 04EA4B01 01000000   | mov dword ptr ds:[14BEA04],1            |
011BE0B0 | 8B45 94                  | mov eax,dword ptr ss:[ebp-6C]           | eax 来自[ebp-6C]
011BE0B3 | 83F8 0C                  | cmp eax,C                               | C:'\f'
011BE0B6 | 0F87 2A040000            | ja idman.11BE4E6                        |
011BE0BC | FF2485 90EA1B01          | jmp dword ptr ds:[eax*4+11BEA90]        |

其实idman.sub_11B9720这个函数对序列号的有效性进行了验证,进入这个函数内部可以看到其读取了序列号、用户名等信息

1.8 提前修改eax

在这里插入图片描述
修改完后我们F9运行代码,可以看到我们的程序窗口已经出现了,不过多了一个对话框。其中的内容翻译过来就是下面这些。
“Internet下载管理器已使用假序列号注册。请注意,被**的产品可能无法正确工作,下载文件时可能会出错。因此,我们建议您购买功能齐全的产品”

在这里插入图片描述
由此可以看到eax的值是关键,此外程序还有其他部分对代码进行了验证,导致了弹窗的出现。

此外我们可以使用IDM反编译一下,看看

2. 解破序列号验证

2.1 现在我们需要找到是谁将eax改为3

显然在我们刚刚修改eax的汇编代码上方,call <idman.sub_11B9720> 代码修改了eax
我们重启程序,并运行到该函数内

2.2 进入获取注册状态的代码

在这里插入图片描述
按ctrl+F9运行到返回
在这里插入图片描述
我们根据代码反向推断,箭头所指处之后是我们最后能确定肯定会执行的地方。我们在此打下断点,重启并运行到该位置。在这里插入图片描述
从堆栈中我们可以知道,代码在此之前执行了箭头所指函数,我们跳转到该位置并打下断点

2.3 找到关键汇编代码

在这里插入图片描述
可以看到此处的下两行代码将eax赋值成了3,我们修改,我们点击该处代码,按空格修改代码
mov eax, 0x0,然后运行程序,就能发现程序能正常启动了
在这里插入图片描述

2.4 使用winhex修改idman.exe

找到IDM源程序位置,复制一份命名位idman_1.exe
在这里插入图片描述
用winhex打开idman_1.exe
在这里插入图片描述
按下ctrl+alt+x搜索十六进制数值搜索该位置的汇编十六进制代码,(下图中十六进制代码下有下划线的是可变地址,每次启动都会变,不能用来搜索)
在这里插入图片描述
搜索 B803000000E95EFBFFFF
在这里插入图片描述
找到该位置后将 EB03改为EB00,保存文件

2.5 测试修改后的结果

首先我们需要停止调试,然后双击idman_1.exe运行代码查看状态
在这里插入图片描述
程序已经能启动,不过在过一会儿之后会出现这个弹窗导致程序终止。

弹窗问题

睡觉去了,明天见

另一种解决方案

不要输入序列号,无限试用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDM 6.4.1逆向分析笔记 的相关文章

  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • 【OpenCV学习笔记02】- 图像入门

    内容 这里介绍了图像处理的入门操作 你将学习如何读取图像 如何显示图像以及如何将其保存回去 你将学习以下功能 cv imread cv imshow cv imwrite 简单使用OpenCV 读取图像 使用 cv imread 函数读取图
  • MIT_线性代数笔记:复习二

    目录 第二单元主要内容 例题 第二单元主要内容 正交矩阵 Q 用矩阵形式描述正交性质 投影矩阵 P 最小二乘法 在方程无解时求 最优解 Gram Schmidt 正交化 从任意一组基得到标准正交基 策略是从向量 中减去投影到其它向量方向的分
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • 这些专利知识你知道吗?

    专利作为一种重要的知识产权保护形式 专利不仅成为了企业核心竞争力的重要组成部分 也成为了国家创新发展的重要支撑 专利是指国家专利主管机关授予发明创造申请人的一种专有权 这种专有权具有独占性 排他性和法律强制性 能够为持有者带来经济利益和竞争
  • 如何解读服务器的配置和架构?

    在当今数字化时代 服务器作为企业或组织的重要基础设施 其配置和架构对于保障业务的稳定运行至关重要 如何解读服务器的配置和架构 成为了一个备受关注的话题 本文将围绕服务器配置和架构的解读进行深入探讨 帮助读者更好地理解服务器的性能 扩展性和安
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问

    文章目录 1 前言 2 Imagewheel网站搭建 2 1 Imagewheel下载和安装 2 2 Imagewheel网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar临时数据隧道
  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 【go语言】AST抽象语法树详解&实践之扫描代码生成错误码文档

    背景 为了能识别出代码中抛出错误码的地址和具体的错误码值 再根据错误码文件获取到错误码的具体值和注释 方便后续的排错 这里使用AST进行语法分析获取到代码中的目标对象 一 编译过程 在开始解析代码之前先补充了解一下编译过程 编译过程是将高级
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • 【安全】网络安全态势感知

    文章目录 一 态势感知简介 1 概念 2 形象举例 3 应具备的能力 二 为什么要态势感知 为什么网络安全态势感知很重要 三 态势感知系统的功能 四 如何评估态势感知的建设结果 五 什么是态势感知的三个层级 四 业界的态势感知产品 1 安全

随机推荐