0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ソースの失われたアプリのSQLを確認したい

Posted at

とてもとてもレガシーなWindowsアプリがありました。

社内の誰かが開発して幾年月
すでにソースが失われてしまって久しく、だけれども皆で便利に使っている野良アプリ

こいつがどうも変な情報を出しているというコトで調査を行うことになりました。

けれど、ソースがない。。

しかたがないので、アプリが発行しているSQLをパケットキャプチャして解析することにしましたとさ
しかし、Windowsには強力な監視ソフトが入っていて Wireshark などはインストール不可!!!

なので、

ってな感じで作業用 Linux を中継させて、LinuxでTcpdumpすることにした

手順1: Windowsで通信先とおぼしき相手先を hosts ファイルでねじ曲げる

アプリに手は入れられないので、相手先をLinuxにするため hosts ファイルを編集です

c:\Windows\System32\drivers\etc\hosts

手順2: Linuxでポート転送

Linuxでは Socat を使ってポート転送しときます。
お手軽

 socat TCP-LISTEN:1521,fork TCP:DBServer:1521  &

Socatについてはこちらを参照
 【2023年10月版】socat による tcp/udp ポート転送 【PROXY】

手順3: パケットキャプチャ

Linuxでパケットを取得です

tcpdump  -i eth0  port 1521  -w DBServer.pcap

手順4: レガシーアプリを操作

疑わしい情報が表示されるところを操作

手順5: キャプチャ結果の確認

tcpdump の結果を確認したいけど、、SQL内にSJISコード文字があるのでちょっとメンドクサイ
 (DBテーブル名やカラム名がSJIS日本語で定義されている。。時代を感じる)

なので、バイナリファイルを表示できる 「 Hex Editor 」 をVSCodeにインストール

VSCodeでファイルを開くと怒られるので、16進数エディター で開く
u3.jpg

SJIS部分もちゃんと表示できました

u4.jpg


とてもとてもレガシーなので暗号化も何もせず、パケットながしてくれてて助かりました
原因が分かったのはいいけど、どうやって治す??

全解析して再作成? は、したくないなぁ・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?