为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

动态链接库里的秘密——获取注册码就是这样简单

2017-11-21 9页 doc 26KB 44阅读

用户头像

is_079973

暂无简介

举报
动态链接库里的秘密——获取注册码就是这样简单动态链接库里的秘密——获取注册码就是这样简单 动态链接库里的秘密——获取注册码就是 这样简单 :/)栏目编辑)iceftre)iceflre@hacker. comci3/ 文/图Hokkien GlaryUti}ities2.3.1.92是一款强有力且易 于使用的系统工具集合,提供了一整套可以保 护计算机的小软件.使用后感觉真的不错,电 脑速度果然提高了,呵呵……美中不足的是这 是一款国外共享软件,没办法,只有操家伙自 力更生啦! 通过本文,你可以学到,如何在动态链接 库里获取注册码.下面我就开始破解过程. 认识软...
动态链接库里的秘密——获取注册码就是这样简单
动态链接库里的秘密——获取注册码就是这样简单 动态链接库里的秘密——获取注册码就是 这样简单 :/)栏目编辑)iceftre)iceflre@hacker. comci3/ 文/图Hokkien GlaryUti}ities2.3.1.92是一款强有力且易 于使用的系统工具集合,提供了一整套可以保 护计算机的小软件.使用后感觉真的不错,电 脑速度果然提高了,呵呵……美中不足的是这 是一款国外共享软件,没办法,只有操家伙自 力更生啦! 通过本文,你可以学到,如何在动态链接 库里获取注册码.下面我就开始破解过程. 认识软件 软件运行后的界面如图1所示.看了界面后 你有什么反应啊7我的反应是居然是国外软 件!(说下废话,调节一下气氛嘛,呵 呵……)废话少说,进入注册窗El,随便注册 一 下,看看有什么反应,如图2所示.似乎这个 软件破解起来应该不难吧,都有注册信息啊 只是不知道出错提示能不能找到. ?—一……—一 —…………….?.!,_一I}k,____一nT— 蔓?慧擎{clen籁Reaf __等茹cr 曩薹誊ii嘲? —支耋一, i毒""一 rp州at一1柏!啦憎蛳:L9j 图1 呵 图2 破暖辽窿 用OD加载,搜索一下字符串,很遗憾,没 有任何信息,看来软件把出错提示加密了.毕竟 现在的软件哪会再像以前那么幼稚啊,呵呵,有 点困难啊.那就请出DeDe吧,也很遗憾,看不 出有什么有用的信息. 现在怎么办呢7我们想一下,一个软件为 了模块化,往往会把不同的功能模块封装起 来,以便进行再利用.一个软件公司对于软件 的注册算法,在同一批产品的不同软件中采取 的基本上应该是相同的,也就是说,算法部分 也有可能模块化.通俗地讲,就是用DLL文件对 注册功能代码进行封装.说到这里,大家应该 知道我们接下来应该怎么做了吗7呵呵,不 错,就是到DLL文件里进行探索. 但现在的问题是,如何找到我们需要的DLL 文件呢7这个问题确实很难,因为不同的软件 需要根据具体情况进行排查,找出软件的突破 口,也就是"具体问题具体,一切从实际 出发. 本次破解的最大机会是,软件调用的DLL文 件名可以搜索到.为什么你会知道那个DLL是注 册模块呢7答案很简单,试一下呗,运气很不 错.找到了破解的关键点.代码如下. UrUr^U |编辑)ieofiro)icefire@hacker.comon : 0o4429cFI.C645F700movbyteptr【ebp一 9I,0 004429D3J68742A4_4D0push00442A74 ;/Fi?瑚="I~vkdR.mLff 004429D8I.E8DBEEFBFFcall<jmp.&kemeB2. LoadLibraryA> ;\L?dL口ryA 004429DDI.8945F8movdwordptr【ebp- 8I,eax 004429E0I.33C0xoreax,eax 004429E21.55pushebp DO4429E31.684E2A4400push00442A4E 004429E8I.64:FF30曲dwordptr敏[mx】 004429EB1.64:8920movdword.ptrIs: 【eax],esp 004429EEI.837DF8DOcmpdwordpt'r[ebp- 8l10 004429F21.7516jnzshort00442A0A 004429F41.B9882A4400movecx, 00442A88 ;u玎able七oloadkm.dLL.ptea~re-b~aLLthis software.en%ercode 004429F91.B20lmovdl,l 004429FB1.A100574000moveax,dwordp,r 【405700】 00442A00I.E8DBF2FBFFcall<jmp.&rtl70, Sysutils::Exception:> 00442A051.E80EE7FBFFcall<jmp.&rtl70. System::RaiseExcc!pt> 00442A0Al>68C42A4400push00442AC4;/ entercode 00442AOFJ.8/345F8moveax,dwordptr 【ebp一8】 00442A121.50pusheax 00442A131.E870EEFBFFcall<jmp.&kerne132. GetProcAddress>;\~etProvAddress 看到上面那个GetProcAddress没7懂编程的 人应该知道这个APl是干什么用的.不错,这是 获取DLL文件相应函数的地址.注意一下第2个 参数(注意因为API的调用方式是Stdca『I,即 参数从右往左压栈),也就是entercode.顾名思 义,这个函数肯定是验证注册的函数. 找到了这个,我们就单步F8到00442A13 处,注意堆栈窗口的EAX寄存器,因为APJ的返 回值就放在这个寄存器当中,如图3所示.之后 直接转到01F95A48处,来到这里. 0lF95A4D33DBxorebx,ebx 01F95A4FAl8888F901moveax.dwordptr [<&vcl70Forms::Application>1 0lF95A548B00moveax,dwordptr【eax】 0lF95A568B5508movedx,dwordptr 【ebp+8】 0lF95A59E852BEFFFFcall<imp.&vcl70 Forms::TApplication::SetHandle> 0lF95A5EE8F5DDFFFFcall0lF93858 ;这个函数是关键 0lF95A638B0D8888F901movecx,dwordptr 【<&vclT0.Forms::Application>】 ;vcLTO.FoFr'as=.-Appl,lcation 0lF95A698B09movecx,dwordptr【ecx】 0lF95A6BB201movd1.1 0lF95A6DAl003EF90lmoveax,dwordptr 【lF93EDO】 01F95A72E839BDFFFFcallmp.&vcl70.Forms:: TCustomFom::TCustomForm> 0lF95A778BF0movesi.eax 0lF95A798BC6moveax.esi 0lF95A7B8B10movedx,dwordptr【eax】 0lF95A7DFF92EC000000calldwordptr [edx+EC】 0lF95A8348deceax 01F95A847502jnzshort01F95A88 __llt;l一__ 秘I}1f9毡8鱼棼ek重re)娃娃 eX?:939赫?辩瓣t秘重7e9馨擎歉8 E})X?9孥e括黪8秘,d玉j9孝转轻碡 鞋×薅秘7嚣秘蒋 ,S瓣棼{2F59 ,转瓣瓣{2F酩 Si棼04D霉,0,棼转娃,:赫s::{8lt抟tn::1t,筵 图5 其中的CALL01F93858是关键,我们F7步 入,来到下面的代码处. 0lF93858 0lF93859 0lF9385B 0lF9385D 0lF9385E 0lF9385F OlF93860 0lF93861 0lF93862 0lF93864 0lF93865 0lF9386A 0lF9386D 0lF93870 OlF93873 55pushebp 8BECmovebp,esp 33;C9xorEcx,Ecx 51pushecx 5lpushecx 51pushecx 51pushecx 51pushecx 33C0xoreax,eax 55pushebp 680D39F901push0l179390D 64:FF30pushdwordptrIs:[eax】 64:8920movdwordptrIs:[eaxl,esp 8D55FCleaedx,. dwordptr【ebp-4】 B82039F901moveax.0lF93920 20~.0101 菹一匝冀客防线?啦_ …,?…一…' )栏目编辑)icefire)icefire@hacker.cowlcn :ASal"EE5AC533E'/lAE535D755ED39F2lFFD ;l4DD6FDE09D4OIE,535CB29FF2lFA0lED~3DB6CD9" 01F93878E8CFE9FFFFcall01F9224C 01F9387D8B55FCmovedx,dwordptr [ebp一4】 O1F93880B8DC70F901moveax,01F970DC 01F93885E82ED8FFFFcall<jmp.&rtl70.System:: LStrAsg> 01F9388A8D55F8leaedx,dwordptr [ebp一8】 01F9388DB87039F901moveax,01F93970 ASC""833王I筑垮IA4~0BJ" 01F93892E8B5E9FFFFcall01F9224C 01F938978B55F8movedx,dwordptr [ebp一8】 OlF9389AB8D070F901moveax,01F970DO 01F9389FE814D8FFFFcall<jmp.&rtl70.System:: LStrAsg> 0lF938A48D55F4leaedx,dwordptr [ebp—C】 01F938A7B88839F90lmoveax,01F93988 01F938ACE89BE9FFFFca//01F9224C OlF938Bl8B55F4movedx,dwordptr [ebp—C】 01F938B4B8E070F901moveax.01F97OEO 01F938B9E8FAD7FFFFcall<jmp.&rtl70. System::LStrAsg> O1F938BE8D55FOleaedx.dwordptr [ebp—lO】 01F938ClB8B439F901moveax.01F939B4 :ASClI"F565CB27EA4DDl33DB65C32lFA08F7" 01F938C6E881E9FFFFcall01F9224C O1F938CB8B55F0movedxdwordptr [ebp—lO】 01F938CEB8CO7OF9Olmoveax,01F970C0 01F938D3E8EOD7FFFFcall<jmp.&rtl70.System:: LStrAsg> O1F938D88D55ECleaedx.dwordptr [ebp—l4】 01F938DBB8DC39F9Olmoveax.01F939DC :ASCIl"F565CB27EA4DDl33DB65C32lFA08F767 E25BE5" 01F938E0E867E9FFFFcall01F9224C 0lF938E58B55ECmovedx,dwordptr [ebp—l4】 OlF938E8B8C470F901moveax,01F970C4 01F938EDE8C6D7FFFFcall<jmp._譬删7O.System:: LStrAsg>, 01F938F233C0xoreax,eax 01F938F45Apopedx 01F938F559popecx 01F938F659poPecx 圃一 OlF938F764:8910movdwordptrfs:[eax]. edx' O1F938FA681439F901push01F93914 01F938FF8D45ECleaeax,dwordptr [ebp一14】 OlF939O2BAO5OOoooomovedx.5 01F93907E8A4D7FFFFcall<jmp.&rfl70.,s:: LStrArravC OlF9390CC3retn 01F9390DE966D7FFFFjmp<jmp.&rtl70. System::HandleFinally> 01F93912EBEBjmpshortO1F938FF 01F939148BE5movesp.曲P 01F939165DpoPebp 01F93917C3retn' 左边的地址看起来有点怪,不错,因为我 们现在不是在主程序领域,而是在DLL文件之 中.当然怪啦,呵呵……在上面的代码里.可 以看到很多奇怪的加密数字,由此我们就可以 大胆判断,这个就是生成函数的代码.实践证 明我们的判断并没有错.因为时间关系,忙于 考研,所以没时间进行详细的算法分析,大家 有时间不妨自己仔细分析一下看看.因为软件 采用的是明码验证,注册码可以在内存中找 到,所以我们现在的任务就是查找注册码的产 生位置.经过一系列跟踪,最终定位在下面的 代码处: 01F938B4B8E070F901moveox,01F970E0 找到这段代码,观察寄存器窗口.如图4所 总结图4 现在的软件思想是提倡模块化可再利用. 因而.好多重要的功能代码基本上都会被封 装.注册功能也不例外.这就我们在破 解的时候思维更能活跃一些.不要陷入僵 局,不然现在的软件真的不好破解,只能被 迫放弃啦』 (文中所涉及的程序或代码,已收录入本期光 盘杂志相关栏目;也可到黑防官方网站下载)J
/
本文档为【动态链接库里的秘密——获取注册码就是这样简单】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索