プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

N88 BASICで作成されたEXEファイルのソースコードを復元する方法はありますでしょうか。

wikipedia情報ですが、以下のページにN88の記載があり実行ファイルの実体は中間コードであるむねの記載がありました。
https://ja.wikipedia.org/wiki/%E4%B8%AD%E9%96%93 …

また、EXEをバイナリエディタで確認するとソースファイル名と思われるxxx.basがいくつか見受けられましたので、復元できる形式で保存されているのではないかと思っています。

よろしくお願いいたしますm(_ _)m

A 回答 (4件)

プロテクトセーブの解除方法


方法1:Newコマンドを実行した時の、削除情報を復元
N88-BASICをメモリ上に読み込むと
1行目
・次の行が始まるアドレス(2バイト)
・行番号(2バイト16進数)
・プログラムコード
1行目
・次の行が始まるアドレス(2バイト)
・行番号(2バイト16進数)
・プログラムコード
  ‥
の形になる。
Newコマンドを実行すると、プログラムの最初(1行目)の2バイトをクリア
するので、それを試行錯誤して補完(poke 命令を使用)する。
#PC98の解説書に載っている、いわば表の裏技

方法2:プロテクトフラグに0を書き込む
PC98の解説書に、N88-BASICで使用しているワークエリアの内容が載って
いる。
その中にプロテクトフラグとして使用されているアドレスが有るので0を
セットする。

#具体的な方法は「N88BASIC プロテクト」での検索で、何件か見つかる
#ので、それを参照して下さい。
    • good
    • 1
この回答へのお礼

ありがとうございます!助かります。
こういったプロテクトの解除の仕方があるのですね。試してみます。

お礼日時:2017/06/17 09:24

N88-BASICを通常に保存した時の形式は、ファイル容量を小さくするため


というのは正しいが、中間コードとは呼びません。
#話が紛らわしくなるので、間違えない様に。

N88-BASICの場合、コンパイラを通して実行形式(EXE)にする際に、中間
言語に変換されますが、Javaと違って、実行に必要なN88BASIC.LIB内部
処理ルーチンをCallする形で変換されます。
その内部処理は公開されていません。
さらに、コメントや行番号等の情報は削除されるので、元のソースに復元
する事はできません。

#ソースファイルを見られなくする為に、プロテクトセーブされた物で
#あれば、解除する為の裏技がいくつか有ります。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

>#ソースファイルを見られなくする為に、プロテクトセーブされた物で
>#あれば、解除する為の裏技がいくつか有ります。
プロテクトセーブされているかが不明なのですが、裏技とっても気になります!
教えて頂けないでしょうか。。。

お礼日時:2017/06/16 12:55

N88 BASICを保存すると、ASCII形式を指定しない限りファイル容量を小さくするため中間コードで保存されます。


(ファイルをマージして実行するときはマージされるファイルはASCII方式で保存されている必要がある)

またN88 BASICをバイナリの実行ファイル(拡張子 ”.EXE”)にするには別途ユーティリティソフトが必要です。
そのユーティリティソフトの仕様が分からないことには手も足も出ません。
ご自身で試行錯誤して手に負えなければ諦め、新たに作り直すことを勧めます。

※ASCII方式:テキストファイル
    • good
    • 1
この回答へのお礼

なるほど、別のユーティリティが必要なのですね・・・
回答ありがとうございます。

お礼日時:2017/06/16 12:54

無理。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!