替换Adobe 系列amtlib.dll到底是什么原理?
fc比照一下就晓得了,只改了几个字节罢了……
属于“爆破”。
(所以,你也能够看到,数字签名无效了)
应该是某破解小组连系IDA Pro、HIEW等反汇编做静态阐发,连系OllyDBG、WinDbg、x64dbg之类调试器做动态阐发,找到那一段“查抄能否激活,没激活则弹窗”的代码,然后间接把机器码改掉,改成“无论如何都不弹窗”那种。
印象中,最早是有对应的注册机(patcher)在传播的,但是良多处所分享破解都只要dll文件——可能分享破解的人多长了个心眼,惧怕注册机运行后会安拆木马,所以只把“废品”分享进来了。关于amtlib.dll来说,仿佛搜到带毒版的概率还不是太大。但是,dll/exe里藏一段shellcode来挂马也不是啥新颖事儿了,“良心”的分享者不会干那种事,但总会有坏人去干那种诱拐小白的工作。
至于Adobe为啥不改,可能是他们大白再复杂的防破解也只是进步破解难度和手艺门槛、迟延破解时间,不成能从底子上处理问题;
并且加壳、混淆之类手段也会影响软件的不变性、兼容性和可维护性,综合其他考虑,就弃疗了吧。再说一下3D功用和X-Force的工作。
通过上面说的动态+静态逆向阐发,能够发现amtlib.dll里有“若是激活有效则继续,无效则弹窗”那种代码。
但是,Adobe还规定了良多受权类型,分为订阅(按年付费的Creative Cloud)和一次性买断,等等,amtlib对那个也有判断,然后功用就有不同了。AI在那方面最明显,间接安拆试用的是Tryout版。
我估量是破解者一起头只改掉了弹窗的逻辑,没认真阐发受权类型那块,就招致3D功用没激活。
X-Force注册机应该是把Adobe用的离线激活算法给逆向了,然后,很幸运,那个算法不难搞定,能够很快解出肆意注册码,并且不需要修改dll或者exe就能够通过验证。
我记得如许注册,在amtlib里是根据一次性买断受权处置的……
然后,Adobe还搞了在线验证,所以就需要改hosts来屏障掉Adobe的激活办事器。
但是改hosts的办法其实有个暗坑:若是用户改了IE代办署理设置(天朝收集,你懂的),可能就会让Adobe的激活查抄东西通过代办署理办事器长途解析DNS,然后hosts里的屏障就失效了,再然后,Adobe的办事器返回验证失败的动静,软件的激活也跟着失效了。
如许激活还有一个问题,就是Adobe看上去不会给那种一次性买断受权推送更新,不克不及间接晋级到新版(不像订阅受权,能够滚动更新),网上也有人研究过若何绕过那种限造。
(其实我也不懂Adobe用的注册算法是什么样子,哈哈)