
Memorize and finish the core network theory - Basics
nullnull8537
From TCP/IP to HTTP! This lecture is for those who lack basic network theory and want to understand major theories by memorizing them. You can do it!
입문
Network, Protocol
特定のアプリケーションがさまざまなAPI関数を呼び出すプロセスを傍受する方法を学び、セキュリティシステムを開発するための技術を確保します。 ※絶対悪用禁止!!!
Windows API呼び出しを傍受する方法
64bitベースのIATフック、インラインフック
簡単なセキュリティプログラムやマルウェアを作成する方法
このレッスンは、Windows APIフックテクノロジーのレッスンで、セキュリティソフトウェア開発者の方々にお役に立てるように作成されたレッスンです。このAPIフック技術は、古くから使用されてきた技術で、良い意図とそうでない意図の両方が活用する技術です。 ※悪用禁止
※注意、この講義に使用された例の一部は、Windowsディフェンダーがマルウェアとして認識することがあります!
セキュリティソフトウェア開発者
なりたい方
特にPCで動作する各種セキュリティプログラムを開発したい方には、APIフック技術は必ず知っておくべき技術といえます。
このクラスでは、必ず知っておくべき核心だけを正しく学ぶことができます。
リバーシング技術を学ぶ前に
先進理論をあらかじめ勉強したい方
関数の内部構造をアセンブリレベルで分析できます。何よりも高級語で見られなかった内部構造を理解し、必要に応じて修正することができます。
その結果、「関数とは何ですか?」に対する高レベルの理解と答えを自分で見つけることができます。
マルウェアの動作原理
知りたい方
悪意のあるコードが通常のプログラムに注入され実行されるプロセスがいくつかわかります。実際、多くのセキュリティソフトウェアが同様の技術を使用しているからです。
しかし、このレッスンはマルウェアの開発に必要なものについて言及していません。
「関数」について新しい次元の理解を得ることができます。たぶん、このレッスンの最後に、関数に関する私の理解は完成段階に突入することができます。
低レベルに降りて問題を解決する方法を学びます。従来の高水準プログラミング言語の世界では、絶対に未知の新しい世界を体験することができます。
C/C++で開発されたプログラムが実行されている状態で終了せずに、特定の関数のコードを更新して実行できます。
動作原理を理解する講義
APIフック技術は、それ自体がすでに高い難易度を誇っています。経験豊富な C/C++ 開発者であっても理解しにくい場合があります。
しかし、実際に原則だけを正確に理解すれば、コード自体はあまり意味がありません。そんな理由で原理に集中します。何よりも、パフォーマンスが検証されたコードを例として示します。
Windows OS環境実行ファイル(.exe、.dll)の形式であるPE形式について簡単に紹介し、そのうちIAT(Import Address Table)を操作して関数呼び出しを傍受する方法を扱います。
しかし、PE形式と関連理論を深く説明するよりも、Hook技術の実装に必要な最小限の理論だけを扱い、結果的に呼び出しを傍受する結果に集中します。
呼び出しを傍受したいターゲット関数の機械語コードを直接変更する方法で実装します。場合によっては、フックターゲットの安定性が急激に低下する可能性がありますが、そのような問題を最小限に抑える方法についても説明します。
また、インターネットに公開されているほとんどの資料がx86環境に基づいていますが、すでにほとんどのシステムが64bit環境であることを考慮してx64プラットフォームでInline hookを実装する方法も取り上げます。
Q. アンラップのような会社に就職したい学生です。この講義は役に立ちますか?
分野によって違いがあります。しかし、PCレベルのセキュリティを扱うパートで就職を希望するのなら、この講義で取り上げた内容は必ず知っておくべきことです。知らないと就職が難しいかもしれません。そして、より高い競争力を備えたい場合は、カーネルドライバの開発経験も必要になるかもしれません。
Q. この授業を聞いてからV3のようなプログラムも作れますか?
全体ではありませんが、機能の一部を開発するのに役立ちます。 APIフック技術は全体の一部であり、すべてのものとは言えません。そしてV3のようなアンチウイルスシステムの中心はリアルタイム監視エンジンにあり、それはカーネルドライバとして実装されています。
Q. マルウェア分析の専門家になりたいです。この講義は役に立ちますか?
はい、よく来ました! APIフック技術は時々「リバーシングの花」として説明されることもあります。それだけ重要なものでよく使われます。たぶん、日本のシェフの鋭いナイフのようなものかもしれません。この講義を完全に自分のものにしてください。
オペレーティングシステムとバージョン(OS):Windows 11
使用ツール: Visual Studio 2022 Community
PC仕様:Visual Studioが無理なく動作できるレベルであれば十分
講義に使用されたPPT資料をPDFで提供
完全な例(x86、x64分離を提供)
ポインタの使用に困難がないレベルのC言語プログラミングのスキル
(単独で始まるCプログラミングレベル)
デバッグ目的で逆アセンブルコードを一部読んだ経験(必須)
線形データ構造の理解とC言語で連結リストを実装した経験(必須)
C ++ name manglingの理解(必須)
Windowsシステムプログラミング体験(必須)
簡単なTCP / IPチャットの例を理解するのに十分なソケットプログラミングの経験(オプション)
(すべてが嫌い)国内初のPCファイアウォール開発者
1992年からC言語を勉強した30年泊まったC/C++開発者
多数国策課題遂行経験者であり、15年以上開発講義のキャリアを共に保有したおじさん!
C言語の人気入門書『ひどく始まるCプログラミング』著者
学習対象は
誰でしょう?
C/C++ ベースのアプリケーションの内部構造と関数とは何か、その本質について深い理解を得たい開発者
セキュリティソフトウェアを開発したい方
Windows環境でリバースエンジニアリングをしてみたい方
前提知識、
必要でしょうか?
C言語の高い理解度
Windows system programming (中級以上)
36,741
受講生
2,108
受講レビュー
1,093
回答
4.9
講座評価
24
講座
全体
27件 ∙ (4時間 6分)
講座資料(こうぎしりょう):
6. 関数ポインター
08:48
7. 関数ポインタ配列
03:01
8. 関数プロローグとエピローグ
13:01
9. ネイキッド関数
10:20
10. インラインアセンブリ
11:39
11. 仮想メモリアクセスモード
14:28
14. キャッシュフラッシング
08:01
16. IAT hook 技術 概要
12:08
17. IAT hookの限界
05:02
全体
25件
4.8
25件の受講レビュー
受講レビュー 1
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 5
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 94
∙
平均評価 5.0
5
(25/06/29/Sun 08:51) By taking the lecture, I understood hook. I used to think that printf("Hello world"); was simple, but it turned out to be very complex. Thank you for creating a good lecture.
Wow~! You must be in serious study mode. You've gone beyond encoding, all the way to API hooks. Burning the hot summer with learning sounds like a great choice. I'll support you. Thank you. :)
¥7,901
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!