Shino

Shino Channel

$ sudo echo Shino >> YourHeart

强网杯2022 - GameMaster

打开是一个德扑小游戏,根据已知信息找开源代码。 https://github.com/XanderUZZZER/Blackjack-master 比较关心的是原开源代码中没有的对gamemessage文件的处理,可以注意到一个类似作弊码的goldFunc函数。 整理一下删除没用的部分。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 private static void goldFunc(ArrayList input, Blackjack.Game game) { if (memcmp(input, "AQLMP6579", 9)) { if (memcmp1(input, "MF3K", 4)) { try { game.Player.Bet -= 22m; for (int i = 0; i < memory.Length; i++) { memory[i] ^= 34; } Environment.SetEnvironmentVariable("AchivePoint1", game.Player.Balance.ToString()); return; } catch { return; } } } else if (memcmp(input, "Z5M0G6P16", 9)) { if (memcmp1(input, "EEPW", 4)) { try { game.Player.Balance += 175m; byte[] key = new byte[16] { 66, 114, 97, 105, 110, 115, 116, 111, 114, 109, 105, 110, 103, 33, 33, 33 }; RijndaelManaged rijndaelManaged = new RijndaelManaged(); rijndaelManaged.Key = key; rijndaelManaged.Mode = CipherMode.ECB; rijndaelManaged.Padding = PaddingMode.Zeros; ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor(); m = cryptoTransform.TransformFinalBlock(memory, 0, memory.Length); Environment.SetEnvironmentVariable("AchivePoint2", game.Player.Balance.ToString()); return; } catch { return; } } } else { if (!memcmp(input, "D253Y5J0Y", 9)) { return; } if (memcmp1(input, "6VD6", 4)) { try { game.Player.Balance -= 27m; Environment.SetEnvironmentVariable("AchivePoint3", game.Player.Balance.ToString()); BinaryFormatter binaryFormatter = new BinaryFormatter(); MemoryStream serializationStream = new MemoryStream(m); binaryFormatter.Deserialize(serializationStream); return; } catch { return; } } } } 复制出来直接跑,dump处理后的gamemessage文件。

混合模糊测试的分析与研究

模糊测试(Fuzz)介绍 ​ 模糊测试是一种漏洞发现的手段,通过用一些方式构造一些输入数据自动化地发送给程序,同时监测程序是否出现异常,将造成crash的输入数据返回给测试人员以达到发现漏洞的目的。
0%