ここから本文です

ライブラリファイル(.lib)を元となったファイル(.cppや.c)のように展開すること...

laz********さん

2014/11/2110:45:58

ライブラリファイル(.lib)を元となったファイル(.cppや.c)のように展開することはできますか

C++での開発でライブラリファイルのバージョンがあっていないと、

ライブラリ自体は正常に読み込めていても関数名の不一致でLNK2019のエラーが出ます。

しかし、ライブラリは正常に読み込めている"ハズ"
バージョンも指導書と同じものにしている"ハズ"
でもなおLNK2019になる状況でしらみつぶしででも問題を探したいです。

txtとして展開するとlibは文字化けしてしまうのですが、
これを元のファイルのように見られる形で展開できるようにできませんか。

閲覧数:
1,192
回答数:
4
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

zas********さん

2014/11/2115:00:47

ライブラリファイルから元のソースに変換するのは出来ないとお考えください。
どの様な開発環境をお使いかわかりませんが・・・LNK2019だからVisualStudioですか?、であればlinkコマンドでlibに含まれる関数名の一覧を出力可能です。
スタートメニュー→Microsoft Visual Studio***→VisualStudio Tools→VisualStudioコマンドプロンプト を起動
該当libのあるフォルダに移動し
link /dump /export ○○○.lib > ○○○.txt
の様にしてみてください。
ただし、ここで出力される関数名は、ソース内で記述される形式ではなくリンカーにわかる形ですので読み替えが必要です。

質問した人からのコメント

2014/11/26 16:33:53

回答ありがとうございます。お察しの通り、Visual Studioです。
私自身、機械語を元に戻せるとは思っていなかったのでダメ元の質問でした。
VisualStudioコマンドプロンプトを利用するという発想が無かったので、
活用していきたいと思います。

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

mer********さん

2014/11/2305:51:41

相当な技術と労力(時間)があれば不可能ではありませんが、問題に対する解決手段としてはまったく割に合わないでしょう。
別の方法を検討すべきです。

chi********さん

2014/11/2119:54:15

出来ないことはありませんが、
このような質問を立てている時点でアナタには到底無理な話です

これは、他人が苦労して築き上げた著作物(ライブラリファイル)を解読し
自分の都合の良いように勝手に書き換えて他人の権利を踏みにじるという
『今のアナタがやっている行為を防止するため』の物です
いわゆるライブラリファイルというのは、
他人にソースコードを見られない&書き換えられないようにするための措置?であり、
その開発用コードを読むには相当なる熟練した技術が必要です
とりあえず元ファイル(開発用コード)に戻すには
機械語(最低でもアセンブラ)が読めないといけません

ちなみ私は機械語やアセンブラを当たり前のように使っているので
ライブラリファイルを開発用コードに戻すだけの技能を有していますが
全くと言って良いぐらい、使う時がありません
解読する暇があるなら新規で作る方が早いからです

しかし、どうしてもライブラリファイルを解読したいのであれば、
フリーソフトでも良いので『バイナリエディタ』を使い、
表示される16進数(機械語)を1つ1つ読むことです
私の場合、バイナリエディタに表示される16進数だけでもある程度は読めますが
『558BEC』『C3』『EB/E8/E9』の付近から読み始めると
大抵の機械語は攻略できます

k03********さん

2014/11/2110:56:50

lazward_yjさん

1.
ソースファイル(.cppや.c){アルファベット}
コンパイルして、
ライブラリファイル(.lib){機械語}

2.
逆は、普通の腕では、無理?

3.
これができたら、ソフトの会社が潰れる?

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる