diff --git a/CTF/ctfs/IWCON_CTF_2023.md b/CTF/ctfs/IWCON_CTF_2023.md
index c7bff40..e202423 100644
--- a/CTF/ctfs/IWCON_CTF_2023.md
+++ b/CTF/ctfs/IWCON_CTF_2023.md
@@ -9,6 +9,7 @@
### WARMUP
- [Socialize](#socialize)
+- [runme](#runme)
@@ -29,3 +30,55 @@ Flag is in `iwcon-ctf` channel
Flag: `IWCON{y0u_w3r3_h3r3_f!rst}`
+## runme
+
+- code me!
+- Flag format: IWCON{}
+- [runme.class](../files/runme.class)
+
+using online decompiler we get [java code](https://www.decompiler.com/jar/6ae10a74e255424f99b8b8b431e7975b/runme.java)
+
+Click to see code :diamond_shape_with_a_dot_inside:
+
+```java
+
+import java.util.Arrays;
+import java.util.Base64;
+
+public class iwcon {
+ public static String get_flag() {
+ byte[] var0 = "YPSiRhFjpXbIfgVc]NnHoeWlJ_mOEUQT[L`^kKGMda\\Z".getBytes();
+ byte[] var1 = "c54h1dW2z1yVNTdfzRITS9MJMnj53ByM3Xz0D7azN9Xe".getBytes();
+ byte[] var2 = new byte[var1.length];
+
+ for(int var3 = 0; var3 < var1.length; ++var3) {
+ var2[var3] = var1[var0[var3] - 69];
+ }
+
+ System.out.println(Arrays.toString(Base64.getDecoder().decode(var2)));
+ return new String(Base64.getDecoder().decode(var2));
+ }
+
+ public static void main(String[] var0) {
+ System.out.println();
+ }
+}
+
+```
+
+
+
+in this code we modify main function to add call to `get_flag()`
+
+```java
+public static void main(String[] var0) {
+ System.out.println(get_flag());
+ }
+```
+
+
+
+Flag: `IWCON{y0u_4r3_a_r3v3rs3_3ngin33r}`
+
+
+