160 - 11 Andrnalin.4

来源:互联网 发布:免费庄家统计软件 编辑:程序博客网 时间:2024/05/19 09:01

环境:

Windows xp sp3


打开,这次的界面炫酷多了,就像输保险箱密码。

旁边一个“UNREGISTRIERT”表示还没注册

输入个666666,没反应又没有确认按钮,可以猜测是用timer来检测输入的正确性


查壳,无壳的VB程序

OD载入,继续是查字符串:

00404A6B   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747D7AFF7C7F82836D74RR7A7F7E7B7C7D826D81KE7B7C"00404AA3   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00404C88   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747D7A7D7C7F82836D74747A7F7E7G7C7D826D817E7B7C"00404CC0   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00404EA5   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "Q817E747D7AFF7C7F82836D74RR7A7F7E7B7C7D826D81KEZB7C"00404EDD   push Andréna.00401EBC                     UNICODE "REGISTRIERT"004050C2   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747D7AFP7C7F82836D74RR7A7F7E7B7C7D826D81KE7B7C"004050FA   push Andréna.00401EBC                     UNICODE "REGISTRIERT"004052DF   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747G7AFF7C7F82836D74RR7A7F7E7B7C7D826D81KE7B7C"00405317   push Andréna.00401EBC                     UNICODE "REGISTRIERT"004054FC   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747D"00405534   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00405719   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E7WOD7AFF7C7F82836D74RR7A7F7E7B7C7D826D81KE7B7C"00405751   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00405936   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "http://beam.to/cugABCDEFGHIJKLMNOPQRSTUVWXYZ1234567"0040596E   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00405B53   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747D7AFF7C7F82836D74RR7A7F7E7B7C7D826D8KKE7B7C"00405B8B   push Andréna.00401EBC                     UNICODE "REGISTRIERT"00405D70   mov dword ptr ss:[ebp-0xAC],Andréna.004   UNICODE "0817E747$7AFF7C7F82836D74RR7A7F7E7B7C7D826D81KE7B7C"00405DA8   push Andréna.00401EBC                     UNICODE "REGISTRIERT"省略下面内容...


这么多个注册,随便跟一个进去:

00404C7D   > \8D45 CC       lea eax,dword ptr ss:[ebp-0x34]00404C80   .  8D8D 4CFFFFFF lea ecx,dword ptr ss:[ebp-0xB4]00404C86   .  50            push eax                                 ; /var1800404C87   .  51            push ecx                                 ; |var2800404C88   .  C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],Andréna.0040>; |UNICODE "0817E747D7A7D7C7F82836D74747A7F7E7G7C7D826D817E7B7C"00404C92   .  C785 4CFFFFFF>mov dword ptr ss:[ebp-0xB4],0x8008       ; |00404C9C   .  FF15 5C104000 call dword ptr ds:[<&MSVBVM60.__vbaVarTs>; \__vbaVarTstEq00404CA2   .  66:85C0       test ax,ax                              ; 这个很样子很熟悉吧00404CA5   .  74 4C         je XAndréna.00404CF300404CA7   .  8B45 08       mov eax,dword ptr ss:[ebp+0x8]00404CAA   .  50            push eax00404CAB   .  8B10          mov edx,dword ptr ds:[eax]00404CAD   .  FF92 38030000 call dword ptr ds:[edx+0x338]00404CB3   .  50            push eax00404CB4   .  8D45 AC       lea eax,dword ptr ss:[ebp-0x54]00404CB7   .  50            push eax00404CB8   .  FF15 3C104000 call dword ptr ds:[<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSet00404CBE   .  8B08          mov ecx,dword ptr ds:[eax]00404CC0   .  68 BC1E4000   push Andréna.00401EBC                    ;  UNICODE "REGISTRIERT"

又是通过输入的内容来计算一个值,然后和那一大串字符进行比较。

关键这个值是怎么来的,这次不能“goodname”了,那就“123456789”,在[ebp-2c]就可以看到你输入的内容计算出来的值了。

居然是“032333435363738393A”,居然只是转成16进制然后在前加个0而已。这样的话搞不到一个“81”出来啊,试一下

“987654321”,结果还是一样。那就应该和那两个“*”“#”有关了。换成“1#23456789”和“1*23456789”还是没有“81”出来。

那就“9*87654321”吧,这次居然不一样了,变成了“042341403F3E3D3C3B3A”,那“98*7654321”计算出来的结果又太大了。

终于,“87*654321”搞出一个“08F”来,这样就可以猜出来,还是通过映射出来的字符串与字符串进行比较。映射出来的字符串

可以肯定是16进制范围的,也就是“0-F”。仔细观察用来比较的字符串,符合规定的只有两个:

004065E4    "0817E747D7A7D7C7F82836D74747A7F7E7B7C7D826D817E7B7C“004054FC    “0817E747D”

但是短的那个是不行的,至于原因不清楚,猜测应该是有个长度要求。

映射关系可以通过多次输入的出(我觉得比看程序更有意思):

1     7B       5    7F      9      83
2     7C       6    80      *      74
3     7D       7    81      #      6D
4     7E       8    82      0      7A

参照这个表,对着上面[004065E4]的内容,就可以得出:

74*3032589#**0541238#7412











0 0