[常用工具] [转自吾爱]价值18万的工程设计软件破解之另类注册机

  [复制链接]
暮雨亦成詩 发表于 2017-2-15 01:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
[吾爱破解论坛]价值18万的工程设计软件破解之另类注册机

       在破解这个软件之前我从来没有接触过软件破解。连OD、脱壳、爆破什么的都没听说过。破解这个软件总共花费了我整整三个月的时间,从2016年04号找到该软件,到2017年2月6号破解完成。从刚开始的学OD、看教程、看视频、查参考书,然后再到找各种重要函数原型、分析算法,再到最后跟设计者斗智斗勇的思想交锋。
  破解过程中的各种心酸,各种纠结,各种难受说是说不清楚,中间有好几次都差点放弃。
      之所以要选择我破解这个软件,是因为在工程设计过程中需要出工程制图,我的整个设计软件体系中就缺少这么一款热控设计软件。因为公司规模较小,公司是不会花钱买这种东西的,而且这种软件售价也比较贵,单个软件授权是5万元,如果公司组建一个5人用的平台至少也需要20万。如果10个人已上就更高了了
       这个软件破解过程中有几个大坑,首先出现“授权正确”之后,并不代表软件破解成功。其次,如果你不能整出注册码,客户端软件就根本就启动不起来,就算爆破之后启动起来了,运行过程中也会出现很多次的内存访问错误,而且很可能出现软件异常中断。再有CAD的绘图功能也因没有正确授权而不能正常运行。对于CAD插件的破解没有找到合适的破解方法,所以现实要求必须完整的整出授权字符串。
       再说说,关于“吾爱破解论坛”上活动的事情吧。双11的时候注册的帐号,之所以注册帐号是因为我在搜索为题的时候发现很多连接都直接指向了这个论坛。因为群里经常有公告说不发表原创文章就可能被封号,所以就一直想整个原创文章发表,而且经常签到,避免不被封号。但是由于自己是新手,能原创的东西并不多,发表文章呢只能拿来主义粘贴上去。但是我觉得这样子没啥意思,对自己的能力提升没有帮助,随后就想等我把这个软件破解完了精心做一篇文章发表,争取被纳入论坛精华。
       鉴于这个软件涉及到厂家的只是产权,源文件就不往论坛里发了,但是我可以很负责的说,这个软件破解的精华都已经在下面的描述中给出来了。如果找到源文件按照我的方法可定是可以破解的。。。
   经过这次软件破解之后的感悟:习惯了失败之后,成功已不算是成功,失败也不再是失败。坚持就是胜利。。。

现在将我破解过程中的东西进行总结,以方便跟我有共同目标的人少走弯路,坚持自己的路。。。早日成功。

一、软件介绍








二、基础知识
    1.破解入门参考教程
        暴力逆向第一季 逆向分析技术          https://pan.baidu.com/share/link ... 34880#list/path=%2F
        暴力科技第二季 OD全面精通 (我认为最好的OD入门教程)     https://pan.baidu.com/s/1i3w12RV#list/path=%2F
        吾爱技术吧vip全套破解教程(118课)      https://pan.baidu.com/s/1c2s57w#list/path=%2F
       还有  小甲鱼系列脱壳篇与调试篇 天草系列教程

     2.使用到的软件
           吾爱破解专用版OllyDbg              PEID 0.95          IDR (Interactive Delphi Reconstructor)       IDA Pro v6.6           AspackDie      

     3.参考书籍
     揭秘数据解密的关键技术-刘颖东  (这本书强烈推荐)      https://pan.baidu.com/share/link ... fid=737029704242803
     加密与解密(第三版)      https://pan.baidu.com/share/link ... fid=619796960341408

    4.破解常用网址
       吾爱破解论坛            强烈推荐     http://www.52pojie.cn/
       Delphi库文件  (delphi破解必须要有的函数库)     http://delphi.ktop.com.tw/download/upload/00019969_Classes.pas
       TSL内置对象使用大全       http://www.tinysoft.com.cn/tsdn/helpdoc/display.tsl?id=1519
       Delphi反汇编内部字符串处理函数/过程列表      http://www.th7.cn/Program/delphi/201407/251050.shtml

