汽修店工单管理软件逆向分析及内存注册机
外面疫情严重,窝家里没事,看有人求助该软件的注册方法。下载。
查壳:
如图所示。无壳,查看窗口类型为易语言所写,启动软件,打开关于窗口,输入假注册码后点保存。提示重启验证。仔细观察,发现在软件的根目录下边的DB目录下多了一个叫:license的文件,猜测应该是注册文件保存处。
窗口标题显示未注册。于是直接拖入OD。来到易代码区,右键搜索关键字。结果发现没有:未注册字样。重启验证,有KEY文件,于是找找KEY文件的读取地方。搜索:db\license 发现有三处。
对三处,找到:
0040BFB2 |. 83C4 04 add esp,0x4
0040BFB5 |> 58 pop eax
0040BFB6 |. A3 60DB6900 mov dword ptr ds:[0x69DB60],eax
0040BFBB |. 68 00000000 push 0x0
0040BFC0 |. BB 80F64700 mov ebx,kaIDAn.0047F680 ; j
0040BFC5 |. E8 00300700 call kaidan.0047EFCA
0040BFCA |. 83C4 04 add esp,0x4
0040BFCD |. 8945 F4 mov [local.3],eax
0040BFD0 |. 68 20B55E00 push kaidan.005EB520 ; \db\license 此处应该就是读取KEY文件的地方。下断。
0040BFD5 |. FF75 F4 push [local.3]
0040BFD8 |. B9 02000000 mov ecx,0x2
0040BFDD |. E8 4351FFFF call kaidan.00401125
0040BFE2 |. 83C4 08 add esp,0x8
在:0040BFD0处下断。然后重启。断下后一路F8:
0040C50D |. E8 C34DFFFF call kaidan.004012D5
0040C512 |. 83C4 08 add esp,0x8
0040C515 |. 83F8 00 cmp eax,0x0
0040C518 |. B8 00000000 mov eax,0x0
0040C51D |. 0f94c0 sete al
0040C520 |. 8985 70FFFFFF mov [local.36],eax
0040C526 |. 8B5D E4 mov ebx,[local.7]
0040C529 |. 85DB test ebx,ebx
0040C52B |. 74 09 je short kaidan.0040C536
0040C52D |. 53 push ebx ; 出假码。但寄存器中出现了疑似注册码。
0040C52E |. E8 792A0700 call kaidan.0047EFAC
0040C533 |. 83C4 04 add esp,0x4
0040C536 |> 8B9D 74FFFFFF mov ebx,[local.35]
可以看到,此处出现在的就是假码。但是寄存器中出现了:BFA268FF5A4F8B33741A296A78E3AF91
果然复制出来。输入软件中注册,重启发现注册成功。
至处,追码完毕。写内存注册机。
打开KeyMake,点其它-内存注册机。
按图填入数据,点生成即可:
注意:使用注册机之前,必需先输假码注册一次,然后通过注册机启动软件才可以看到真注册码
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!