求助分析AutoDWG DWG2PDF Converter中的关键call
纯24K小白一个,照猫画虎,想获得这个软件的注册码,我试了在红色箭头标识(貌似关键CALL)的两个位置下断点,然后F9运行程序,在程序中注册,F8,这时候在调试窗口出现了我输入的邮箱和注册码,没有出现真码。是不是关键call没有找对,还是其他操作的问题,请各位大神点拨点拨。{:handshake:}
好像是没有壳的。
{:cry:}{:cry:}{:cry:}{:cry:}{:cry:} {:cry:}{:cry:}{:cry:}{:cry:}{:cry:} 看图,应该是没有找错,真码指的是,在程序中比较的明码,你确定观察仔细或者说是软件是明码比较
软件有样本连接吗? 寻梦小生 发表于 2018-7-10 22:29
看图,应该是没有找错,真码指的是,在程序中比较的明码,你确定观察仔细或者说是软件是明码比较
软件有样 ...
软件的链接在这里~~
链接:https://pan.baidu.com/s/12nVimZHOkB8FYg7gqgHCHA 密码:hj64
本帖最后由 寻梦小生 于 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
我看完了,大概明白了以下几点:
1、注册码在OD里面不是明码,所以在OD下断点寻找注册码根本看不到。
2、我的关键跳和关键call都找的是对的(虽然是照猫画虎找出来的,哈哈)
3、00415E3Dcall里面的内容 我没有看,或者说不知道去看。
4、爆破的话处理一下关键跳就可以,这个我试过,提示注册成功,而且转
换出来的PDF也没有试用模式下的水印。但是软件的试用提示一直显示。不
清楚爆破后的软件过了试用期还能不能继续试用。这个过两天在反馈。
最后的总结,再次感谢大神认真细致的分析{:handshake:},我还是把破解想的太简单了。这里面的
渠渠道道真的很深,虚心学习吧。 [url=forum.php?mod=redirect
哈哈,好…
还有我不是什么大神,整个飘云阁最菜的就是我…
加油,共勉…
页:
[1]