160 - 11 Andrnalin.4

环境:

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                                 ; /var18
00404C87   .  51            push ecx                                 ; |var28
00404C88   .  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>; \__vbaVarTstEq
00404CA2   .  66:85C0       test ax,ax                              ; 这个很样子很熟悉吧
00404CA5   .  74 4C         je XAndréna.00404CF3
00404CA7   .  8B45 08       mov eax,dword ptr ss:[ebp+0x8]
00404CAA   .  50            push eax
00404CAB   .  8B10          mov edx,dword ptr ds:[eax]
00404CAD   .  FF92 38030000 call dword ptr ds:[edx+0x338]
00404CB3   .  50            push eax
00404CB4   .  8D45 AC       lea eax,dword ptr ss:[ebp-0x54]
00404CB7   .  50            push eax
00404CB8   .  FF15 3C104000 call dword ptr ds:[<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSet
00404CBE   .  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











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值