首页
社区
课程
招聘
[求助]dll插件类型软件破解的一般思路(个人分析已写出)
发表于: 2008-6-18 13:26 8154

[求助]dll插件类型软件破解的一般思路(个人分析已写出)

2008-6-18 13:26
8154
PDFcamp Printer,可以将doc、xls、ppt、txt文档直接“打印”成pdf文件,未注册版本试用30天,且转换后的pdf文件有水印。程序只有几百K,安装后在安装目录中没有主文件,经过半天的摸索才找到如何注册,汗,呵呵,随便打开一个word文档,选择“文件”——“打印(Ctrl+P)”,调出打印框后点“属性”可以看到它的界面,在About选项卡中就有注册框了,如图1

    大家看到了,只有一个文本框,没有机器码和用户名输入提示,输入任意假码后点“Register”,弹出提示框“Your register number error ……”,用Wsyscheck查看word.exe加载的模块发现两个可疑dll——pdfui.dll和pdfprn.dll(而且这两个文件是加了UPX壳的),由此猜测它是dll文件注册类型

    至此开始尝试之旅了:
    OD附加word.exe,bp MessageBoxA下断后点注册,OD提示断下,Alt+F9返回后到此
7718A6E9    56              PUSH ESI
7718A6EA    FF37            PUSH DWORD PTR DS:[EDI]
7718A6EC    FF15 B0141877   CALL DWORD PTR DS:[<&USER32.IsDialogMess>; USER32.IsDialogMessageW
7718A6F2    F7D8            NEG EAX
7718A6F4    1BC0            SBB EAX,EAX               ********停到此处*******
7718A6F6    F7D8            NEG EAX
7718A6F8    5F              POP EDI
7718A6F9    5B              POP EBX
7718A6FA    5E              POP ESI
7718A6FB    5D              POP EBP
7718A6FC    C2 0800         RETN 8


    F8单步走却发现一直都是在模块Comct132中来回绕,根本找不到任何有用信息。

    没办法,只有换种思路,尝试使用PointH断点,点击注册后OD断下,F8单步步过,企图回到关键点,但是当F8到这里时却弹出了错误提示窗口,可是从断下到现在还一直都在USER32.dll里面转呢,都还没走出去,晕啊

77D2D2DA    6A 00           push    0
77D2D2DC    6A 0C           push    0C
77D2D2DE    5A              pop     edx
77D2D2DF    8D8D F0F7FFFF   lea     ecx, dword ptr [ebp-810]
77D2D2E5    8985 F0F7FFFF   mov     dword ptr [ebp-810], eax
77D2D2EB    E8 B4C1FEFF     call    77D194A4                *****提示注册码错误*****
77D2D2F0    8B4D FC         mov     ecx, dword ptr [ebp-4]
77D2D2F3    5E              pop     esi
77D2D2F4    E8 7BB3FEFF     call    77D18674
77D2D2F9    C9              leave
77D2D2FA    C2 0400         retn    4


    不得已,再换一种思路,用MFCSpy(经过研究发现此公司的软件一般都是VC++编写的),可是用了之后才发现只能找到注册按钮的ID号,却无法找到按钮的点击事件入口点,至此,彻底没思路了!
    其实对于处理这类没有主程序,只是作为别的软件插件的东东,我一直都很迷茫,也几乎很少见到有人写这种类型软件破解的一般思路总结或者类似的教程等,所以,在此请教高手指点一二,如果有大侠觉得这个问题有代表性的话愿意为论坛贡献一篇类似教程或总结,我相信肯定是篇精华帖哦o(∩_∩)o...

注:
   此程序网上注册码几年前早有流传,今天我拿它来举例,只是觉得它程序小又具有代表性,为了便于高手讲解也方便自己学习,请斑竹不要误会(*^__^*) 嘻嘻……

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
老大你来闹的啊?
GetWindowTextA
注册码没见过这么简单的
2008-6-18 13:39
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
3
好样的!
呵呵,别误会,我不是来捣乱的 ,只是想让大家帮忙看看给像我这样的小鸟拓展一下思路,你的这个断点在C类程序中很常用,也很经典,谢谢你的帮忙和关注,我分析了一下,完全可以找到关键点!

欢迎大家接着来,继续提供自己的分析思路和方法,毕竟多角度分析才能进步更快,举一反三哦,加油!
2008-6-18 13:48
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
4
关于这个软件的详细算法分析我已经发在了新手区,地址是
http://bbs.pediy.com/showthread.php?p=468426#post468426
虽然简单,但是这是我的第一个算法分析,几百行代码看下来,难免头晕哪,呵呵

再接再厉!
2008-6-18 15:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
playboysen 写的太详细了 我看了 学习中.........
我也希望有更直接更简单的分析方法问世,期待中.......
2008-6-19 21:59
0
雪    币: 4
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
正在学习和寻找如何破解插件的思路和方法呢,希望楼主能够多出一些这类教程!谢谢
2017-5-8 15:12
0
雪    币: 144
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
非常感谢,插件类的让人头疼。
2017-6-12 06:37
0
游客
登录 | 注册 方可回帖
返回
//