# added protection:reversing:200ptsThis binary has some e^tra added protection on the advanced 64bit shellcode  Files: [added_protection](https://play.duc.tf/files/995069740ac93fad823bc796269534ba/added_protection)  [added_protection](added_protection)  
# Solutionファイルが渡されるので実行するが、以下のようになるだけである。  ```bash$ ./added_protectionsize of code: 130Can u find the flag?                   E?```gdbで見るとループしているようだ。  眺めているとrdxレジスタにUTなる文字が入っているのを見つけることができた。  その場所が0x8001217だったのでブレークポイントを張り、ループを回す。  rdxの値は以下のように変化していた(一部出力は省略)。  ```bash$ gdb ./added_protectiongdb-peda$ startgdb-peda$ b *0x8001217gdb-peda$ cgdb-peda$ cgdb-peda$ cgdb-peda$ cgdb-peda$ cgdb-peda$ p $rdx$1 = 0x44b8gdb-peda$ cgdb-peda$ p $rdx$2 = 0x4355gdb-peda$ cgdb-peda$ p $rdx$3 = 0x4654gdb-peda$ cgdb-peda$ p $rdx$4 = 0x617b~~~```エンディアンを調整し、まとめると以下になる。  ```text0x4883ec644889b844554354467b616449b976346e636564456e49ba637279707433645349bb68656c6c436f646549bc7d4361```[Hex to ASCII Text Converter](https://www.rapidtables.com/convert/number/hex-to-ascii.html)にかけると以下になる。 ```textHìdH¸DUCTF{adI¹v4ncedEnIºcrypt3dSI»hellCodeI¼}Ca```不要な文字を取り除くとflagとなる。  
## DUCTF{adv4ncedEncrypt3dShellCode}