首页
论坛
课程
招聘
[原创]非常适合新手学习的eXeScope深入分析
2018-12-19 17:56 7168

[原创]非常适合新手学习的eXeScope深入分析

2018-12-19 17:56
7168

软件介绍:

eXeScope能在没有资源文件的情况下分析,显示不同的信息,重写可执行文件的资源,包括(EXE,DLL,OCX,VBX)等。是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI编制的程序的资源,包括菜单、对话框、字串表等。

破解开始:

工具:

OD、ExeInfo

在已经使用一次软件过后,软件已经不能使用,需要注册后才能使用


打开注册窗口,随意输入名字和ID,会弹出注册失败的消息框

 

首先利用Exeinfo查看信息

 

可以看到是Borland 的Delphi程序,并没有加壳。不多废话,直接拖入OD,尝试最简单的方法,搜索字符串“无效的ID或名字”。

 

找到字符串,通过字符串向上看,尝试找到关键跳转和关键call


为了验证关键跳转是否正确,将JE改为JNE,让跳转不实现


改完跳转,并没有错误弹框,点击注册发现已经注册成功,但是这种暴力破解没有太大技术含量,这次选择分析出软件的算法并写出注册机。

在关键call下断点,重新运行OD,点击注册,填入信息,点击确定,会停到关键call的断点上,经过分析,注册码和用户名没有关系,只是单纯的ID的一些简单算法。


图上代码经过分析,已经可以确定ID有十位和前五位的具体数值,在往下继续看


将上图代码拿出来解析:

004CBFE5    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-0x4]    

004CBFE8    0FB640 08       MOVZX EAX,BYTE PTR DS:[EAX+0x8]  ;将ID第9位赋给EAX

004CBFEC    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-0x4]

004CBFEF    0FB652 09       MOVZX EDX,BYTE PTR DS:[EDX+0x9]  ;将ID第9位赋给EDX

004CBFF3    03C2            ADD EAX,EDX                    ;EAX = EAX + EDX

004CBFF5    B9 0A000000     MOV ECX,0xA                    ;ECX = 0xA

004CBFFA    33D2            XOR EDX,EDX                    ;EDX = 0

004CBFFC    F7F1            DIV ECX                         ;EDX = EAX % ECX

004CBFFE    83FA 04         CMP EDX,0x4                    

004CC001    75 02           JNZ SHORT eXeScope.004CC005

004CC003    B3 01           MOV BL,0x1                     ;标志位

004CC005    33C0            XOR EAX,EAX

当EDX = 0x4时,将BL变为1

在回到前面的关键call附近看一下


可以看到,当AL = 0x1时,跳转不成立,也就是说注册码正确

由前面的分析也可以看出,后半部分只对id的第9位和第10位进行了验证,6、7、8位只要在0到9之间即可

第9位和第十位的操作也很简单,例如:

第9位等于7,第10位等于1

他们的ASCII码分别是0x37和0x31

EAX = 0x37

EDX = 0x31

EAX = EAX + EDX = 0x68

ECX = 0xA

EDX = 0

当EDX = EAX % ECX  = 0x68 % 0xA = 0x4即成立

写出注册机,测试:


利用注册码可以看到已经注册成功。


软件和注册机源码附在下面


看雪2022 KCTF 秋季赛 防守篇规则,征题截止日期11月12日!(iPhone 14等你拿!)

上传的附件:
收藏
点赞2
打赏
分享
最新回复 (5)
雪    币: 351
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
五天 活跃值 2019-1-22 15:59
2
0
谢谢分享
雪    币: 570
活跃值: 活跃值 (190)
能力值: ( LV13,RANK:330 )
在线值:
发帖
回帖
粉丝
Fpc 活跃值 4 2019-1-23 16:42
3
0
[Reg]
Name=sadteam
ID=A191090008
雪    币: 2937
活跃值: 活跃值 (17)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
fqbqrr 活跃值 2019-1-26 11:17
4
0
一个赞赏15个币.
雪    币: 1379
活跃值: 活跃值 (3011)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风中小筑V 活跃值 2019-4-10 22:11
5
0
刚学反汇编不久..反哭了.搞了好久没搞出来  ,偷看了答案决定下次再来挑战.这个算法还挺有意思的.
雪    币: 0
活跃值: 活跃值 (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
LawrenceLee 活跃值 2019-4-12 16:02
6
0
感谢分享..挺好的.
游客
登录 | 注册 方可回帖
返回