ACSC 2024 Qualsへ参加しました。そのwrite-up記事です。
IDAの解析結果ファイル.i64
は、GitHubで公開しています。
LINE CTF 2024へ、一人チームrotation
で参加しました。そのwrite-up記事です。またおまけとして、Binary Ninjaを初めて触ったのでIDAとのふんわり比較も記述しています。
また、今回からお試しとして、IDAの解析結果ファイル*.i64
等をGitHubで公開してみることにしました。https://github.com/Tan90909090/ctf-writeups/tree/main/LINE_CTF_2024をご参照ください。
2024/04/02(火) 01:00頃追記: BrownFlagChecker
問題の元ソースコードが公開されています: Black-Frost/LineCtf2024
防衛省サイバーコンテスト 2024へ参加しました。そのwrite-up記事です。
続きを読むshioCTF 2024へ参加しました。そのwrite-up記事です。
続きを読む2024/01/19 23時頃追記: ComObject.FinalRelease
の諸問題は.NET 9で解決されます: Make multiple calls to FinalRelease safe by jkoritzinsky · Pull Request #97059 · dotnet/runtime
2024/01/13 11時頃追記: レビュー時のコメントが守られていないのは流石に変に思ったのでissueを立てました。
2024/01/11 23時頃追記: ComObject.FinalRelease
後のメソッド呼び出しも未定義動作となる話と、APIレビュー時のコメントが守られていないらしい話を追記しました。その他細かい表現を修正しました。
.NET 8になって、LibraryImportAttribute
やGeneratedComInterfaceAttribute
を使って、COMオブジェクトをマーシャリングできるようになりました。より具体的には、ネイティブのCOMオブジェクトを保持する、マネージドなComObject
型へマーシャリングされます。さて、COMオブジェクトを扱う場合、参照カウンタを管理すること、すなわち適切にReleaseすることが必須です。しかしドキュメントを探しても、ComObject
が保持するネイティブCOMオブジェクトをどのようにReleaseすればいいのか分かりませんでした。実装確認や実験をすると、ComObject
型が持つネイティブCOMオブジェクトは、基本的にGCタイミングでのみReleaseされるということが分かりました。本記事は結果や実験方法について記述します。
SECCON 2023 電脳会議のイベントの1つ、SECCON カプセルCTFへ取り組んでいました。そのwrite-up記事です。(運営側の方からwrite-up公開の許可は得ていますが、まずい表記等あればお知らせください。)
続きを読むTsukuCTF 2023へ、一人チームrotation
で参加しました。そのwrite-up記事です。
2023/12/20(水) 21時頃追記: Writeup賞をいただけたことを加筆しました。
2023/12/25(月) 22時頃追記: 運営の皆様による全問題解説がTsukuCTF2023 Writeupsで公開されています。
続きを読む