【Ubuntu】【Wine】ヨドバシ電子書籍リーダ doly を実行できるようにする(3)【SW】

 

概要

Doly.exe が依存しているライブラリ群を1箇所にまとめてしまい、Linux 上から Wine を使えば Doly.exe が実行できるのでは?と考えた。
そこで Linux系の ldd, readelf に近いことを実現する Windows 系コマンド(ソフト)を使って調査した。
 

dumpbin.exe と PEInfo

使用したソフトは dumpbin.exe と PEInfo である。

dumpbin.exe

dumpbin.exe /ALL "C:\Program Files (x86)\Yodobashi Camera\Doly\BookReader.exe" > a.txt

→ 依存している dll はシステムフォルダにある「mscoree.dll」である。
 

PEInfo

一応、PEInfo を使ってダンプをしてみたが、同じ結果であった。
f:id:dnkrnka:20180923022931p:plain
 
そこで、mscoree.dll の依存ライブラリを調べてみると以下であった。*1
f:id:dnkrnka:20180923023500p:plain
 
つまり次のような構成になっている。(誤記があるかも)

BookReader.exe

  • C:\windows\system32\mscoree.dll
    • C:\windows\system32\kernel32.dll
    • C:\windows\system32\user32.dll
    • C:\windows\system32\advapi.32.dll
    • C:\windows\system32\shlwapi.dll
    • C:\windows\system32\version.dll
    • C:\windows\system32\oleaut32.dll
    • C:\windows\system32\urlmon.dll

 
ただし、mscoree.dll と kernel32.dll を除く dll は 0x00000000 を参照しているとして PEInfo がエラーを出した。

そして、kernel32.dll を PEInfo で見てみると、多数の dll に依存していた。
加えて、Doly に含まれる dll を見てみたところ、こちらも多数の dll に依存していた。
単に依存ライブラリすべてを1箇所に集めることは難しいような気がする。

*1:dumpbin.exe も同様に dll に対して、さらに依存しているライブラリを見付け出してくれるが、絶対パスまでは表示してくれないものと思われる