<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on Cornelius Reetz</title>
    <link>https://corneliusreetz.com/</link>
    <description>Recent content in Home on Cornelius Reetz</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <lastBuildDate>Wed, 11 Oct 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://corneliusreetz.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HTB: Honor Among Thieves</title>
      <link>https://corneliusreetz.com/posts/blockchain/htb/honor-among-thieves/</link>
      <pubDate>Wed, 11 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/posts/blockchain/htb/honor-among-thieves/</guid>
      
      <description>The Contracts: Setup.sol: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import {Rivals} from &amp;#34;./Rivals.sol&amp;#34;; contract Setup { Rivals public immutable TARGET; constructor(bytes32 _encryptedFlag, bytes32 _hashed) payable { TARGET = new Rivals(_encryptedFlag, _hashed); } function isSolved(address _player) public view returns (bool) { return TARGET.solver() == _player; } } Rivals.sol: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; contract Rivals { event Voice(uint256 indexed severity); bytes32 private encryptedFlag; bytes32 private hashedFlag; address public solver; constructor(bytes32 _encrypted, bytes32 _hashed) { encryptedFlag = _encrypted; hashedFlag = _hashed; } function talk(bytes32 _key) external { bytes32 _flag = _key ^ encryptedFlag; if (keccak256(abi.</description>
      
    </item>
    
    <item>
      <title>HTB: Token To Wonderland</title>
      <link>https://corneliusreetz.com/posts/blockchain/htb/token-to-wonderland/</link>
      <pubDate>Thu, 05 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/posts/blockchain/htb/token-to-wonderland/</guid>
      
      <description>The Contracts They&#39;re long, so they&#39;re in this dropdown. Setup.sol
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.0; import {SilverCoin} from &amp;#34;./SilverCoin.sol&amp;#34;; import {Shop} from &amp;#34;./Shop.sol&amp;#34;; contract Setup { Shop public immutable TARGET; constructor(address _player) payable { require(msg.value == 1 ether); SilverCoin silverCoin = new SilverCoin(); silverCoin.transfer(_player, 100); TARGET = new Shop(address(silverCoin)); } function isSolved(address _player) public view returns (bool) { (,, address ownerOfKey) = TARGET.viewItem(2); return ownerOfKey == _player; } } Shop.</description>
      
    </item>
    
    <item>
      <title>HTB: Magic Vault.</title>
      <link>https://corneliusreetz.com/posts/blockchain/htb/magic-vault/</link>
      <pubDate>Mon, 02 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/posts/blockchain/htb/magic-vault/</guid>
      
      <description>The contracts: Setup.sol
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import {Vault} from &amp;#34;./Vault.sol&amp;#34;; contract Setup { Vault public immutable TARGET; constructor() payable { require(msg.value == 1 ether); TARGET = new Vault(); } function isSolved() public view returns (bool) { return TARGET.mapHolder() != address(TARGET); } } Vault.sol
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; contract Vault { struct Map { address holder; } Map map; address public owner; bytes32 private passphrase; uint256 public nonce; bool public isUnlocked; constructor() { owner = msg.</description>
      
    </item>
    
    <item>
      <title>HTB: Distract and Destroy</title>
      <link>https://corneliusreetz.com/posts/blockchain/htb/distract-and-destroy/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/posts/blockchain/htb/distract-and-destroy/</guid>
      
      <description>The Contracts: Setup.sol: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import {Creature} from &amp;#34;./Creature.sol&amp;#34;; contract Setup { Creature public immutable TARGET; constructor() payable { require(msg.value == 1 ether); TARGET = new Creature{value: 10}(); } function isSolved() public view returns (bool) { return address(TARGET).balance == 0; } } Creature.sol: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; contract Creature { uint256 public lifePoints; address public aggro; constructor() payable { lifePoints = 1000; } function attack(uint256 _damage) external { if (aggro == address(0)) { aggro = msg.</description>
      
    </item>
    
    <item>
      <title>HTB: Survival of the fittest.</title>
      <link>https://corneliusreetz.com/posts/blockchain/htb/survival-of-the-fittest/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/posts/blockchain/htb/survival-of-the-fittest/</guid>
      
      <description>Getting Started: Start off by deploying the contract, then go to the $IP/connection_info to find your PrivateKey (PK) and the RPC URL you need to connect to, also download the contract details from the HTB page.
The contracts: We&amp;rsquo;re supplied with 2 different contracts, first one being Setup.sol which contains the following code:
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import {Creature} from &amp;#34;./Creature.sol&amp;#34;; contract Setup { Creature public immutable TARGET; constructor() payable { require(msg.</description>
      
    </item>
    
    <item>
      <title>About</title>
      <link>https://corneliusreetz.com/pages/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://corneliusreetz.com/pages/about/</guid>
      
      <description>Currently studying Chemistry and Technology at the Technical University of Denmark (DTU).
I am interested in a broad range of topics, including but not limited to:
Chemistry Automation Programming Hacking On the &amp;ldquo;blog&amp;rdquo;, I&amp;rsquo;ll publish some of my projects, write-ups of CTF and challenges, and other stuff I find interesting.
For more of my writeups, visit https://raijin.dk</description>
      
    </item>
    
  </channel>
</rss>
