首页
社区
课程
招聘
[原创]WinCHM 再探索!
发表于: 2022-9-28 17:51 7121

[原创]WinCHM 再探索!

2022-9-28 17:51
7121

https://bbs.pediy.com/thread-274560.htm

看到zenix大佬发帖后,有感而发。

从下面这个网站下载安装以后,将winchm.exe拖入IDA。

http://www.softany.com/winchm/

根据zenix大佬的汇编描述,这里有个常量0x2705,然后我们在IDA通过搜索立即数,立刻定位到了关键代码位置。

立即数搜索框

下面是搜索结果

根据官网的购买界面,确实是证书类型。

看不太明白,上Windbg和retsync。

IDA 启动ret-sync插件,然后windbg执行!sync

接下来输入用户名和注册码,windbg就能断下来了。

与此同时ida会进行同步

此刻进行调试中,常用命令

边调试边看,调试时发现这里有个小循环。

F5后也就是这样

我们的算完之后是0xbd6

试着改动一下

g运行,发现注册成功了。

此时重新运行后,windbg需要重新下断才能断下来,而且windbg preview的寄存器窗口是错误的。

例如eax寄存器

此时可以确定的是,我们的寄存器eax代表v2,也就是注册码的长度,ebp-8取出来的是注册码的地址。

由dc可以看出字符是按两个字节编码的。因此我们重命名后就是这样

用C++实现一下就是这样

接下来可以写个标准版注册机。

注册

Ok!

https://github.com/BeneficialCode/WinCHMStandardKeygen

 
 
 
 
0058CB2A    BB 0F270000     mov ebx,0x270F                           ; 9999 用户,也就是无限用户授权
0058CB2A    BB 0F270000     mov ebx,0x270F                           ; 9999 用户,也就是无限用户授权
 
 
 
 
 
 
!process 0 0 winchm.exe
!process ffffa10d782cd300
.reload
.process /i ffffa10d782cd300
bp 0058C9E4
.load F:\github\ret-sync\ext_windbg\sync\x64\Release\sync.dll
!process 0 0 winchm.exe

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (2)
雪    币: 2401
活跃值: (1402)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
要不要再来一个专业版注册机?
2022-9-29 16:54
1
雪    币: 1907
活跃值: (5994)
能力值: ( LV7,RANK:116 )
在线值:
发帖
回帖
粉丝
3
zenix 要不要再来一个专业版注册机?
不来嘞,学习其他的知识。
2022-9-29 18:10
1
游客
登录 | 注册 方可回帖
返回
//