- kumikumitm
- 1354
- 5
- 0
- 0
stackstring 文字列をcharの配列としてスタック上に確保することで、解析ツールにぱっと見文字列と識別させないようにする難読化手法 #SC4Y
2021-02-28 13:19:31Defined Stringsで表示される名称の情報から表層解析のヒントを得たりすることができることがある #SC4Y
2021-02-28 13:41:36IDAはアセンブリしかなかったことで敷居が高かったがGhidraは比較的きれいなC言語まで戻るので、アセンブラと比較しながらリバースエンジニアリングの学習に向いているかもしれない #SC4Y
2021-02-28 13:44:22Symbol Tree>Functions>entryを選択するとDecompile画面にC言語表記される #SC4Y
2021-02-28 13:46:18アセンブリの基本的なところも講習でカバーいただけていて大変ありがたい。 プログラムはエントリポイントと呼ばれるアドレスから実行される。 Symbol Tree>Exports>entry #SC4Y
2021-02-28 13:47:59CreateMutexWなどのAPIを調べるときは極力1次情報(Microsoft Docs)を見るべし #SC4Y >docs.microsoft.com/en-us/windows/…
2021-02-28 13:52:50今回はどういうMutex名で作成されるかを調べたいのでCreateMutexW の第三引数 LPCWSTR に注目する。#SC4Y
2021-02-28 13:54:52今回のサンプルではCreateMutexWに対して下記の値を引数として渡していることがわかる。 Decompleの画面がら引数をクリックするとListing画面で該当のアドレスにジャンプする昨日が便利。 LPSECURITY_ATTRIBUTES : 0x0 BOOL : 0 LPCWSTR : u_411S4F3_00403034 #SC4Y
2021-02-28 13:58:37正直「MacでWindowsの静的解析とかやれないやろ」って思ってたのに、普通にハンズオンについていけててびっくりしてる。 #SC4Y
2021-02-28 14:05:55エントリポイントから順にたどって、どのようなwindowsAPIが呼ばれているかを調べて、そのAPIリファレンスを読みながら、分析していくという、まさにリバースエンジニアリングな作業 #SC4Y
2021-02-28 14:09:36アセンブリ素人だけどDecompile画面の高級言語っぽい表記があるおかげでどんなプログラムなのか解析しやすくなっていて目から鱗。 > GetLocalTime if ((((local_14.wDayOfWeek == 0) || (5 < local_14.wDayOfWeek)) || (local_14.wHour < 9)) || (0x11 < local_14.wHour)) { #SC4Y
2021-02-28 14:15:18Decompile画面で変数の名前をリネーム(リファクタリング)できて、さらに可読性を上げることができる。Ghidraすげえ。 #SC4Y
2021-02-28 14:18:51GhidraでWindowsAPIの調査に慣れておくと、サンドボックス(動的解析)の実行ログで呼ばれるWindowsAPIを調べるときにも有効だったりする。 #SC4Y
2021-02-28 14:28:22GhidraのDecompileではlocal_15cという変数名になっているがURLDownloadToFileAの引数をみるとfile_pathであることがわかる。 #SC4Y
2021-02-28 14:33:43