AssassinQ 发表于 2019-2-20 20:01

2019春节解题领红包之一、二、番外篇WP

本帖最后由 AssassinQ 于 2020-2-11 19:21 编辑

作为菜鸡做了点简单题目,放上writeup和大佬们交流交流。

# 【春节】解题领红包之一

扫码关注即可。



# 【春节】解题领红包之二

查壳是upx,ESP定律法找到OEP脱壳。然后放进ida里:

```c
HWND main_func()
{
HWND result; // eax
char *input; // esi
char *key; // edi
int enc_1; //
int enc_2; //
int enc_3; //
int enc_4; //
char v7; //

result = GetDlgItem(0, 1000);
if ( result )
{
    if ( GetWindowTextLengthA(result) == 16 )
    {
      input = (char *)malloc(0x11u);
      key = (char *)malloc(0x11u);
      *(_DWORD *)input = 0;
      *((_DWORD *)input + 1) = 0;
      *((_DWORD *)input + 2) = 0;
      *((_DWORD *)input + 3) = 0;
      input = 0;
      *(_DWORD *)key = 0;
      *((_DWORD *)key + 1) = 0;
      *((_DWORD *)key + 2) = 0;
      *((_DWORD *)key + 3) = 0;
      key = 0;
      GetDlgItemTextA(0, 1000, input, 17);
      enc_3 = 'udhY';
      enc_1 = 'ssdH';
      enc_2 = 'zhNb';
      enc_4 = '9102';
      v7 = 0;
      encrypt((const char *)&enc_1, (int)key, 3);
      if ( !strcmp(key, input) )
      result = (HWND)MessageBoxA(0, aOye, Caption, 0);
      else
      result = (HWND)MessageBoxA(0, aAuey, Caption, 0);
    }
    else
    {
      result = (HWND)MessageBoxA(0, &Text, Caption, 0);
    }
}
return result;
}
```

看下来应该就是把16位的`enc`加密了一下,然后和`input`比较。看看`encrypt()`函数:

```c
signed int __cdecl encrypt(const char *enc, int key, int num_3)
{
const char *enc_0; // edx
unsigned int length; // kr04_4
int v5; // esi
int i; // edi
char c; // al
char alphabet; //
char tmp; //

strcpy(&alphabet, "abcdefghijklmnopqrstuvwxyz");
if ( !key )
    return -1;
enc_0 = enc;
if ( !enc )
    return -1;
if ( num_3 <= 0 )
    return -1;
length = strlen(enc) + 1;
if ( (signed int)(length - 1) <= 0 )
    return -1;
v5 = key - (_DWORD)enc;
tmp = alphabet;
i = length - 1;
do
{
    c = *enc_0;
    if ( *enc_0 < tmp || c > 122 )
    {
      if ( c >= 97 && c <= alphabet )
      c = c - num_3 + 26;
    }
    else
    {
      c -= num_3;
    }
    (enc_0++) = c;
    --i;
}
while ( i );
return 0;
}
```

就是对字符串判断是否为字母,然后根据字母表`alphabet`做映射和加减。正向实现一下脚本就得到口令了:

```python
#!/usr/bin/env python
enc = ('9102' + 'udhY' + 'zhNb' + 'ssdH')[::-1]
print enc
alpha = 'abcdefghijklmnopqrstuvwxyz'
num = 3
t = alpha
i = len(enc)
j = 0
res = ''
while i != 0:
    c = enc
    if ord(c) < ord(t) or ord(c) > 122:
      if ord(c) >= 97 and ord(c) <= ord(alpha):
            c = chr(ord(c) - num + 26)
            if ord(c) > ord(alpha[-1]):
                c = chr(ord(c) - 26)
    else:
      c = chr(ord(c) - num)
    res += c
    j += 1
    i -= 1
print res
# HappyNewYear2019
```



# 【春节】解题领红包之番外篇

番外篇个人感觉应该算是一道ctf里的misc题了。压缩包里给了一个大部分文字被加密的md文件:

