吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.40881110.com

 ?#19968;?#23494;码
 注册[Register]
查看: 16190|回复: 148
上一主题 下一主题

[CTF] 2019春节红包 四题Writeup

    [复制链接]
跳转到指定楼层
楼主
XhyEax 发表于 2019-2-20 00:00 回帖奖励
本帖最后由 XhyEax 于 2019-2-20 14:09 编辑

解题方法并不唯一,仅供参考。

题目打包下载地址

https://down.52pojie.cn/Challenge/Happy_New_Year_2019_Challenge.rar

第一题 签到题

关注“吾爱破解论坛”公众号,回复指定?#22336;?#20018;即可获得本题正确口令和第二题题目下载地址。

第二题 CrackMe

(本题我做的时候是无壳的,因为碰巧发现?#22235;?#27979;时的题。公测时加了个upx的壳,故需要先脱壳,esp定律即可)
(这题用OD其实更方便些,个人习惯用IDA
脱壳后IDA打开,Shift+F12查看?#22336;?#20018;,找到关键?#22336;?#20018;正确!!!回复你输入的内容到吾爱破解论坛公众号
按X查看引用,定位到判断代码

按F5查看伪代码

上面有个长度判断,输入?#22336;?#20018;长度为16
然后下面有个strcmp判断,相等则返回0,不过加了个!就变成相等返回真了

所以在strcmp下个断点查看寄存器(v2)即可得到密码

第三题 逆向题

(用OD也不是不行,可以用IDA导出符号给OD调试)
IDA打开,搜索main,找到程序主入口,定位到关键代码(前面还有个sha1算法的,应该和AES的key有关)

逻辑是base64解码,然后再用aes解密,跟HappyNewYearFrom52PoJie.Cn比对,相同则通过校验
而aes的key应该跟输入的uid有关,虽然不知道他怎么生成,但是可以在使用它的时候断下,直接提取
所以点开main_AesDecrypt,给NewCipher下断点(查看go语言源码可知,传入参数的是key)

在IDA中运行程序,输入uid,然后口令输入一个base64Encode过的?#22336;?#20018;(?#28909;?code>MQ==),通过第一个解码校验
然后会在解码时断下,查?#21019;?#20837;的第一个参数(其实是key的指针)

在Hex View中按G定位,输入12858120,找到对应的值,提取之(key是十六位的,所以提取前十六位即可)

得到EF2D8BFA0C30AB270B92CC73A563AFA3
其实这一串数据就是我的uid对应的sha1散列值(ef2d8bfa0c30ab270b92cc73a563afa3b04faa75)的字节数组?#38382;劍?#21462;前16位
AES?#29992;?#26041;式为CBC(main_AesDecrypt函数中可以直接看出),补码方式为PKCS5Padding(AES解密错误时,会退出程序,但是有异常信息一闪而过,给报错函数下断点即可查看异常信息)
所以把EF2D8BFA0C30AB270B92CC73A563AFA3转化成字节数组,使用AES/CBC/PKCS5Padding方式,
?#29992;?code>HappyNewYearFrom52PoJie.Cn,再进行base64Encode就可以得到口令了
(至此,程序逻辑完全清晰了)

go语言代码

之前为了验证golang生成的exe程序结构,从网上抄了个aes加解密的go语言的代码,改一改正好用的上(现学现用)

```go
package main

import (
"fmt"
"bytes"
"crypto/cipher"
"crypto/sha1"
"crypto/aes"
"encoding/base64"
)

func PKCS5Padding(ciphertext []byte, blockSize int) []byte {
padding := blockSize - len(ciphertext)%blockSize
padtext := bytes.Repeat([]byte{byte(padding)}, padding)
return append(ciphertext, padtext...)
}

func PKCS5UnPadding(origData []byte) []byte {
length := len(origData)
unpadding := int(origData[length-1])
return origData[:(length - unpadding)]
}

func AesEncrypt(origData, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
blockSize := block.BlockSize()
origData = PKCS5Padding(origData, blockSize)
blockMode := cipher.NewCBCEncrypter(block, key[:blockSize])
crypted := make([]byte, len(origData))
blockMode.CryptBlocks(crypted, origData)
return crypted, nil
}

func AesDecrypt(crypted, key []byte) ([]byte, error) {
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
blockSize := block.BlockSize()
blockMode := cipher.NewCBCDecrypter(block, key[:blockSize])
origData := make([]byte, len(crypted))
blockMode.CryptBlocks(origData, crypted)
origData = PKCS5UnPadding(origData)
return origData, nil
}

func main() {
uid := "351649"
h := sha1.New()
h.Write([]byte(uid))
bs := h.Sum(nil)
var aeskey = bs[0:16]
pass := []byte("HappyNewYearFrom52PoJie.Cn")
xpass, err := AesEncrypt(pass, aeskey)
if err != nil {
fmt.Println(err)
return
}
pass64 := base64.StdEncoding.EncodeToString(xpass)
fmt.Printf("?#29992;?#21518;:%v\n",pass64)
bytesPass, err := base64.StdEncoding.DecodeString(pass64)
if err != nil {
fmt.Println(err)
return
}
tpass, err := AesDecrypt(bytesPass, aeskey)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("解密后:%s\n", tpass)
}
```

第四题 RCNB

解压得到RCNB.md,内容如下
```

ȐĆŅƃȓƇńƃȒċƝ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ňƁ

řĊÑ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
```

有一个明显的网址rcnb.xyz,浏览器打开发现,所谓RC就是一个自定义的编码方式(因为开头有R结尾有C?),将内容解码得到
```

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!

It's dangerous to go alone, take this!

And the key: Which_is_N0t_Th3_Answ3r

With the trial:
```

后面的解出来是个7z的文件,但是由于转化成了?#22336;?#20018;,所以很多字节丢失了,解码出来变成了问号。所以需要修改js代码,让它返回16进制?#22336;?#20018;,方便直接转化成文件

修改js代码

定位到editor.js代码的rc2str函数,将它修改为

js function rc2str(str) { if (str === '') return ''; var res = rcnb.decode(str.trim()) return Bytes2Str(res); }
Bytes2Str函数?#20405;?#25509;网上找的
js function Bytes2Str(arr) { var str = ""; for(var i=0; i<arr.length; i++) { var tmp = arr[i].toString(16); if(tmp.length == 1) { tmp = "0" + tmp; } str += tmp; } return str; }
然后就可以得到一串16进制?#22336;?#20018;,转化为文件保存即可。
压缩包的密码就?#20405;?#21069;得到的Which_is_N0t_Th3_Answ3r
得到一个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řȻƞƀřƇ
拿去网站解码(不需要16进制了,所以用原本的js即可)
得到
```
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
```

继续解码就可以得到key了

----简单的分割线----

迟来的元宵快乐!

PS: 活动规则所限,活动结束之后才能发布解题方法

免费评分

参与人数 62吾爱币 +78 热心值 +59 收起 理由
blue16深蓝梦境 + 1 + 1 用心讨论,?#19981;?#25552;升!
今生?#22320;?/a> + 1 + 1 谢谢@Thanks!
soyiC + 1 + 1 ?#34892;?#21457;布原创作?#32602;?#21566;爱破解论坛因你更精彩!
据守 + 1 + 1 谢谢@Thanks!
EngMJ + 1 + 1 我很赞同!
Ganlv + 2 + 1 我很赞同!
浩子tim + 1 + 1 用心讨论,?#19981;?#25552;升!
LLHFV + 1 + 1 谢谢@Thanks!
silvanevil + 1 + 1 谢谢@Thanks!
maobaozhi + 1 + 1 我很赞同!
MarkMatt + 1 我很赞同!
箭靶 + 1 + 1 膜拜?#26657;?#24863;觉需要好好学习
zhouyikun + 1 + 1 我很赞同!
mythic + 1 + 1 谢谢@Thanks!
ibert + 1 + 1 谢谢@Thanks!
xiaowanzi + 1 + 1 谢谢@Thanks!
精一 + 1 谢谢@Thanks!
quandu + 1 + 1 用心讨论,?#19981;?#25552;升!
qdtjvszxc + 1 + 1 我很赞同!
2005ldx + 1 + 1 我很赞同!
陈名侦探 + 1 + 1 热心回复!
山高人为蜂 + 1 + 1 谢谢你的第三题注册代码,在H大关闭任务前抢到了红包。
Patty + 1 + 1 谢谢@Thanks!
voice + 1 + 1 我很赞同!
于凡 + 1 用心讨论,?#19981;?#25552;升!
sunnylds7 + 1 + 1 热心回复!
IAMANGRY + 1 + 1 ?#32454;?#31283;
siuhoapdou + 1 + 1 谢谢@Thanks!
bb8820 + 1 我很赞同!
定个一份爱 + 1 用心讨论,?#19981;?#25552;升!
小小学生 + 1 + 1 热心回复!
Eric_Lian + 1 + 1 R C N B !
WO灵魂泡 + 1 + 1 热心回复!
酷爱腾讯 + 1 + 1 我很赞同!
svipstj + 1 + 1 热心回复!
梦游枪手 + 2 + 1 热心回复!
blsn3548 + 2 + 1 谢谢@Thanks!
liphily + 3 + 1 谢谢@Thanks!
艹123 + 1 + 1 我很赞同!
fanyongchang3 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
shy2012 + 1 + 1 只做了第一题,第二题开始就看不懂了!T_T
CrazyNut + 3 + 1 膜拜各位大佬
gunxsword + 1 + 1 第三题没搞定,看了...也不会!!!!
连晋 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
丞相范睢 + 1 + 1 好强,好强!
zhouxx + 1 + 1 用心讨论,?#19981;?#25552;升!
WZCLCY + 1 + 1 我很赞同!
sheldon_wxd + 1 + 1 大神膜BAI....
xianshui8888 + 1 + 1 谢谢@Thanks!
asasok + 1 + 1 用心讨论,?#19981;?#25552;升!
sqing + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Peace + 10 + 1 用心讨论,?#19981;?#25552;升!
cxp521 + 1 + 1 我很赞同!
UniqueLegend + 1 + 1 用心讨论,?#19981;?#25552;升!
topcss + 1 + 1 用心讨论,?#19981;?#25552;升!
Nnjojo + 1 + 1 谢谢@Thanks!
hzwsuki + 1 + 1 谢谢@Thanks!
Saup + 1 + 1 厉害厉害!
涛之雨 + 2 + 1 谢谢@Thanks!
Coxxs + 3 + 1 tql!
YuriBrightan + 1 + 1 谢谢@Thanks!
孤狼微博 + 1 看你的分析上面的一句话?#20063;?#30693;道我为什么输入不对,原来是要去公众号回复

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
blsn3548 发表于 2019-2-20 10:09
本帖最后由 blsn3548 于 2019-2-20 10:12 编辑

前两题?#24049;?#31616;单,第三题看了?#22870;?#21457;现是go程序,有点懵逼,没搞定,之后也没在搞。刚刚看了分析思路立马明白了。
第四题看了看算法,网?#32447;?#20102;一段代码本地运行得到一个.7z文件然后解压得到一个文件继续解密就找到key了。

附当时用的代码:
'use strict';
//https://github.com/Coxxs/RCNB.js
var rcnb = require('./rcnb.js');
var fs = require("fs");
const util = require('util');

function str2rc(str) {
        if (str === '') return '';
        return rcnb.encode(new TextEncoder('utf-8').encode(str));
}

function rc2str(str) {
        if (str === '') return '';
        return rcnb.decode(str.trim());
}

var res = '填入要解密的那段';

var data = rc2str(res);
console.log(data);

// 创建一个可以写入的流,写入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.7z');

// 使用 utf8 编码写入数据
writerStream.write(data,'ASCII');

// 标记文件末尾
writerStream.end();

console.log("程序执行完毕");

点评

bingo, 我做的时候没有想到去找作者的github仓库,第四题解到最后就会给出github仓库地址了  发表于 2019-2-20 11:21

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
Coxxs + 3 + 1 我很赞同!

查看全部评分

推荐
山高人为蜂 发表于 2019-2-20 09:25
本帖最后由 山高人为蜂 于 2019-2-20 10:25 编辑

我第三题搞不了。算法太复杂了(在输入古怪?#22336;?#26102;,程序会提示AES、shXX?#29992;?#27169;块失败,就知道不是好东西)。而且最?#24080;?#35201;在网络上验证口令,绕过注册码的爆破方法没用,只能放弃了。

第四题很多朋友没搞定,要知道?#29992;?#30340;密文首先要知道其?#29992;?#30340;算法,打开看到的是ASCII文本,不放过任何可疑的字串,我首先是看到了一个疑似的网址,在浏览器输入后,跳转一个网?#24120;?#26524;然有料到,知道这种很神奇的rcnb?#29992;?#31639;法。再到外国网站上找到这种算法的解密网?#24120;?#23558;密文复制、粘贴尝试解密,密文很明显的分了几段,每一段有非常丰富的信息,信息内又有下一步的解决方法线索,最后作者隐藏了一个重要密文在不起眼的位置,解开密?#26408;?#30693;道了本题最终口令。其实不用编程的,我用了浏览器、谷歌、百度、WINHEX十六进制编辑器、WINRAR、记事本,不断的复制、粘贴就搞定了。将7Z的十六进制数据,用WINHEX建立一个空白的文件,粘贴进去,保存成7Z文件,用WINRAR解压,输入密码,就能解开。

第三题根据楼主给出的注册机,改了改ID,解到了口令,居然顺利的领到了迟到的红包。哈哈,搭个便车。
现在任务已经关闭了,我可能是最后一个领到红包的了。
不过GO语言还是挺有意思的。
推荐
MagicBlue 发表于 2019-2-20 06:42
原来rcnb.xyz是个url....我也是醉了

点评

如果你熟悉Markdown语法的话就知道了  发表于 2019-2-20 11:12
推荐
Sherry01 发表于 2019-2-20 19:40
第三题不用脱壳吗?没查出是什么壳
推荐
梦游枪手 发表于 2019-2-20 17:38
当初第三题的CBC补码卡了我不少时间,最后去查了go语言的补码模式才搞定的
推荐
 楼主| XhyEax 发表于 2019-2-20 13:36 <
chaosnaix 发表于 2019-2-20 11:44
第二题按?#31456;?#20027;的方法,直接用IDA打开,看到的?#22336;?#20018;都是乱码啊???#35757;?#26159;我使用的方式不对?楼主真的没 ...

我做的时候是没有壳子的,后面加了个upx,自己脱下
推荐
hlrlqy 发表于 2019-2-20 10:14
golang那道题就是uid的sha1 一眼就看出来了的
推荐
Eorton 发表于 2019-2-20 09:15 来自手机
虽然第二题用esp脱壳大法是秒破,但第三题我是找到算法却不知道怎么转换,第四题是到达Which_is_N0t_Th3_Answ3r了,但是7Z后面加一堆乱码也很扎心,多加学习哈哈

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
?#19979;?91 + 1 + 1 不用脱壳吧!运行起来程序就解码了

查看全部评分

10#
 楼主| XhyEax 发表于 2019-2-20 00:06 <
H大,原创是不是能置顶一?#38382;?#38388;@Hmily
11#
AA20072008 发表于 2019-2-20 00:23
楼主好厉害  佩服
12#
成国大吉大利 发表于 2019-2-20 00:33

楼主好厉害  佩服
13#
2205 发表于 2019-2-20 00:51
想领2019红包,可惜解密要求的技能树太多了,技能点根本不够点。
14#
hongge 发表于 2019-2-20 02:05
表示后面两题没看懂~
15#
陈世界 发表于 2019-2-20 02:23
谢谢楼主分享了
16#
YuriBrightan 发表于 2019-2-20 02:25
学习了,学习了
17#
涛之雨 发表于 2019-2-20 07:59
大?#23567;!!?#33021;不能顺便把红包文件上传一下。。。像照猫画虎一波。。。但四超过时间了……就申请不了也下不了也没有解压密码

点评

晚点我把题目打包一下放到爱盘给大家学习。  详情 回复 发表于 2019-2-20 08:31
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:禁止回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2019-7-21 18:37

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
球探网篮球指数
澳门英皇赌场999202 天津时时彩彩经网 云南快乐十分走势图 香港赛马会致命一肖 大乐透尾号走势 青海十一选五开 北京赛车开奖走势图一比分 重庆时时彩后一技巧 广东25选5开奖结果 曾道人传真一句解特码 重庆快乐十分怎样才中 3d彩票走势图预测方法 辽宁快乐12预测组3 七星彩第1984期规律局 欢乐斗地主怎么开房间