专栏名称: 吾爱破解论坛
吾爱破解论坛致力于软件安全与病毒分析的前沿,丰富的技术版块交相辉映,由无数热衷于软件加密解密及反病毒爱好者共同维护,留给世界一抹值得百年回眸的惊艳,沉淀百年来计算机应用之精华与优雅,任岁月流转,低调而奢华的技术交流与探索却
51好读  ›  专栏  ›  吾爱破解论坛

生辰八字五行宝宝起名软件 V23.6 算法分析

吾爱破解论坛  · 公众号  · 互联网安全  · 2017-01-20 08:58

正文

因为看到论坛有人需要这个软件的算法分析,所以无聊就写下这篇文章和大家一起交流学习,这篇算法分析比较适合新手学习,因为算法比较简单。
该软件是一个易语言软件,所以直接下易语言按钮事件断下,找关键的算法call

004A802A /.  55            push ebp                                 ;  注册算法
004A802B |.  8BEC          mov ebp,esp
004A802D |.  81EC 34000000 sub esp,0x34
004A8033 |.  C745 FC 00000>mov[local.1],0x0
004A803A |.  C745 F8 00000>mov[local.2],0x0
004A8041 |.  C745 F4 00000>mov[local.3],0x0
004A8048 |.  6A 01         push 0x1
004A804A |.  B8 ED6F6D00   mov eax,生辰八字.006D6FED                    ;  wenyuhao
004A804F |.  8945 F0       mov [local.4],eax
004A8052 |.  8D45 F0       lea eax,[local.4]
004A8055 |.  50            push eax
004A8056 |.  68 D0C38A00   push 生辰八字.008AC3D0                       ; 8}Z\t
004A805B |.  68 84C48A00   push 生辰八字.008AC484

上面这段就是算法的开始,我们一步一步分析,因为这个算法比较简单,适合新手去学习练手!!

004A812C |.  83C4 04       add esp,0x4
004A812F |>  58            pop eax
004A8130 |.  8945 FC       mov [local.1],eax
004A8133 |.  6A FF         push -0x1
004A8135 |.  6A 08         push 0x8
004A8137 |.  68 0F940216   push 0x1602940F
004A813C |.  68 27540152   push 0x52015427
004A8141 |.  E8 82E40800   call 生辰八字.005365C8                       ;  获取我输入的假码
004A8146 |.  83C4 10       add esp,0x10
004A8149 |.  8945 F0       mov [local.4],eax
004A814C |.  68 04000080   push 0x80000004
004A8151 |.  6A 00         push 0x0
004A8153 |.  8B45 F0       mov eax,[local.4]
004A8156 |.  85C0          test eax,eax
004A8158 |.  75 05         jnz short 生辰八字.004A815F


004A8182 |.  83C4 04       add esp,0x4
004A8185 |>  68 45C26300   push 生辰八字.0063C245                       ;  '
004A818A |.  FF75 EC       push [local.5]
004A818D |.  68 3BDB6E00   push 生辰八字.006EDB3B                       ;  pass='
004A8192 |.  B9 03000000   mov ecx,0x3
004A8197 |.  E8 B292F5FF   call 生辰八字.0040144E
004A819C |.  83C4 0C       add esp,0xC
004A819F |.  8945 E8       mov [local.6],eax
004A81A2 |.  8B5D EC       mov ebx,[local.5]
004A81A5 |.  85DB          test ebx,ebx

“Pass=”和假码合并

pass='123456789'

然后一直下去会进行一些没关紧要的操作,这些可以忽略不理。

004A8234 |.  83C4 04       add esp,0x4
004A8237 |>  58            pop eax
004A8238 |.  8945 F8       mov [local.2],eax
004A823B |.  6A FF         push -0x1
004A823D |.  6A 08         push 0x8
004A823F |.  68 0F940216   push 0x1602940F
004A8244 |.  68 27540152   push 0x52015427
004A8249 |.  E8 7AE30800   call 生辰八字.005365C8    继续取出假码
004A824E |.  83C4 10       add esp,0x10
004A8251 |.  8945 F0       mov [local.4],eax
004A8254 |.  68 04000080   push 0x80000004
004A8259 |.  6A 00         push 0x0
004A825B |.  8B45 F0       mov eax,[local.4]
004A825E |.  85C0          test eax,eax
004A8260 |.  75 05         jnz short 生辰八字.004A8267