```markdown
# ȐĆŅƃȓƇńƃȒċƝTɌÇńßɌĉŇƅŕƇŃbȒȼȵßȒĆȵƁȓĉnƁɌćǸß

ƦćƝƁȓĉnƅȓčƞTɌćÑbȒČŃbȒċÑbŕƇŃtȒČNƃȒĈÑƄȓĊÑƄŕƇņTȓčƞTɌćÑbȒċƝTŘcǸTȐĆŅBƦĊȵtřÇȵƅȐċŇbɌcńtȓČŇƁŕƇNƀȒČŃBɌćÑBɌċnƄȓĈƝbŗƇƞTŗčnBŕƇntȒȻŃBȓĉnƅȒČNƅȒƈŇtŕčȠßŕƇŃƃřčȠbřċȵƀ

ȐčNƄŕƇņƃɌcŅƄɌċntŕƇŇƁȓƇńƁŕƇńtɌcńƄŕƇńtɌCňƀƦȻƝƃŕƇńtɌCňƀȐĉņtŗcŅƅȒĈÑƄȓĊǸƅȓĈȵtɌćƞßŕƇņTȒȻŃtɌCňƀɌćǸbȒȼǹßȓĈƝB

[ƦĉņƃŖċŅtŕƇŅƀȒCŅƀȒƈŇtɌcŅƄɌĉŇßŕƇņTȓčƞTȒƈňtŕƇńtȓĉntȓČŇBŗcŅƅɌćƞƁȓćŅƁŕƇņTȒȻŃtɌCňƁ](//rcnb.xyz)

řĊÑbȒĉȠƀɌćÑbȒċƝTȓćŅƁɌƈȠƃŕƇŃtȒȻŃtȒĈƞTȑÇǹƄɌCȠƄƦȻŇƅɌćƞBȐčnTŗÇÑBřĊÑbɌĆntŗÇǹb

ȐȼŃßɌćÑbŕƇņTȒȻŃƄŕƇņTɌcńtȒCŅbŕȻ

ŘĈÑƀƝƄŘȻŖĊǸƀrcnƃňßɍĉƞƀRČņbRÇrcnbrcnbrcnbŖĊƝƃrcnbrcnbrcnbrČNtȓĉƞƁnƅŔƇńTrćǹƁȓĆÑƅŔȼŕÇƞƅƞßȐCŅƁȐƇŖĆňƁɌƇȵƃȑĈȠƃNƃƦčƝƄȓĉŕČňƃŇbȐĆȑćnƅŘȼȵßƞßRĆǸƄɌCƞBȑĊŅTŗĊɌȼŃßŇƁŔcŔƈǹTȠƁɌĆńƅɍĉƝTŖÇɌcŇƅŖĆntńƁȓČňƄŘȻȓȻnƃǸƁɌCȒćȵƁȵƄɌCŅƅȐčŃƀřCřƇŇƁǸtřÇƞbƦČnbRCƝßȐćǹƁŔȻřȻņBǹBȑċŗÇƞƃȠBɌĆÑƃŕčņƃȓƇńbŖčÑbɌĊŗƈÑBRcƞƁȑƇńTƦČǹƀǸƀŘcŘȻnƅRCņƃŅƄȐĉNTŘĈÑƄŕčȐćǹbŇTȓćǹßɌĈŔȻňƀƝbȐÇrCǹTȓȻŃBńƄɍċńbɌČŗƇnƅȵƀŗċņßRCŇbřČřćÑƀȐĊŃbǸƅɍcȑCȵbǸßȑƇȑCǹƅŘȻŃƃřċŃtnƄRċǹBrƇńƃŖĈȑĉņbƞƅƦĆrCƝTƦĆÑBņƄrćȑƇÑƅńƄƦƇŗĆnƀŔĆȠƄȐćNƀÑƅƦȼȓĉŇƄȵßȑCǹƄȐȼŗćȠƃŅBȓCȠƁŔċƝßřcŘčŅbƦĊƝƃɌċƞƀnƁŘȻÑbŖčŗCntȒȻÑƅNtřȼrƈNƁŕĆƝBȐÇňƅȐCŃßŅƄrćƞƀȓĊńƃŖƇǸƁřċŘćŃƁŘȼÑƅȑċȵƀŃtrƇŃßŕĉrćNtȒȻƝƁɌƈȠbƦĊNƅŔCƝßȓČńTƦċŇbŖƈņƃŖĉȵtnƃɍĉɌƈňTřčǹBȠbŕĉřċńtņƄȑÇƞƁȒcŘĉǸƅňƃȒcŔĈńßǹƁƦćȓȼǹƁÑƁƦCȑċŇƄȓƈnƄȵƄrcŘčnƃȵßRčȑcNƁrĊNƅȐÇŇƁņƁȒčnƀɌČňbɌĆrȼƞTŇƃɌCřÇntňƅȒȼƝBȑcȐȻnBňƁȑċȓcȠbǹtȑƇǹƁrĈŖƈňƁŗcȵbňtřȼƦĈŃƅňßŗcŃƀƦĊŔcńTŖĉȠƅŃƁȑĊȐÇȠtƞTɌƇȵƅȐȼɍĉÑBrƇŇƅŔčƞßnƅŗĈɍĆȵƅŖČņbŖĆȠTȒċÑƃŗċNƃŕȻŃTNTŔčŕĆƞƃNƃRČȐĆņƁŃƀřċŃbȓčƝƃȑcŔĆNtȑčȠbŗĆNtŇƁȓčrčŃƄȑĉntŅtȓȻřcÑƄŖƇÑßȐĆńbŅbŕĊŃßŕČŇTȒcÑƁȑĆŘÇńƃRƈǸƅŕcȠbņTȑċRƈŇƀȐcňtńTƦĈɍCȠƀÑBRĉǸƁŗȼȑƇnƁȵßŕƇŖċƞƅřƇǹtŇƄŖÇȠƃRĈǸƅŕƇņtŔĊřƈňbƝßrƈŕÇǸtŃTȐĆnbȑĉȑȻǸƃǹƀRƇrƈNbnƄrċrĉŅBƦcňtRċňƁnBŗȼÑƁŕċƞßɍĈŗćņƀǹƁȑĈŅtŔƇňƅŗƇrĊǹƄǸßȒƈǹßŕȻȠBŔćƝtŔȻÑBȓĆǸTȑċŕĉŃtŃƀŘcřȻÑBŅƀɌƈńƄŔĊÑTƦĈƞƃȓȼņƁŘȻnƄŔćŖċǸƄŅBŖÇȓĉŅBňƄȐȼŖÇņbǹƅrȻÑTŔČŅßŔĊNtɌƇȠTRĉntřčŕċNtȠtƦȼȠƅRĆÑƄŗćŘčŃƄŖÇÑƄǹbȑĆŖÇǹtƞƄȓcƞƁRCǸƄɍćȒČNƅȓȻňTņBRĆƞbřƇŖcȠbřȻńƄŗĆŃTŃBƦĉŗĊNtřĊņßȒĆȠƁȑĊŅBȐƈȵBǹƁřcrĉƞbnƀƦċŘȼÑƀȒÇńƁŗCȠƁƝßrĊǹtŗȻŃƀȒȻɍċNßŖĉǸßŃTrƇȒȼȠƃřƇŃƃNbŘċƦČňƅŔČnBŗČƞbƞßŔȼŔĊȠƀnƅŖċŕčŇƄǹBŔCřċǹƅȐČňƀƝƀřĈŖČȵßńTɌCǹƃŔćȓċÑtŕȼƝƄȒcńbǹbȓƈƝƅɌĆȠƄŖćǹBŖƈŘÇƝƅƦĉŃƁŃßŖĉNƃŔĉÑƄŖĈƞtȑČȑČnBŃƁŔČnƃȒĈȓĈNBǸßȐCȠßȐčŅbɍĉƞtƦĉrȻŅBŇßȒȻǸƁŘȼŘċńBňbŘčnƄŘÇȒƈŇƅǹTřćȐćŅTƦċŇƄŇbɌƇƦƇńƀňƁrČRČņbȑÇŅßȵƅřȼŖĆǸƀŔCƝƀņTȓƇrĊŇtňbŕÇŃƄŔƈńTŘČȐĊƝbřȻǹƃɌČȠBńƄȒƇNtřĊɌćņBŕȼȠƃŖƇňtÑßȓȼȑČÑƅnƄɍĉnTŗcŘƈňßȓĉȵƄȑcNbȠßƦÇŅƃɍĈƦĊnƁŖÇŅBŔcŃƁńƁɌċňTŕĉƦCņƅƦȻȵƅȓÇǹƃȓĆȠƃRȻňƃřćǸƀŗƈǹßřĉňbȐČńƁɍĈŇTÑTŘćŗÇNbŗȻÑTRƈǸƃǹƀŕȻRĉƞBńtŘȻŔĆƝƁņBŕȻNBRĉņƃȓČƝƁȐċÑƀRČŕƈňƀrčŇƅȐĊŅTƦȼǹƁňƃȓĊntřĈŘCntȠƀȒcƞƃɌćɌĊȵƅŕƇňƃnƄŔčńTRČřȼńbŇßŕĊňtŘCǹbŔĈnbŕĊńtȑcŃƄŔĈŔčńbȐčȠBřĉŅƃņƃŘƈɌÇÑTŇƄȓĉɍċňƅńtŗCřČƝƄRCņTƝƁŔĈRȼNƅȒCnƃɌƇǹßńTŕƈŇBŘCŕȼÑBȒÇŃTǸƁȓȼŕČȠtȵƁȑƈńƀŔcȑƇÑßrƈǸTrcŃTŇƅȓćɌćńƀɍćňƀȠƅŘȼǸƁɍĊřčƞTņƃrĊǸƀŗcȓƈńƀŇƀȐcrĊŅBȓĈȠƁɍćnƁnTɌƇÑƃȐȼƞßŔCɍćƞbƝBȒcņƁrċnBŗƈȓȻńƃɌCÑBƞƀȒČňßŔƇřƇǹbŖcņƃŕĆňtŕČņƅȒĉŇƅȐĈŇƁȠƃRĉŔƇǸtŘĊȵßŔȼńbȑƈȠBǹBɌčȵƃrčǹƄŔȻƞƅŗȼȒĆƞƀŖĉȵbŕcƝTȒȼńBrċǸƅŘcȠTȐčƝbȓĊŅbŘCȠƀɍĆȠƅŕĉNƀȠTŖćřċńƁńtȓĉȠƁƦȻnƀȓÇɍĈŅƅǸƀȓčȒȻņƀǹTɍcȑĆȵƃrȻƝƀɌCŃtɍĈȵtŖČņßňƅŗĉÑTŕƈȑcŃƁǸßȒƇȐÇƞßńbŕƈȵBŕƇnƄȓċȑȼȠBɍċŅTŗċŅƃƦčńƄňTRÇrcŅƄȐÇȠTřčȠTƞBɌȼɍĈŇtɍĉÑƅǸBrĆňƃŖȻŕčȵbņßŘĊƞƀȐƈntŘčȓȻÑTŕcńtņbŔȼɌČÑBɌčȵbȑĈŅBŕĉƞƄÑtȒÇȓȻNƀÑßŘĈÑƀȐȼƝBŔĈȵtɍĊÑßŕĉȒȼntŕÇņbńtɍĆŅTŗĊŃƃRċņƅŘcNtȑĆŅƁrƈǸƄȒCƝtŖȻrÇŇbřĊŅƅȑƈŃBƦċnßňƅƦĉÑtȓĈřȼŃƀɍcŃƄȵtɌCřĆNƄǹƄƦȻŔčŅƃnƅrċrCǸƄȓƈŃƀrÇnƁrCÑƅrCȵƀrƈǹßrƈȵƁRĆƞƁrÇŇTȵßƦČȑȼǸƁǹBȑcɌƈƝTȒĆŅTrĆňƃRćŇƁȠƅȓcrc
```

