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/ 谢谢分享 好像厉害的样子 好像厉害的样子 真是学习了,非常感谢,谢谢 非常感谢,只能解出前两题 厉害了,, 学习了,回头试试 谢谢啦,只能解出第一道题{:301_972:} 楼主你真牛,感谢分享。
页:
[1]
2