----------------------------------------------


004A828A |.  83C4 04       add esp,0x4
004A828D |>  68 45C26300   push 生辰八字.0063C245                       ;  '
004A8292 |.  FF75 EC       push [local.5]
004A8295 |.  68 3BDB6E00   push 生辰八字.006EDB3B                       ;  pass='
004A829A |.  B9 03000000   mov ecx,0x3
004A829F |.  E8 AA91F5FF   call 生辰八字.0040144E
004A82A4 |.  83C4 0C       add esp,0xC
004A82A7 |.  8945 E8       mov [local.6],eax
004A82AA |.  8B5D EC       mov ebx,[local.5]
004A82AD |.  85DB          test ebx,ebx
继续“Pass=”和假码合并
pass='123456789'


----------------------------------------------


004A833C |.  83C4 04       add esp,0x4
004A833F |>  58            pop eax
004A8340 |.  8945 F4       mov [local.3],eax
004A8343 |.  68 04000080   push 0x80000004
004A8348 |.  6A 00         push 0x0
004A834A |.  A1 D4C38A00   mov eax,dword ptr ds:[0x8AC3D4]          ; 机器码 序列号 ,请记下这个全局变量[0x8AC3D4]
004A834F |.  85C0          test eax,eax

我这里的机器码为:2018682084


004A8368 |.  83C4 10       add esp,0x10
004A836B |.  8945 E4       mov [local.7],eax
004A836E |.  8955 E8       mov [local.6],edx
004A8371 |.  DF6D E4       fild qword ptr ss:[ebp-0x1C]
004A8374 |.  DD5D E4       fstp qword ptr ss:[ebp-0x1C]
004A8377 |.  DD45 E4       fld qword ptr ss:[ebp-0x1C]
004A837A |.  DC0D 09C46300 fmul qword ptrds:[0x63C409]             ;  机器码×323    注意这里的操作都是以10进制操作
004A8380 |.  DD5D DC       fstp qword ptr ss:[ebp-0x24]
004A8383 |.  68 01060080   push 0x80000601
004A8388 |.  FF75 E0       push [local.8]
004A838B |.  FF75 DC       push [local.9]
004A838E  |.  6801000000   push 0x1
004A8393 |.  BB 907A5300   mov ebx,生辰八字.00537A90


这里就是机器码*323
2018682084*323= hex (D0460BAC)


004A839D |.  83C4 10       add esp,0x10
004A83A0 |.  68 01030080   push 0x80000301
004A83A5 |.  6A 00         push 0x0
004A83A7 |.  50            push eax
004A83A8 |.  68 01000000   push 0x1
004A83AD |.  BB E08C5300   mov ebx,生辰八字.00538CE0
004A83B2 |.  E8 F9E10800   call 生辰八字.005365B0                       ;  将结果转换为10进制
004A83B7 |.  83C4 10       add esp,0x10
004A83BA |.  8945 D4       mov [local.11],eax


经典的易语言文本比较

004A83D0 |.  83C4 10       add esp,0x10
004A83D3 |.  8945 D0       mov [local.12],eax
004A83D6 |.  8B45 D4       mov eax,[local.11]
004A83D9 |.  50            push eax
004A83DA |.  FF75 D0       push [local.12]
004A83DD |.  E8 648FF5FF   call 生辰八字.00401346
004A83E2 |.  83C4 08       add esp,0x8
004A83E5 |.  83F8 00       cmp eax,0x0
004A83E8 |.  B8 00000000   mov eax,0x0
004A83ED |.  0F94C0        sete al
004A83F0 |.  8945 CC       mov [local.13],eax
004A83F3 |.  8B5D D0       mov ebx,[local.12]
004A83F6 |.  85DB          test ebx,ebx







请到「今天看啥」查看全文


推荐文章
销售与市场  ·  前进的最佳方式是后退
8 年前
伊思爱情顾问  ·  别骗自己了,婚姻从来不是美好的象征
8 年前