这里给了一个网站,上面可以解密,得到明文md文件:

```
# Prove your Niubility

Hello there, Welcome to the 52PoJiE Spring Festival 2019 Challenge - RCNB.

To prove you are as NB as RC, complete this trial!

(//rcnb.xyz)

And the key: Which_is_N0t_Th3_Answ3r

With the trial:

7z��'�G�֐'�l×v����2!���!$�x�Z�ˤ�XЂY�=��W�K�ï�z���������r�$]�I��q�Ib��iԎ�2C���Z�`�3��EW�w3X��
                                                                                          ��*2�      ']�Kz�,<`      ��5�&�
QT�~�z�rq+�I�1԰����r?�R���Y�5X�<rA���U��[���G��^*�O- GP���l��
��.:�7�3��:*J(v��]��,�h����nOˁ��X�&�6�=Z\����g�h�y6I��nNJ�)�&���yCE��A��#�
                                                                        8��ȍr'�M\?o:��W��Va�)����D��.�5V��Gi��A��)�,~�      H¬?���&��V�����~_;�P|�(
$�e00"��荈{�����8�]�-1��_Z��G=�)oPd�
�)���w;����8zOi��|&���]à�'�C�q�����SD>��!��b��_� |�F�
-�'����-�ڷ���畢{�ٙ��      �ti��E��ޕ;��
���['��Yl�י*b����G�1�B�����~�:�و��׉��Aenqd�)ü#�EG-:�S/�ACb_[�V�H�l=Vg�-
�۴�b7&���ihCz��KLE0��)��H咣BT�0(k����m�"�`��b�ĥq�<IU�1������\��[�
k��%���"ɡ�菽a8��H��gb��Q
                        J��ZLL��
�_�$�|�ɡ����R�E�wu��t7#)S�\�����;{l�W�����I�*Y��}��GN�p�k*�?�2�@�S�}���33���v
                                                                           ���/���^Ӈ��!�R�N��F��5[�2�bvX ��ߍ�E؞%���d���
                ��T�@��dy��r��B�      ��?aHx�����"�g����呴^+��|t$}�x�C.���bp
�X�lU|��&׶��}(���O�eq8s=店�C�#^�c�Q��>�8��^���֙���b6&��i�5FT�m$5�|�X�tA���s��}��.h���Y��r�}�(�,�<W���V�����`�V08K�� -V�CV��}�~d��� 0�y��
                              q����wWxZe��#q"�״�=�%��h�!��_�������#��ᷫDA8^kJqɊ�=E�{%�m>��k�         p
                                                                                                 $�
SL˓`��]y
      b
v
��
```

最后面给出的trial看开头显然是个7z,那上面的key应该就是密码了。我把它存为一个新文件,然而这个字符`�`严重干扰了我好几个小时,让懵逼的我一度以为这是题目设计的加密。一开始我`xxd`了一下文件,发现有三个字节`efbfbd`频繁出现505次:



根据7z文件头`377a bcaf 271c 0004`尝试过替换,一度以为掉进了脑洞的陷阱。直到我看到[这篇文章](https://liudanking.com/golang/utf-8_replacement_character/),才知道这串字节就是那个字符。

后来在github上找到了rcnb的源码,修改一下js,将明文每个字节以int的形式输出,再用python一跑拿到压缩包:

```javascript
...
function printRes(str) {
var res=rcnb.decode(str)
for(var i=0; i<res.length; i++) {
    console.log(res)
}
// console.log(res)
}

printRes('ŘĈÑƀƝƄŘȻŖĊǸƀrcnƃňßɍĉƞƀRČņbRÇrcnbrcnbrcnbŖĊƝƃrcnbrcnbrcnbrČNtȓĉƞƁnƅŔƇńTrćǹƁȓĆÑƅŔȼŕÇƞƅƞßȐCŅƁȐƇŖĆňƁɌƇȵƃȑĈȠƃNƃƦčƝƄȓĉŕČňƃŇbȐĆȑćnƅŘȼȵßƞßRĆǸƄɌCƞBȑĊŅTŗĊɌȼŃßŇƁŔcŔƈǹTȠƁɌĆńƅɍĉƝTŖÇɌcŇƅŖĆntńƁȓČňƄŘȻȓȻnƃǸƁɌCȒćȵƁȵƄɌCŅƅȐčŃƀřCřƇŇƁǸtřÇƞbƦČnbRCƝßȐćǹƁŔȻřȻņBǹBȑċŗÇƞƃȠBɌĆÑƃŕčņƃȓƇńbŖčÑbɌĊŗƈÑBRcƞƁȑƇńTƦČǹƀǸƀŘcŘȻnƅRCņƃŅƄȐĉNTŘĈÑƄŕčȐćǹbŇTȓćǹßɌĈŔȻňƀƝbȐÇrCǹTȓȻŃBńƄɍċńbɌČŗƇnƅȵƀŗċņßRCŇbřČřćÑƀȐĊŃbǸƅɍcȑCȵbǸßȑƇȑCǹƅŘȻŃƃřċŃtnƄRċǹBrƇńƃŖĈȑĉņbƞƅƦĆrCƝTƦĆÑBņƄrćȑƇÑƅńƄƦƇŗĆnƀŔĆȠƄȐćNƀÑƅƦȼȓĉŇƄȵßȑCǹƄȐȼŗćȠƃŅBȓCȠƁŔċƝßřcŘčŅbƦĊƝƃɌċƞƀnƁŘȻÑbŖčŗCntȒȻÑƅNtřȼrƈNƁŕĆƝBȐÇňƅȐCŃßŅƄrćƞƀȓĊńƃŖƇǸƁřċŘćŃƁŘȼÑƅȑċȵƀŃtrƇŃßŕĉrćNtȒȻƝƁɌƈȠbƦĊNƅŔCƝßȓČńTƦċŇbŖƈņƃŖĉȵtnƃɍĉɌƈňTřčǹBȠbŕĉřċńtņƄȑÇƞƁȒcŘĉǸƅňƃȒcŔĈńßǹƁƦćȓȼǹƁÑƁƦCȑċŇƄȓƈnƄȵƄrcŘčnƃȵßRčȑcNƁrĊNƅȐÇŇƁņƁȒčnƀɌČňbɌĆrȼƞTŇƃɌCřÇntňƅȒȼƝBȑcȐȻnBňƁȑċȓcȠbǹtȑƇǹƁrĈŖƈňƁŗcȵbňtřȼƦĈŃƅňßŗcŃƀƦĊŔcńTŖĉȠƅŃƁȑĊȐÇȠtƞTɌƇȵƅȐȼɍĉÑBrƇŇƅŔčƞßnƅŗĈɍĆȵƅŖČņbŖĆȠTȒċÑƃŗċNƃŕȻŃTNTŔčŕĆƞƃNƃRČȐĆņƁŃƀřċŃbȓčƝƃȑcŔĆNtȑčȠbŗĆNtŇƁȓčrčŃƄȑĉntŅtȓȻřcÑƄŖƇÑßȐĆńbŅbŕĊŃßŕČŇTȒcÑƁȑĆŘÇńƃRƈǸƅŕcȠbņTȑċRƈŇƀȐcňtńTƦĈɍCȠƀÑBRĉǸƁŗȼȑƇnƁȵßŕƇŖċƞƅřƇǹtŇƄŖÇȠƃRĈǸƅŕƇņtŔĊřƈňbƝßrƈŕÇǸtŃTȐĆnbȑĉȑȻǸƃǹƀRƇrƈNbnƄrċrĉŅBƦcňtRċňƁnBŗȼÑƁŕċƞßɍĈŗćņƀǹƁȑĈŅtŔƇňƅŗƇrĊǹƄǸßȒƈǹßŕȻȠBŔćƝtŔȻÑBȓĆǸTȑċŕĉŃtŃƀŘcřȻÑBŅƀɌƈńƄŔĊÑTƦĈƞƃȓȼņƁŘȻnƄŔćŖċǸƄŅBŖÇȓĉŅBňƄȐȼŖÇņbǹƅrȻÑTŔČŅßŔĊNtɌƇȠTRĉntřčŕċNtȠtƦȼȠƅRĆÑƄŗćŘčŃƄŖÇÑƄǹbȑĆŖÇǹtƞƄȓcƞƁRCǸƄɍćȒČNƅȓȻňTņBRĆƞbřƇŖcȠbřȻńƄŗĆŃTŃBƦĉŗĊNtřĊņßȒĆȠƁȑĊŅBȐƈȵBǹƁřcrĉƞbnƀƦċŘȼÑƀȒÇńƁŗCȠƁƝßrĊǹtŗȻŃƀȒȻɍċNßŖĉǸßŃTrƇȒȼȠƃřƇŃƃNbŘċƦČňƅŔČnBŗČƞbƞßŔȼŔĊȠƀnƅŖċŕčŇƄǹBŔCřċǹƅȐČňƀƝƀřĈŖČȵßńTɌCǹƃŔćȓċÑtŕȼƝƄȒcńbǹbȓƈƝƅɌĆȠƄŖćǹBŖƈŘÇƝƅƦĉŃƁŃßŖĉNƃŔĉÑƄŖĈƞtȑČȑČnBŃƁŔČnƃȒĈȓĈNBǸßȐCȠßȐčŅbɍĉƞtƦĉrȻŅBŇßȒȻǸƁŘȼŘċńBňbŘčnƄŘÇȒƈŇƅǹTřćȐćŅTƦċŇƄŇbɌƇƦƇńƀňƁrČRČņbȑÇŅßȵƅřȼŖĆǸƀŔCƝƀņTȓƇrĊŇtňbŕÇŃƄŔƈńTŘČȐĊƝbřȻǹƃɌČȠBńƄȒƇNtřĊɌćņBŕȼȠƃŖƇňtÑßȓȼȑČÑƅnƄɍĉnTŗcŘƈňßȓĉȵƄȑcNbȠßƦÇŅƃɍĈƦĊnƁŖÇŅBŔcŃƁńƁɌċňTŕĉƦCņƅƦȻȵƅȓÇǹƃȓĆȠƃRȻňƃřćǸƀŗƈǹßřĉňbȐČńƁɍĈŇTÑTŘćŗÇNbŗȻÑTRƈǸƃǹƀŕȻRĉƞBńtŘȻŔĆƝƁņBŕȻNBRĉņƃȓČƝƁȐċÑƀRČŕƈňƀrčŇƅȐĊŅTƦȼǹƁňƃȓĊntřĈŘCntȠƀȒcƞƃɌćɌĊȵƅŕƇňƃnƄŔčńTRČřȼńbŇßŕĊňtŘCǹbŔĈnbŕĊńtȑcŃƄŔĈŔčńbȐčȠBřĉŅƃņƃŘƈɌÇÑTŇƄȓĉɍċňƅńtŗCřČƝƄRCņTƝƁŔĈRȼNƅȒCnƃɌƇǹßńTŕƈŇBŘCŕȼÑBȒÇŃTǸƁȓȼŕČȠtȵƁȑƈńƀŔcȑƇÑßrƈǸTrcŃTŇƅȓćɌćńƀɍćňƀȠƅŘȼǸƁɍĊřčƞTņƃrĊǸƀŗcȓƈńƀŇƀȐcrĊŅBȓĈȠƁɍćnƁnTɌƇÑƃȐȼƞßŔCɍćƞbƝBȒcņƁrċnBŗƈȓȻńƃɌCÑBƞƀȒČňßŔƇřƇǹbŖcņƃŕĆňtŕČņƅȒĉŇƅȐĈŇƁȠƃRĉŔƇǸtŘĊȵßŔȼńbȑƈȠBǹBɌčȵƃrčǹƄŔȻƞƅŗȼȒĆƞƀŖĉȵbŕcƝTȒȼńBrċǸƅŘcȠTȐčƝbȓĊŅbŘCȠƀɍĆȠƅŕĉNƀȠTŖćřċńƁńtȓĉȠƁƦȻnƀȓÇɍĈŅƅǸƀȓčȒȻņƀǹTɍcȑĆȵƃrȻƝƀɌCŃtɍĈȵtŖČņßňƅŗĉÑTŕƈȑcŃƁǸßȒƇȐÇƞßńbŕƈȵBŕƇnƄȓċȑȼȠBɍċŅTŗċŅƃƦčńƄňTRÇrcŅƄȐÇȠTřčȠTƞBɌȼɍĈŇtɍĉÑƅǸBrĆňƃŖȻŕčȵbņßŘĊƞƀȐƈntŘčȓȻÑTŕcńtņbŔȼɌČÑBɌčȵbȑĈŅBŕĉƞƄÑtȒÇȓȻNƀÑßŘĈÑƀȐȼƝBŔĈȵtɍĊÑßŕĉȒȼntŕÇņbńtɍĆŅTŗĊŃƃRċņƅŘcNtȑĆŅƁrƈǸƄȒCƝtŖȻrÇŇbřĊŅƅȑƈŃBƦċnßňƅƦĉÑtȓĈřȼŃƀɍcŃƄȵtɌCřĆNƄǹƄƦȻŔčŅƃnƅrċrCǸƄȓƈŃƀrÇnƁrCÑƅrCȵƀrƈǹßrƈȵƁRĆƞƁrÇŇTȵßƦČȑȼǸƁǹBȑcɌƈƝTȒĆŅTrĆňƃRćŇƁȠƅȓcrc');
```

```python
#!/usr/bin/env python
f = open('plain_array.txt', 'rb')
t = f.read()
f.close()
data = t.split('\n')[:-1]
print len(data)
# print data
f = open('trial.7z', 'wb')
for i in range(len(data)):
    f.write(chr(int(data)))
f.close()
```

解压后拿到一个新文件`nb`,还是被加密了的:

```
ȐȼŃƁȓĉnƅŕƇŅƀȓƇŃƅȒċƝtŕƇNƄɌćŃTɌCȵBȒČNƄɌCňƀɌćÑbȒCŅTŕƇŇƁȓƇńƁŕƇŅƅȒCņbȒċƝTȒƈƝƀȒČnƁɌćŃTȓƈȠƅȓƇNtɌcńBȓĊǸƁȒȼȵbȒƈnbɌCȵßȒȼȠTȓĉNƁŗćƝƅRćŇbƞƅRȻÑßŘȻŇƁrĊńßŕčȠtRĉNƁƦĈņBƦcǹTƦćŃbƦĈNƁƦĈȒćƝTnƅŔĆņTrȼȒćƝtǸßRĊńtrȻNtrČńßŕčǸTRĊȵTrȼȵbŕƇŇTrĊnTŔĆnBŘÇƝƃrĉǹtƦćņƅƦcȵƀƦćņBƦcǹTƦćŃbƦĈNƁƦĈȒćƝTnƃŔĆǸtRĊƝƃrĉňTƦĉřƇƞtȵƅrȼņbrCnƃŔĆņßRćńßrȻńßŕčŃBRĊƞƅřȻƞƀřƇǹtƦćȵTřƈƞtřȻŅtƦcǸƁřȻņƄƦcƞTřȻŇbřƇǹTƦćNtƦĈƞƄřȻņƀƦcǸƁřȻņƄƦcƞßřȻņƁƦcǹtƦćņƄƦcƞƄřȻņBƦcǹTƦćŃbƦĈȵƀƦćȒćƝTŃƄŔCƞTřȻŅtƦcňTƦĉřƇƞtȵƅrȼņbrCŃƄŔCƞßřȻŅTƦcǹTƦćȵƄřƈȵƀƦćŅTƦcňTƦĉȵƁřƈŅßřƇȒćƝtŃBRĊƞßřȻņƀƦcňTƦĉȵƄřƈƞTřȻņƀƦcǹTƦćNtƦĈƞƅřȻņƀƦcňTƦĉȵƄřƈƞtřȻŇbřƇǸƁřȻņƄƦcƞTřȻŇbřƇǹTƦćNtƦĈƞƄřȻņƀƦcǸƁřȻņƄƦcƞƄřȻȒćƝTnƃŔĆǸtRĊŇƅrĊŃBrČŃƃŔċńtrȻŅbrċǹTƦćȵTřƈȓčnTnƅrćǸƃŔćÑtŘȻȠBŘĊȵƅŕċRćņßƝƃŔƇȵƅrƇŅTƦcǹTƦćȵƁřƈȓčnƄNtřĆŃƃŔċÑƀrÇƞƀřƇǹtƦćņƄƦcƞƅřȻņƁƦcňTƦĉņƄƦcňßƦcņƀƦcǸßřȻȵƃřƈňßƦcŇBřƇǸƄřȻņƄƦcȵƀƦćȒćƝTǸbŔćňTRČNƅŘCǹTƦćŃbƦĈňTƦcƞƀřƇǸƄřȻȒĉŅBǹTrčȠbrčŅTŔcÑƃRCȵbŕƇnƅrćŃƄŔCƞßřȻŅTƦcňTƦĉȵƁřƈƞƄřȻŇbřƇňTƦĉȵƁřƈŅßřƇŇBřƇǸƁřȻņƄƦcƞßřȻƞƀřƇǹtƦćȵTřƈÑbřȻřČȵßǸTRĊǸtRĊǹTrčȠbrčǸbŔćņtRćȠƃŘĊŃƄrČŃBRĊƞƅřȻņƀƦcǸƁřȻņƄƦcƞƅřȻƞƀřƇǹTƦćȵƀřƈNƁƦĈƞƀřƇňTƦĉȵƄřƈƞtřȻŇbřƇǸƁřȻņƄƦcƞƄřȻņBƦcǸßřȻȵtřƈȵƀƦćȒćƝƄȵƅŔȻNƅRĉǸƅŘCņbrCȠBŔĆŅßřƇřČȵƁȵƅŔȻńtrȻƝƃrĉǸƃřȻȵTřƈNƁƦĈņBƦcňTƦĉȵƁřƈŇbƦĆŅTƦcǹtƦćņƅƦcȵƀƦćŇBřƇǸƅřȻȵtřƈƞßřȻņƀƦcǸƄřȻȵƄřƈȵƀƦćņƀƦcǹTƦćŃbƦĈNƁƦĈņƁƦcǹTƦćNtƦĈƞßřȻřČȵƅnƃŔĆƝƃrƈǹƀŕĉŇTrĊnƃŔĆȵƁrȼņbŔcŃƃrČǸbŔćņßRćÑƀrƇǸßřȻņƄƦcƦȼŇƅnßrćǹbRĊŅbrȻǹTŕĊňTƦĉřƇÑbǸtŕĉńƅŕčƞƀRȻÑBRCƝBrƈŃbřĆŃTŖĊnƀŘÇǹƀŕĉŇƄrĊƝƃŔƇȵƄrȼŃƀrČņBrCȠtRĉňßƦcřċÑƅRĆŇtŖƇŃTǹƅƦćȒĉŅBȵƁrȼňßŕċȠßŔčƞßřȻņƁƦcǹTƦćřƇƞtǹTrčņbrCnƃŔĆÑƃRCȵbŕƇņbrCnTŔĆnBŘÇŇƅrĊŃƄrČŃBRĊƞƅřȻņƀƦcǸƃřȻȵßřƈƞßřȻƞƀřƇǸƁřȻņƄƦcƞTřȻŇbřƇǹTƦćNtƦĈƞƄřȻņƀƦcǸƁřȻņƄƦcƞßřȻƞƀřƇǹTƦćȵTřƈƞƄřȻŇBřƇǸƅřȻȵtřƈƞƅřȻȒćƝƅŃTŖĊnBŘÇŅbrȻȠBrčǸTRĊǸßRĊŅßŔcŃƁřĆǹbRĊȵßrȼƞbŘČŇtrĊǸTRĊÑBRCǹƄrčńƅŕčŃƄŔCƞßřȻņƁƦcǹTƦćȵTřƈȓČŃƅƝƅƦcNtƦĈňßƦcņBƦcǹßƦćńßřƇňßƦcņƀƦcǸƅřȻřčȠbŅtƦcǹƅƦćȵƄřƈƞTřȻƞƀřƇ
```

然后一层层解密拿到key:

```
Well done! It seems that you have great programming skills.

ȐȼŃßɌCȵƃȒȼȵbȒƈnbɌÇńßɌĈȠƃȒȻŃBȓƈȠƃȒȼȵbȒČŃBɌCňƀȒĊŇßɌcńtȓČŇƁŕƇņTȒȻŃƄŕƇŅƅȓƇŃƃȒȼȠbȒCņƁɌCňƀȒCŅƀȒĉȠƀɌćÑbɌcŅƄɌĉņƄȒȻńƄɌĉŇTŕƇņTȒȻŃƄŕƇŃbȒČŃƄŕƇńBȒČnƁȓȼǸß

ŗĆnƀȒćntŕƇntȓƇńƅɌƇƝƄřĈƝßŗƇȠbȓčȵbȒȼƞtŗcŅƅȑĉȠƁȒCŅƀɌćŃTɌćÑßŕƇŅtȓČňBɌČŅƅȓĊǸƄɌcńƄŕƇńtȒĆȵtɌĉŇTŕƇŃƃřčȠbřċȵƀȓCÑBřćŃBŖČȵƃɌćǸƀȓƈȠßŘčŅƄŗĉȠƄȒȼȵƅȒȻŅBȒĆƝƃȒĈÑƄȓĊņBřƇNƁɌƇƞbɌCƝßȐĉņtƦȻƝƃŗĈńƀɌCƝB

;) ȐcňTŗcŅƅȒCŅƀȒĉȠƀȒȻŃƄɌcńƄŖċŅtŕƇņTȒȻŃƄŕƇŅtȒČŃßŘčńbƦȻŇƅɌČÑtɌƈǹƃɌĉŅßȒCŅƅȒČnBƦȻƝƃȑÇƝƄŘCNƁȐĉņt
```

```
Well done! It seems that you have great programming skills.

Wishing you happiness during the holidays and throughout the New Year!

- by Coxxs@52PoJiE, (https://github.com/Coxxs/RCNB.js)

;) Oh, and here's the key: N0w_y0u_are_NB_A5_RC
```

# 感谢的话

最后感谢吾爱破解大佬们的辛勤付出!

# 参考网站

https://github.com/Coxxs/RCNB.js
https://travis-ci.com/Coxxs/RCNB.js
https://liudanking.com/golang/utf-8_replacement_character/

仰泳奈何桥 发表于 2019-2-20 20:23

谢谢分享

_小白 发表于 2019-2-20 20:55

好像厉害的样子

yqdai111 发表于 2019-2-20 21:14

好像厉害的样子

f88u8 发表于 2019-2-20 21:21

真是学习了,非常感谢,谢谢

hzcdong 发表于 2019-2-20 22:02

非常感谢,只能解出前两题

cxbb 发表于 2019-2-21 08:21

厉害了,,

xlx1980 发表于 2019-2-21 09:41

学习了,回头试试

Quincy379 发表于 2019-2-21 09:56

谢谢啦,只能解出第一道题{:301_972:}

wapjltb 发表于 2019-2-21 10:10

楼主你真牛,感谢分享。
页: [1] 2
查看完整版本: 2019春节解题领红包之一、二、番外篇WP