三、破解记录

      1. 软件安装
         软件安装之后共有两个主要运行文件,如图所示。

      2.查壳脱壳

          1)、用PEiD 0.95查壳
        
                两个软件均为ASPack2.12压缩壳
         2)用AspackDie脱壳之后判断软件的变成语言,均为delphi

      3.找出服务器Server软件关键CALL
          用IDR反编译Server软件后,单击下图方框中内的选项,进入到关键CALL


  1. <div style="text-align: left;"><span style="line-height: 1.5;">fServer::TfrmServer.LicBtnClick</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C5C push ebp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C5D mov ebp,esp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C5F mov ecx,5</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C64 push 0</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C66 push 0</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C68 dec ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;"><00734C69 jne 00734C64</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C6B push ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C6C push ebx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C6D push esi</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C6E mov ebx,eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C70 xor eax,eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C72 push ebp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C73 push 734E76</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C78 push dword ptr fs:[eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C7B mov dword ptr fs:[eax],esp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C7E lea edx,[ebp-0C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C81 mov eax,dword ptr [ebx+39C];</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C87 call TCustomMaskEdit.GetText</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C8C mov eax,dword ptr [ebp-0C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C8F call FileExists //判断授权文件是否存在</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C94 test al,al</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734C96 jne 00734CAE //al不为0则授权文件存在</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C98 mov ecx,734E8C; '授权文件不存在!'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C9D mov dl,1</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734C9F mov eax,[00408BC8]; Exception</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CA4 call EOutOfResources.Create; Exception.Create</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CA9 call @RaiseExcept</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CAE xor eax,eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CB0 push ebp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CB1 push 734E1F</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CB6 push dword ptr fs:[eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CB9 mov dword ptr fs:[eax],esp</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CBC mov dl,1</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CBE mov eax,[0041F558]; TStringList</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CC3 call TdxInplaceTextEdit.Create; TStringList.Create</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CC8 mov dword ptr [ebp-8],eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CCB lea edx,[ebp-10]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CCE mov eax,dword ptr [ebx+39C]; TfrmServer.LicenseEdit:TComboEdit</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CD4 call TCustomMaskEdit.GetText</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CD9 mov edx,dword ptr [ebp-10]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CDC mov eax,dword ptr [ebp-8]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CDF mov ecx,dword ptr [eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CE1 call dword ptr [ecx+68]; TStrings.LoadFromFile</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CE4 lea ecx,[ebp-4]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CE7 xor edx,edx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CE9 mov eax,dword ptr [ebp-8]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CEC mov esi,dword ptr [eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CEE call dword ptr [esi+0C]; TStringList.Get</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CF1 cmp dword ptr [ebp-4],0</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734CF5 je 00734E09</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CFB lea ecx,[ebp-14] //这个地方存放</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734CFE mov edx,734EA4;</span></div><div style="text-align: left;"><span style="line-height: 1.5;">'kjjuoiu987*(&*(uuiyui*&^*789897UIOUI&*^*&^&*Tuytu'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D03 mov eax,dword ptr [ebp-4] //这个地方存放授权字符串</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D06 call 0070DDC0 //这个是主要解密函数</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D0B mov edx,dword ptr [ebp-14] //解密后的字符串</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D0E mov eax,dword ptr [ebp-8]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D11 mov ecx,dword ptr [eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D13 call dword ptr [ecx+2C]; //这个是看似没多大作用但非常重要的函数</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D16 mov edx,734EE0; 'MacAddress'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D1B mov eax,dword ptr [ebp-8]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D1E mov ecx,dword ptr [eax]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D20 call dword ptr [ecx+58]; TStrings.IndexOfName</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D23 inc eax //定位到MacAddress之后返回位置数值</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734D24 je 00734DFF //也就是说eax的返回值不能为-1</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D2A lea eax,[ebp-18]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D2D mov edx,dword ptr [ebp-4]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D30 call @WStrFromLStr</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D35 mov eax,dword ptr [ebp-18]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D38 push eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D39 mov eax,dword ptr [ebx+31C]; TfrmServer.util:Tutil</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D3F xor ecx,ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D41 mov edx,734EF0</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D46 call 004DF858 //向注册表值写值</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D4B lea eax,[ebp-1C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D4E push eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D4F mov eax,dword ptr [ebx+31C]; TfrmServer.util:Tutil</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D55 xor ecx,ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D57 mov edx,734F34</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D5C call 004DF8C8 //读取注册表值</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D61 mov eax,dword ptr [ebp-1C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D64 xor edx,edx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D66 call @WStrCmp //\Software\Classes\VBS AUTHOR\OLEScript这个注册表的值是否为空,值不为零提示软件已经注册,不能再注册,如果为0才可以注册。</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734D6B jne 00734DF3</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D71 call 007310F4 //判断一个文件是否存在,这个不用分析</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D76 test al,al</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734D78 jne 00734DB4 //这个跳转应该让它实现才对</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D7A lea ecx,[ebp-24]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D7D mov edx,734F8C;</span></div><div style="text-align: left;"><span style="line-height: 1.5;">')(*979798LJOJLJOIU&*(876876YGUGJGJGHIYI(*&*(^&*678678)(*)(IO'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D82 mov eax,734FD4; '0'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D87 call 0070DC94</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D8C mov edx,dword ptr [ebp-24]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D8F lea eax,[ebp-20]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D92 call @WStrFromLStr</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D97 mov eax,dword ptr [ebp-20]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D9A push eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734D9B mov eax,dword ptr [ebx+31C]; TfrmServer.util:Tutil</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DA1 xor ecx,ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DA3 mov edx,734F34</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DA8 call 004DF858</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DAD call 0073102C</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734DB2 jmp 00734DE7</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DB4 mov edx,734F8C;</span></div><div style="text-align: left;"><span style="line-height: 1.5;">')(*979798LJOJLJOIU&*(876876YGUGJGJGHIYI(*&*(^&*678678)(*)(IO'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DB9 lea ecx,[ebp-2C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DBC mov eax,734FE0; '9999'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DC1 call 0070DC94 //这个是主要加密函数,非常重要。在此处事件999加密</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DC6 mov edx,dword ptr [ebp-2C]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DC9 lea eax,[ebp-28]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DCC call @WStrFromLStr</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DD1 mov eax,dword ptr [ebp-28]</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DD4 push eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DD5 mov eax,dword ptr [ebx+31C]; TfrmServer.util:Tutil</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DDB xor ecx,ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DDD mov edx,734F34</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DE2 call 004DF858 //将999加密过之后写入注册表</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DE7 mov eax,734FF0; '授权成功!'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DEC call 006AC330</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734DF1 jmp 00734E09</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DF3 mov eax,735004; '已有授权,不能再次授权!'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DF8 call 006AC330</span></div><div style="text-align: left;"><span style="line-height: 1.5;">>00734DFD jmp 00734E09</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734DFF mov eax,735024; '非法授权!'</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734E04 call 006AC2C8</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734E09 xor eax,eax</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734E0B pop edx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734E0C pop ecx</span></div><div style="text-align: left;"><span style="line-height: 1.5;">00734E0D pop ecx</span></div>
