[コードエンジン]基本RCE L 14プール
コードエンジンBasic RCE L 14号の質問に答えました.
実行可能ファイルをDIEにアップロードします.UPSに圧縮されます.
UPX圧縮を開きました.
解凍したファイルをIDAにアップロードし、
また,win 32 apiには重要な
中間部にはdowhile演算が表示され、ここでは
特に、インデックスを表す
すなわち、ここで、
同じ場合、
各スクリーンショットには、次の情報が含まれます.最終的に
次の復号コードをPythonに変換します.以下に示します. Pythonコードでコンパイルされたコードのように、 結果は
ここで、
異なる変数名を変更しました.まず、dowhile文では、
例えば、Askyコード「3」(51)からAskyコード「0」(48)を減算すると、整数3が残る.
今、何桁なのか教えてあげます.for文len-1からi-1を使用し、最終的にlen-1号10を0から乗算します.では12345の場合1は1*1000、2は2*1000、3は3*100、4は4*10、5は5*0です.
△いずれも、アスキーコード「1」、「2」、「3」、「4」、「5」からそれぞれ「0」を減算し、整数1,2,3,4,5で算出したものである.
結果は
正解は数字
実行可能ファイルをDIEにアップロードします.UPSに圧縮されます.
UPX圧縮を開きました.
解凍したファイルをIDAにアップロードし、
F5
で復号した.そして,有意義に見えるsub_401025
関数に入った.また,win 32 apiには重要な
WndProc
関数sub_4011E2
が加えられている.中間部にはdowhile演算が表示され、ここでは
byte_403037
に対して任意の演算が実行され、新しいv5
が生成される.特に、インデックスを表す
v7
は1から始まり、入力されるName
はdword_403038
であるため、Name
のインデックス0はbyte_403037
のインデックス1と同じである.すなわち、ここで、
byte_403037
はName
と同様に問題を見て解答することができる.sub_401383
に入ると、これらの演算が表示され、sub_401383
の演算後の名前がv 5と一致しているかどうかを確認します.同じ場合、
aGoodJobIWishYo
の見出しはメッセージボックスに出力され、異なる場合、aYouHaveEnterAW
の見出しはメッセージボックスに出力される.各スクリーンショットには、次の情報が含まれます.最終的に
Good Job, I Wish You the Very Best
を出力するには、dowhile文の後のv5
およびsub_401383(byte_401338)
と同じである必要があります.この2つをそれぞれ見てみましょう.1.do~whileゲート後のv 5
次の復号コードをPythonに変換します.以下に示します.
name = "CodeEngn"
v5 = 0
for ch in name:
v5 += (ord(ch)>>1) + ord(ch)*ord(ch) - ord(ch)
print(v5)
v5
を付けなかったのは、v5 +=
自体が自分の意味を含んでいるからです.76193
でした.2.sub 401383を取得(byte 401338)
ここで、
76193
とsub_401383(byte_401338)
を比較すると、出力Good Job, I Wish You the Very Best
に等しい.sub_401383
をダブルクリックして中を見ます.これにより、次のコードが表示されます.異なる変数名を変更しました.まず、dowhile文では、
num = c - '0'
は文字を整数にするコードです.例えば、Askyコード「3」(51)からAskyコード「0」(48)を減算すると、整数3が残る.
今、何桁なのか教えてあげます.for文len-1からi-1を使用し、最終的にlen-1号10を0から乗算します.では12345の場合1は1*1000、2は2*1000、3は3*100、4は4*10、5は5*0です.
△いずれも、アスキーコード「1」、「2」、「3」、「4」、「5」からそれぞれ「0」を減算し、整数1,2,3,4,5で算出したものである.
結果は
76193
のように見えますが、以前は文字列だった場合、現在は数字であり、演算前とは異なります.正解は数字
76193
!Reference
この問題について([コードエンジン]基本RCE L 14プール), 我々は、より多くの情報をここで見つけました https://velog.io/@hamham/코드엔진-Basic-RCE-L14-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol