1。ミス
1。ホットポットチェーン観光チェックイン
開いた後、ウォレットを接続し、クリックしてゲームを開始し、質問に8回回答した後、NFTをクリックします。旗のある写真については何も言うことはありません。知識Q&Aの質問
NFTを引き換えます
フラグ{y0u_ar3_hotpot_k1ng}
2.軌跡図
メソッド1:PyのNumpyおよびPandasライブラリを使用してNPZファイルを読み取り、CSVファイルとして保存します。コードは次のとおりです。npiportpandasとしてpdnp.set_printoptions(threshold=np.inf)a1=np.load( 'attachment.npz'、approw_pickle=true)print(a1.files)print( 'read:' '、a1)index=a1 [' index '' indec 'ind a1 [' index '' index '' indecl a1 ['output'] mytra=a1 ['trace']#print(mytra.shape)df=pd.dataframe(mytra)df.to_csv( 'data1.csv'、index=false)df1=pd.dataframe({'index''3360index、'入力': myin})df1.to_csv( 'data2.csv'、index=false)data1.csv、data2.csvを取得し、data.csvを取得するためにマージします。 data.csvをオープンすると、消費電力データが表示されます。 https://zhuanlan.zhihu.com/p/157585244によると、この質問の鍵は、インデックスの正しいパスワードである他の文字とは異なる文字を見つけることだと思います。これに基づいて、図に示すように4番目の文字などのExcelのラインチャート関数を使用して、に、他の線とは異なる緑の線があることがわかります。
順番に繰り返してキー全体を取得します:_ciscn_2024_
つまり、フラグ:フラグ{_ciscn_2024_}
方法2:テストコード:Numpyをnpimportlib matplotlib.pyplotとしてpltmatplotlib.useとしてインポートします( 'tkagg')data=np.load( './attach.npz')print(data.files)aa=data [data.files [0]] bb=data [1 data [data [data [data] dd] data [data.files [3]] print(len(aa)、aa)print(len(bb)、bb)print(len(cc)、cc)print(len(dd)、dd)for i in reng(len(dd)): plt.scapter([i for i for i in dd [i])、DD NPZファイルからの4つのファイルの。出力は空です。他の3つのファイルの配列長はすべて520です。インデックスによると、各40を取得できます。合計で13の平文があるとほぼ判断しています。Inputはテーブルです。
Outputは空です。トレースのデータはすべて小数です。
トレースのデータにドットプロットを描画してみてください:
データの各セットの最大値に多くのポイントがあることを発見しました。
npdata=np.load( './attachment.npz')dd=date [data.files [3]] for i in range(len(dd)): min_index=np.argmin(dd [i])print(f'minimum index(f'minimum index for Group {i} 3360 {ver all_index '') '') 985、他のデータには他の異なる数値があります。 40個のデータグループの最小値の添え字を使用して、グラフ分析を再度描画します。最大値は1つしかないことがわかったため、最大値の添え字を見つけ続け、入力テーブルから対応する文字を取得する必要があります:
Exp:
npimportmatplotlib.pyplotとしてnumpyをpltf=np.load( './attach.npz')index=f ['index'] ip=f ['input'] tr=f ['trace'] for _ in _ in _ in range(13): t=[] for _ for _ for _ in範囲(40):#各リストの散布図を描画し、最小値#plt.scatter([i for i for i in ren(tr [_*40+i])]]、tr [_*40+i])#plt.show() T.Append(min)#40リストの最小値の添え字をデータとして使用し、画像を描画し、範囲のIに最大値があることを見つけます(len(t)): plt.scatter([i for i for i in ren(t))]、np.array(t))plt.show()テーブルからind=table [mins]#flag +=indprint(flag)に文字を追加
GET:_CISCN_2024_A前のグループの最後のデータセットはすべて985であるため、最後のデータセットから取得されたAはAとしてカウントされません。最終フラグが取得されます:フラグ{_ciscn_2024_}
3。神秘的なファイル
メソッド1:究極の人形はぼやけており、実際にそれを探しています。 PPTファイルを取得し、接尾辞を.zipに変更して、DocPropsディレクトリの2つのXMLでPART1を見つけます。 app.xmlは、復号化アルゴリズムをプロンプトします。Core.xmlは、ciphertextとキーキーをプロンプトします。Cyberに移動します。 PPTから開くと、第2章の左上隅にある黒いピースです。ダブルクリックし、開いた後にすべてを選択し、色を変更し、色を変更し、Caesar Offset 10を復号化してからPART2
PART3を取得します。私は本当にこれを長い間検索しました。その後、オンラインで検索したところ、PPTステガノグラフィは、VBAプロジェクト復号化と呼ばれるマクロとマクロスクリプトに関連している可能性があることがわかりました。最初にvbaproject.binを開いて、dpbバイトを見つけ、最後のビットをxに変更し、サフィックスを.zipに保存し、直接開き、含意のファイルを見つけます。 VBAフォルダーでモジュール1を開きます。
。暗号文を見つけました。それが何であるかはわかりませんが、プロンプトはBase64の後です。次に、最初にそれを復号化してから、文字化けしたコードを取得します。一般的に、特殊文字はよりRC4または腐敗しています。最後に、パスワードなしで復号化されていることがわかりました。次に、base64のレイヤーで復号化します。
PART4は、PPTを直接開きます(メディアフォルダの写真で構成されているため)。 3番目の写真は、目に見える隠された文字を選択することです。私のコンピューターはデフォルトで自動的にそれを選択するため、直接表示できます。 base64デコード
PART5は、第5章PPTのコメントにあります。直接サイバーシェフハットラン、マルチレイヤーベース64デコード、5番目のパート
PART6は、5番目のPPTテキストの境界の左上隅にあります。メディアフォルダーをスケーリングまたは直接分解することができます。 base64デコード
PART7は、PPT \スライドの下でSlides4.xmlにあり、ID4の位置を以下に促します。 rot13すべて、数字を含むことを意味します、base64デコード
PART8はナンピングのSlidelayout2.xmlにあります。最初はそれが何を意味するのか理解できませんでした。接続した後にのみ理解しました。つまり、上記の文字列からBB13を削除するためです。次に、base64デコード
PART9メディアフォルダで直接、猫の男の写真の左下隅を見てください。
バージニア州コメント1.xmlのパート10は、デコードされています。キーは毛皮のようなです
要するに、最後のフラグはフラグです{e675EFB3-346F-405F-90DD-2222222B387EDEE9}メソッド2:最初に、いくつかのシンプルで簡単に見つけることができます。 Base64、バージニア州、シーザーなどをデコードするための迅速なルールに従ってください。PPTでは多くのことを見つけることができます:
ZIPサフィックスを変更すると、世界ドキュメント:010-6926
で見つけます
写真:
合計で、PART23360675EFBPAYT4:606F-40PART53:5F-90DPART6:D-2PART93333333333333333333333333333333333333333333333333333333333333333333333333
バイナリファイルi13pomdzeazhfy4dgs+vua==ここにbase64+rc4+base64
Get Part33:3-34pptファイル属性:010-695552 Ciphertext:qfpppppppppppppppq6zzmzzzzmmmmm32 bifldkey:lanjing;
PART1:FLAGを取得{EPPTマスター:
BB13を削除し、Base64
PART8336087E Select Pane:
=
最終フラグを取得するためのスプライシング:flag {e675EFB3-346F-405F-90DD-2222222222B387EDEE9}最後にシンボルのフラグを見つけます表
base64デコードしてフラグを取得するためにflag
メソッド2:binwalkを使用してzlibファイルを分離し、コードは次のとおりです。 Open(input_fileName、 'rb')as compressed_file: compressed_data=compressed_file.read()decompressed_data=zlib.decompress(compressed_data)with open(output_filename、 'wb')as output_file.write.='35 .zlib'output_file='decompressed_data.txt'decompress_zlib_file(input_file、output_file)winhexを使用してdecompressed_data.txtを開いて、base64の後にエンコードされたフラグを見ることができます。
フラグを取得するためのデコード:
Recommended Comments