xiaonvzi 发表于 2018-7-7 15:08:43

求助分析AutoDWG DWG2PDF Converter中的关键call





纯24K小白一个,照猫画虎,想获得这个软件的注册码,我试了在红色箭头标识(貌似关键CALL)的两个位置下断点,然后F9运行程序,在程序中注册,F8,这时候在调试窗口出现了我输入的邮箱和注册码,没有出现真码。是不是关键call没有找对,还是其他操作的问题,请各位大神点拨点拨。{:handshake:}


好像是没有壳的。

xiaonvzi 发表于 2018-7-10 21:38:14

{:cry:}{:cry:}{:cry:}{:cry:}{:cry:}

xiaonvzi 发表于 2018-7-10 21:38:38

{:cry:}{:cry:}{:cry:}{:cry:}{:cry:}

寻梦小生 发表于 2018-7-10 22:29:05

看图,应该是没有找错,真码指的是,在程序中比较的明码,你确定观察仔细或者说是软件是明码比较
软件有样本连接吗?

xiaonvzi 发表于 2018-7-10 23:04:44

寻梦小生 发表于 2018-7-10 22:29
看图,应该是没有找错,真码指的是,在程序中比较的明码,你确定观察仔细或者说是软件是明码比较
软件有样 ...

软件的链接在这里~~

链接:https://pan.baidu.com/s/12nVimZHOkB8FYg7gqgHCHA 密码:hj64

寻梦小生 发表于 2018-7-12 11:08:53

本帖最后由 寻梦小生 于 2018-7-12 11:14 编辑

xiaonvzi 发表于 2018-7-10 23:04
软件的链接在这里~~

链接:https://pan.baidu.com/s/12nVimZHOkB8FYg7gqgHCHA 密码:hj64
不好意思,一直没有忙于事情,差点忘了这个
初略的看了下,软件的确不是明码比较,算法知识我也有些力不从心,还没花时间去分析。

我贴全一点,我分析的流程…… 主要见注释
Email并没有什么用,只要包含@就行,如,ChinaPYG@
00415D6E/.55            PUSH    EBP
00415D6F|.8BEC          MOV   EBP, ESP
00415D71|.51            PUSH    ECX
00415D72|.894D FC       MOV   , ECX
00415D75|.6A 01         PUSH    0x1
00415D77|.8B4D FC       MOV   ECX,
00415D7A|.E8 156E5F00   CALL    <JMP.&MFC42.#CWnd::UpdateData_63>
00415D7F|.6A 00         PUSH    0x0
00415D81|.68 688CCA00   PUSH    D2P.00CA8C68
00415D86|.8B4D FC       MOV   ECX,
00415D89|.81C1 B0030000 ADD   ECX, 0x3B0
00415D8F|.E8 206F5F00   CALL    <JMP.&MFC42.#CString::Replace_68>
00415D94|.8B4D FC       MOV   ECX,
00415D97|.81C1 B4030000 ADD   ECX, 0x3B4
00415D9D|.E8 1EBDFEFF   CALL    D2P.00401AC0
00415DA2|.85C0          TEST    EAX, EAX
00415DA4|.74 19         JE      SHORT D2P.00415DBF
00415DA6|.6A 00         PUSH    0x0
00415DA8|.68 6C8CCA00   PUSH    D2P.00CA8C6C                     ;AutoDWGDWG2PDF
00415DAD|.68 7C8CCA00   PUSH    D2P.00CA8C7C                     ;Please input your email!
00415DB2|.8B4D FC       MOV   ECX,
00415DB5|.E8 70715F00   CALL    <JMP.&MFC42.#CWnd::MessageBoxA_4>
00415DBA|.E9 F8000000   JMP   D2P.00415EB7
00415DBF|>6A 00         PUSH    0x0
00415DC1|.68 988CCA00   PUSH    D2P.00CA8C98                     ;@
00415DC6|.8B4D FC       MOV   ECX,
00415DC9|.81C1 B4030000 ADD   ECX, 0x3B4
00415DCF|.E8 50715F00   CALL    <JMP.&MFC42.#CString::Find_6663>
00415DD4|.85C0          TEST    EAX, EAX
00415DD6|.7F 14         JG      SHORT D2P.00415DEC
00415DD8|.6A 00         PUSH    0x0
00415DDA|.68 9C8CCA00   PUSH    D2P.00CA8C9C                     ;AutoDWGDWG2PDF
00415DDF|.68 AC8CCA00   PUSH    D2P.00CA8CAC                     ;Please input correct email address.
00415DE4|.8B4D FC       MOV   ECX,
00415DE7|.E8 3E715F00   CALL    <JMP.&MFC42.#CWnd::MessageBoxA_4>
00415DEC|>8B4D FC       MOV   ECX,
00415DEF|.81C1 B0030000 ADD   ECX, 0x3B0
00415DF5|.E8 C6BCFEFF   CALL    D2P.00401AC0
00415DFA|.85C0          TEST    EAX, EAX
00415DFC|.74 19         JE      SHORT D2P.00415E17
00415DFE|.6A 00         PUSH    0x0
00415E00|.68 D08CCA00   PUSH    D2P.00CA8CD0                     ;AutoDWGDWG2PDF
00415E05|.68 E08CCA00   PUSH    D2P.00CA8CE0                     ;Please input the Register code!
00415E0A|.8B4D FC       MOV   ECX,
00415E0D|.E8 18715F00   CALL    <JMP.&MFC42.#CWnd::MessageBoxA_4>
00415E12|.E9 A0000000   JMP   D2P.00415EB7
00415E17|>8B4D FC       MOV   ECX,                    ;//到这里 email/register code 是否为空或email是否包含 @ 字符串判断完毕

