読者です 読者をやめる 読者になる 読者になる

備忘録

備忘録

仲介DLLを作成する

Ⅰ. はじめに 仲介DLLを作成する方法です。 DLL Proxy や DLL Wrapper とも呼ばれています。 Ⅱ. やり方 こちらを使います。 https://github.com/mavenlin/Dll_Wrapper_Gen 1. ファイルを自動生成する python Generate_Wrapper.py hoge.dll 2. ソリューション…

DoubleAgent を試してみる

Ⅰ. はじめに DoubleAgent とは? Microsoft Application Verifer を悪用した攻撃の事です。 セキュリティ会社 Cybellum によって 2017/03/22 に公開されました。 何ができるの? プロセスの開始と同時に 任意の dll が読み込まれ任意コードの実行が可能にな…

プロテクトを回避してメモリをフルダンプする

Ⅰ.はじめに 物理メモリを任意の物理記憶媒体にダンプする方法です。 Belkasoft社の無料ダンプツール(Belkasoft Live RAM Capture)を利用します。 Ⅱ. Belkasoft Live RAM Captureのすごいところ 無料 ダンプ後のファイルを解析するBelkasoft Evidence Cente…

.protoをバイナリから作る

Ⅰ. はじめに .protoファイルが手元に無い場合はバイナリデータから元データをMessagePackのように完全に復元させることは困難です。 少しでも.protoファイルを楽して作る方法をメモ。私の知る限りバイナリから自動で.protoを生成するツールは公開されていま…

JMPの隠蔽

Ⅰ. はじめに リバースエンジニアリングのテクニックの1つです。 パターン化しているので覚えておいて損はありません。 主に ASProtect というパッカーが利用する方法です。 Ⅱ. JMPの隠蔽方法 通常の場合 アセンブリでJMPする場合は以下のように書きます。 JM…

ファイル調査に使えるツール達

Home of Hexinator - The Professional Hex Editor - Hexinatorforemostbinwalk

Frida

JavaScriptでネイティブアプリをデバッグすることができます。 www.frida.reAndroidアプリをトレースする frida-trace -U -i *Func* appWindowsでトレースする frida-trace -i *Func* notepad.exe引数を表示する onEnter: function (log, args, state) { for…

disunity でフォルダを対象にする

disunity asset unpack c:\hoge\*※ファイル単体の場合 disunity asset unpack c:\hoge\CAB-xxx

Androidで他アプリのメソッドをhookする

Qiitaで投稿しました http://qiita.com/kagasu/items/7a3421ec471349885b10

ARM Opcodeメモ

ADD 加算 例. ADD(S) <dst>, <op 1>, <op 2> dst = op1 + op2; SUB 減算 例. SUB(S) <dst>, <op 1>, <op 2> dst = op1 - op2; EOR 排他的論理和(XOR) 例. EOR <op 1>, <op 2> (op1 == op2)? 0 : 1; LDR レジスタの読み込み 例1. LDR <dst>, <op 1> dst = op1; 例2. LDR <dst>, [<op 1>] dst = *(op1); 例3. LDR <dst>, [<op 1>, offset] dst</op></dst></op></dst></op></dst></op></op></op></op></dst></op></op></dst>…

Wireshark POSTだけ絞り込む

http.request.method=="POST"おまけ HTTPだけ絞り込む (tcpを付け加えると SSDP NOTIFYも除外できる) http && tcp

C# IL boolの戻り値を反転させる。

パターン1 bool hoge() { return gege(); } // ↓こうしたい bool hoge() { return !gege(); } bool gege { // return false // または // return true; } ldc.i4.0 ceq を追加する call gege() stloc.0 ... ret ↓ call gege() ldc.i4.0 ceq stloc.0 .. ret …

C++ 高速にメモリサーチを行う方法

ある特定範囲の最初から最後までをサーチをする場合、 メモリを確保していない場所までサーチするため非常に遅くなります。VirtualQueryExを使うと、 メモリのアクセス状態などによって分岐を行えるため、 非常に高速にメモリサーチを行うことができます。 v…

ktxをpngに変換する

ktxにはdisunity extractしたとき、たまに出会います。 それをpngに変換するときの話。 1. 必要なもの 1) PowerVR | Imagination Community http://community.imgtec.com/developers/powervr/2) ImageMagick: Convert, Edit, Or Compose Bitmap Images http:…

APK(smali)を弄る

用意するもの・JDK ・apktool.jar https://code.google.com/p/android-apktool/downloads/list手順# デコンパイル 1) java -jar apktool.jar d hoge.apk# smaliを弄る ○弄るときに役に立つもの一覧 ・Dalvik opecodes http://pallergabor.uw.hu/androidblog/…