首页
社区
课程
招聘
[原创]x64dbg入门之工具使用实战
发表于: 2020-6-17 18:49 34528

[原创]x64dbg入门之工具使用实战

2020-6-17 18:49
34528

​ 本文通过分析一个非明码比较的序列号保护程序,展示x64dbg的常见用法以及逆向的基本思路,在实战中讲解x64dbg的一些用法:

分析程序功能

这程序就长这样:

软件界面

在help里面可以找到一个注册功能,注册界面如下:

软件界面2

输入正确的用户名和密码即可注册成功,当然,如果输入错误,会弹出一个messagebox显示错误信息

查壳

查壳结果

可以看出,目标程序是使用汇编写的,貌似没壳。

分析目标程序

将目标程序用x64dbg(实际上是x32dbg)打开,看看x64dbg的界面,这里常用的窗口都使用红字标注出来了

xdbg基本界面

字符串搜索功能,我们可以通过x64dbg的字符串搜索功能来查看内存中加载的字符串,具体操作步骤为:CPU(反汇编)窗口->鼠标右键->搜索->选择模块(根据个人需求选择,一般选择当前模块,前提是得先执行到主模块)->字符串

搜索1

我们单步到主模块(单步调试快捷键和od一样,F7单步步入,F8单步步过),字符串搜索得到如下结果,可以看到很明显的字符串:

搜索2

双击该字符串即可跳到反汇编窗口中相应位置。

关键代码

下软件断点,运行程序,观察是何处调用了该代码(鼠标点击相应行,按下F2即可快速使用软件断点),下软件断点后,地址处会变为红色,断点窗口能看到相应信息。

软件断点1

软件断点2

让程序运行起来(快捷键F9),输入注册信息,点击确认,等待命中软件断点

可以看到,程序的EIP指向了我们的软件断点,此时信息框信息为失败。

破解流程1

单步步过,一直走到返回ret,即可查看上层代码

可以看到,源程序是使用了2个处理函数,分别对用户名和密码进行了运算,用户名运结果放到了eax中,密码运算结果放在ebx中,比较二者运算结果是否相同,决定调用注册成功函数还是注册失败函数。(由于此时只是介绍工具使用,故不展示算法分析部分,大致流程为eax = F1(用户名),ebx = F2(注册码),cmp eax,ebx)

破解流程2


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 11
支持
分享
最新回复 (16)
雪    币: 35632
活跃值: (7155)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2

高级命令没提
条件断点没说

脚本命令没说
给力插件没讲

3A转换技巧没说

帮助看得不细


最后于 2020-6-17 19:39 被ninebell编辑 ,原因: 提建议
2020-6-17 19:33
0
雪    币: 1657
活跃值: (924)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
ninebell 高级命令没提条件断点没说脚本命令没说给力插件没讲3A转换技巧没说帮助看得不细
好嘞,知道了,就是寻思着不是入门教程嘛,就写了一些基本的分析技巧。
2020-6-17 20:01
0
雪    币: 5150
活跃值: (9667)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
4
夜航星 好嘞,知道了,就是寻思着不是入门教程嘛,就写了一些基本的分析技巧。
ninebell已经把下一篇文章的大纲已经给你了!!!
2020-6-18 11:27
0
雪    币: 542
活跃值: (373)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可否告知CTRL+G搜索函数后定位不到关键函数怎解?
本来应该在0040.....区域,他定位到76C....的了。
2020-6-18 16:43
0
雪    币: 1657
活跃值: (924)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
细叶远志 可否告知CTRL+G搜索函数后定位不到关键函数怎解? 本来应该在0040.....区域,他定位到76C....的了。
这个要看2个方面,一是你搜索的时候模块是不是运行到主模块了,二是程序的入口点是否是动态分配的。
2020-6-18 17:37
1
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
666
2020-6-18 19:38
1
雪    币: 538
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
很棒 新人就需要这样的资料 楼主加油!
2021-4-12 22:20
0
雪    币: 60
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢大佬分享~
2021-4-14 14:45
0
雪    币: 421
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢大佬分享,也学习着破解一些小软件来着。。。
2021-9-23 17:01
0
雪    币: 335
活跃值: (786)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习
2022-10-11 12:21
0
雪    币: 0
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习大神的了
2022-10-24 17:30
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
文章里没有涉及到的内容  就不要整个标题在那误导人家   恶心谁呢     什么牛马都能发帖子
2022-12-22 09:05
0
雪    币: 1585
活跃值: (182)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
2023-2-25 21:51
0
雪    币: 120
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
这个学费了,下一步教程还有吗
2023-11-20 11:20
0
雪    币: 2562
活跃值: (2331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习了,谢谢
2023-11-26 16:40
0
雪    币: 9
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
看教程好像还有很多细节没有写到,但还是支持楼主
2023-11-28 14:01
0
游客
登录 | 注册 方可回帖
返回
//