主要看00415E3Dcall里面的内容
00415E3D|.E8 D8F30300   CALL    D2P.0045521A                     ;//算法Call写注册表Call
00415E42|.83C4 08       ADD   ESP, 0x8
00415E45|.25 FF000000   AND   EAX, 0xFF
00415E4A|.85C0          TEST    EAX, EAX
00415E4C|.74 4D         JE      SHORT D2P.00415E9B               ;//关键跳转,跳向失败,不跳即注册成功
00415E4E|.8B4D FC       MOV   ECX,
00415E51|.E8 2C6D5F00   CALL    <JMP.&MFC42.#CDialog::OnOK_4853>
00415E56|.8B45 FC       MOV   EAX,
00415E59|.C780 B8030000>MOV   DWORD PTR DS:, 0x1
00415E63|.8B4D FC       MOV   ECX,
00415E66|.83B9 B8030000>CMP   DWORD PTR DS:, 0x0
00415E6D|.74 16         JE      SHORT D2P.00415E85
00415E6F|.6A 00         PUSH    0x0
00415E71|.68 008DCA00   PUSH    D2P.00CA8D00                     ;AutoDWGDWG2PDF
00415E76|.68 108DCA00   PUSH    D2P.00CA8D10                     ;Thank you, Registered succeed !
00415E7B|.8B4D FC       MOV   ECX,
00415E7E|.E8 A7705F00   CALL    <JMP.&MFC42.#CWnd::MessageBoxA_4>

在这里做了一次 Register Code 长度比较 等于1A即26位,这段后面就是程序的注册码算法段。
以我的功力,还不能再短时间内分析完,目前就这样吧,爆破的话,可在多个地方修改,只修改一处即可,稍微有点小改动,即可爆破成功。
0045568B/$55            PUSH    EBP
0045568C|.8BEC          MOV   EBP, ESP
0045568E|.6A FF         PUSH    -0x1
00455690|.68 E58DAF00   PUSH    D2P.00AF8DE5                     ;SE 处理程序安装
00455695|.64:A1 0000000>MOV   EAX, DWORD PTR FS:
0045569B|.50            PUSH    EAX
0045569C|.64:8925 00000>MOV   DWORD PTR FS:, ESP
004556A3|.83EC 24       SUB   ESP, 0x24
004556A6|.8B45 08       MOV   EAX,                      ;//EAX = Register code
004556A9|.50            PUSH    EAX                              ; /s
004556AA|.E8 D37D5B00   CALL    <JMP.&MSVCRT.strlen>             ; \strlen
004556AF|.83C4 04       ADD   ESP, 0x4
004556B2|.83F8 1A       CMP   EAX, 0x1A                        ;//Register code 长度比较 CMP EAX,0x1A
004556B5|.74 07         JE      SHORT D2P.004556BE
004556B7|.32C0          XOR   AL, AL
004556B9|.E9 BF000000   JMP   D2P.0045577D                     ;//跳向失败

注册码保存路径
HKEY_CURRENT_USER\Software\AutoDwg\DWG_PDF_CONVER

xiaonvzi 发表于 2018-7-12 19:21:35

我看完了,大概明白了以下几点:
1、注册码在OD里面不是明码,所以在OD下断点寻找注册码根本看不到。
2、我的关键跳和关键call都找的是对的(虽然是照猫画虎找出来的,哈哈)
3、00415E3Dcall里面的内容 我没有看,或者说不知道去看。
4、爆破的话处理一下关键跳就可以,这个我试过,提示注册成功,而且转
换出来的PDF也没有试用模式下的水印。但是软件的试用提示一直显示。不
清楚爆破后的软件过了试用期还能不能继续试用。这个过两天在反馈。

最后的总结,再次感谢大神认真细致的分析{:handshake:},我还是把破解想的太简单了。这里面的
渠渠道道真的很深,虚心学习吧。

寻梦小生 发表于 2018-7-13 11:19:49

[url=forum.php?mod=redirect

哈哈,好…
还有我不是什么大神,整个飘云阁最菜的就是我…
加油,共勉…
页: [1]
查看完整版本: 求助分析AutoDWG DWG2PDF Converter中的关键call