复制代码

      4.客户端软件关键CALL
         鉴于这个CALL太长且功能比较简单,暂不列出代码。具体分析见第四部分。
      5.软件破解的关键点
         下面这两点是经过我大量的分析之后得到的破解软件的关键点。
          1)、两个主要函数(上面代码标红的两个函数)
                   解密函数:0070DDC0,加密函数0070DC94
         2)、两个主要字符串
         字符串1:)(*979798LJOJLJOIU&*(876876YGUGJGJGHIYI(*&*(^&*678678)(*)(IO
         字符串2:kjjuoiu987*(&*(uuiyui*&^*789897UIOUI&*^*&^&*Tuytu

四、我的另类注册机

       有一次上网是这样说的,软件破解有三个层次。第一层,爆破;第二层,追码;第三层写出注册机。
       从这句话可以看,我应该数据第二种。但是我觉得我应该属于第三种。因为写出注册机也需要话费很多的事件(如果花点时间我肯定是可以写出来的)。采用我的方式不仅可以生出写注册机的事件,而且速度快。这应该属于破解的更高级别吧。简单而准确的写出注册码。废话不多说。

       下面的图是我对整个软件仔细分析之后画出的注册框图,也是破解的核心。理解下列之后再通过代码定位就可以很容易分析出自己的破解方法
注:上途中的0是经过服务器软件检测授权文件之后发送的授权正确的代码。
       通过上图可知,授权文件是通过明文加密之后的结果。所以我就猜想我可以通过猜想授权字符串文件没有加密之前的内容。在三.3章节中的00734D16    mov        edx,734EE0; 'MacAddress'行可以看出授权字符串中必然含有“MacAddress=”字符串。又经过对服务器Server软件的分析觉得下面这段代码比较重要,对授权字符串代码猜想很有帮助。

  1. 00731793 . BA 6C1B7300 mov edx,Server.00731B6C ; UserName00731798 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  2. 0073179D . E8 1224CFFF call <Server.Classes.TStrings.GetValue>
  3. 007317A2 . 8B55 AC mov edx,dword ptr ss:[ebp-0x54]
  4. 007317A5 . B8 40957400 mov eax,Server.00749540
  5. 007317AA . E8 3535CDFF call <[email protected]>
  6. 007317AF . 8D4D A8 lea ecx,dword ptr ss:[ebp-0x58]
  7. 007317B2 . BA 801B7300 mov edx,Server.00731B80 ; License
  8. 007317B7 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  9. 007317BC . E8 F323CFFF call <Server.Classes.TStrings.GetValue>
  10. 007317C1 . 8B45 A8 mov eax,dword ptr ss:[ebp-0x58]
  11. 007317C4 . E8 8B8CCDFF call <Server.SysUtils.StrToInt> ; 运行到这句之后会跳转到授权信息错误
  12. 007317C9 . 66:A3 3495740>mov word ptr ds:[0x749534],ax
  13. 007317CF . 8D4D E8 lea ecx,dword ptr ss:[ebp-0x18]
  14. 007317D2 . BA 981B7300 mov edx,Server.00731B98 ; JWLicenseNumber
  15. 007317D7 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  16. 007317DC . E8 D323CFFF call <Server.Classes.TStrings.GetValue>
  17. 007317E1 . 66:C705 36957>mov word ptr ds:[0x749536],0x0
  18. 007317EA . 837D E8 00 cmp dword ptr ss:[ebp-0x18],0x0
  19. 007317EE . 74 0E je short Server.007317FE
  20. 007317F0 . 8B45 E8 mov eax,dword ptr ss:[ebp-0x18]
  21. 007317F3 . E8 5C8CCDFF call <Server.SysUtils.StrToInt>
  22. 007317F8 . 66:A3 3695740>mov word ptr ds:[0x749536],ax
  23. 007317FE > 8D4D A4 lea ecx,dword ptr ss:[ebp-0x5C]
  24. 00731801 . BA B01B7300 mov edx,Server.00731BB0 ; PDMS
  25. 00731806 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  26. 0073180B . E8 A423CFFF call <Server.Classes.TStrings.GetValue>
  27. 00731810 . 8B55 A4 mov edx,dword ptr ss:[ebp-0x5C]
  28. 00731813 . B8 58957400 mov eax,Server.00749558
  29. 00731818 . E8 C734CDFF call <[email protected]>
  30. 0073181D . 8D4D A0 lea ecx,dword ptr ss:[ebp-0x60]
  31. 00731820 . BA C01B7300 mov edx,Server.00731BC0 ; Run
  32. 00731825 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  33. 0073182A . E8 8523CFFF call <Server.Classes.TStrings.GetValue>
  34. 0073182F . 8B55 A0 mov edx,dword ptr ss:[ebp-0x60]
  35. 00731832 . B8 44957400 mov eax,Server.00749544
  36. 00731837 . E8 A834CDFF call <[email protected]> ; 需要分析
  37. 0073183C . 8D4D 9C lea ecx,dword ptr ss:[ebp-0x64]
  38. 0073183F . BA D41B7300 mov edx,Server.00731BD4 ; IP
  39. 00731844 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  40. 00731849 . E8 6623CFFF call <Server.Classes.TStrings.GetValue>
  41. 0073184E . 8B55 9C mov edx,dword ptr ss:[ebp-0x64]
  42. 00731851 . B8 48957400 mov eax,Server.00749548
  43. 00731856 . E8 8934CDFF call <[email protected]>
  44. 0073185B . 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]
  45. 0073185E . BA E81B7300 mov edx,Server.00731BE8 ; MacAddress
  46. 00731863 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  47. 00731868 . E8 4723CFFF call <Server.Classes.TStrings.GetValue>
  48. 0073186D . 8B55 98 mov edx,dword ptr ss:[ebp-0x68]
  49. 00731870 . B8 4C957400 mov eax,Server.0074954C
  50. 00731875 . E8 6A34CDFF call <[email protected]>
  51. 0073187A . 8D4D 94 lea ecx,dword ptr ss:[ebp-0x6C]
  52. 0073187D . BA FC1B7300 mov edx,Server.00731BFC ; Modules
  53. 00731882 . A1 20957400 mov eax,dword ptr ds:[0x749520]
  54. 00731887 . E8 2823CFFF call <Server.Classes.TStrings.GetValue>
复制代码

        通过已上分析可以猜想加密之前的字符串为
        UserName=123,License=123456,PDMSRun=1,RunTimes=1,LicenseIP=192.168.1.105,MacAddress=CC-AF-78-A2-14-E0,Modules=1

        再结合三.5可知
        字符串1:UserName=123,License=123456,PDMSRun=1,RunTimes=1,LicenseIP=192.168.1.105,MacAddress=CC-AF-78-A2-14-E0,Modules=1
        字符串2:kjjuoiu987*(&*(uuiyui*&^*789897UIOUI&*^*&^&*Tuytu

       过加密函数0070DC94处理过之后可得软件授权码。
       修改之前

       修改之后

       单步跟踪之后可在local.11中得到授权码

       然后将注册码考出,放在一个txt文件中再通过软件授权方式找到该文件即可。
        至此软件破解工作结束


虽然这篇破文不是写的最好的,但我保证肯定是尽心尽力的。。。希望能被坛主加入精华帖。。。期待。。。期待。。。

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

精彩评论31

青春美少女噢耶 发表于 2017-2-15 01:15 | 显示全部楼层
我也是坐沙发的

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

▽帥气包子. 发表于 2017-2-15 14:06 | 显示全部楼层
支持你哈...................................

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

初中妹 发表于 2017-2-15 15:24 | 显示全部楼层
支持楼主,用户楼主,楼主英明呀!!!

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

粉☆雪樱 发表于 2017-2-15 16:40 | 显示全部楼层
站位支持

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

雀桥相会 发表于 2017-2-15 18:19 | 显示全部楼层
好帖必须得顶起

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

雨过初晴° 发表于 2017-2-16 00:36 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

牛嘿妹 发表于 2017-2-16 03:44 | 显示全部楼层
打酱油的人拉,回复下赚取积分

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

与石碰碰硬 发表于 2017-2-16 11:45 | 显示全部楼层
求沙发

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

醉态萌生 发表于 2017-2-16 12:39 | 显示全部楼层
楼下的接上

温馨提示

记得善用社区搜索功能,那里可能会有你想要的资源;论坛站内搜索

如果你有什么需要的资源可以去悬赏问答发帖,求助社区的网友,我们会在第一时间给你回复哦;资源求档

对于本社区如果你有任何好建议或者相关合作可以随时与我们联系,或者在反馈建议发帖,您的支持,是我们发展的最大动力;投诉建议

本版积分规则
提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

发布主题
阅读排行更多+
快速回复 收藏帖子 返回列表
即刻加入,享受更多精彩。 会员登录[Login] 注册[Register]
资源分享,资源共享。
官方Facebok
Facebook.com/8ziyuan
意见反馈:[email protected]

关注我们的官方Twitter

Powered by Discuz! © 2016-2020 8ziyuan.com Inc. Protected by CloudFlare | 小黑屋 | 8资源分享论坛 | RSS订阅 | 手机版 | 联系我们