パスワードを忘れた? アカウント作成
13495226 story
スラッシュバック

ソースコードのないPC-9801プログラムの仕様解析、その後 98

ストーリー by hylom
面白い結果に 部門より

昨年「ソースコードのないPC-9801プログラムの仕様解析、予算10~30万は安い?」という話題があったが、この仕様解析案件を実際に請け負った人がその顛末を明らかにしている(Togetterまとめ)。

解析の結果、このプログラムはBASICで実装されたコードをコンパイラで実行可能バイナリに変換したものだったことが分かったそうだ。BASICから生成されたコードは特有の構造があるため解析には一部難しいところはあったそうだが、プログラム自体は比較的簡単なものだったという。また、解析費用については直接交渉で増額してもらったという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2018年01月04日 21時44分 (#3339872)

    別の解析担当(俺)によりますと、
    使用言語:BASIC/98コンパイラ(バージョン不明)
    EXEファイル軽量化:EXEPACKコマンドによる、リロケーション情報の圧縮
    だと思われます。

    BASIC/98コンパイラと判定した理由は、「エラーメッセージ中に構造化BASIC命令に対するエラーメッセージがある」ことです。

    #やっぱりACで

    • by Anonymous Coward on 2018年01月04日 22時18分 (#3339898)

      exepackや当時のbasicコンパイラ知ってると解析まとめ見てああ、と思い当たるんだけど
      その辺知らないで解析してるのは素直にすごいと思う。

      親コメント
  • by Anonymous Coward on 2018年01月04日 16時07分 (#3339724)

    https://twitter.com/roentgen/status/947439405232414720 [twitter.com]

    とか抜かしてるし、その時代のこと知らん人が大騒ぎしてるようにしか見えんのが残念。

    • 使い物にならんもなにも、BASICとほぼ同等には動いていたはずですが。

      親コメント
      • 何を評価して「使い物にならん」なのか気になりますね。
        自分の記憶でも、インタプリタでの実行と同等だったと思っています。

        そもそも、BASICに「コンパイラがあると思っていなかった」であろう事も、自分でBASICを直接いじったことがほとんど無いだけじゃないかな?
        "ベーマガ世代"じゃないと、BASIC開発環境のそういう情報がないのかもしれないけど。

        QuickBASICのコンパイラは存じませんが、NEC、富士通あたりは各機種用のコンパイラありましたよね。
        Hu-BASIC(ハドソン製BASIC)のコンパイラはお目にかかったことがありませんが。(MZ-80K
        だけあったそうな)

        親コメント
    • CP/M (8ビット) の時代から既にありましたよね

      親コメント
    • by Anonymous Coward

      その記述だけではよくわからんが、それってBASICのソースをexeファイル化して実行するだけのツール(なんちゃってコンパイラ)のこと?

      • by Anonymous Coward

        ソースを中間言語に落とし込んで、中間言語実行ランタイムと一緒に使うタイプの物。
        どこまでがなんちゃってかとか、使い物にならないのレベルがどこまでかによりますが、
        確か普通のDOS上のBASICインタプリタよりは速かった記憶が。(数倍くらいだったと思うけど自信が無い)

        • N88 Basicコンパイラーって、80年代後半からしばらくはそれなりに使われていたと思うんだがな。そう、DOS上のN88 Basicインタプリタでデバッグして、最後にコンパイラにかけて最大10倍程度には処理速度が上がった。それでもさらに速度を上げたかったときは部分的にCでプログラムを書いて、アセンブラソースを吐き出させて、Basicから呼び出せるように変更してMASMでアセンブルして利用する程度はやったな。
          親コメント
        • by Anonymous Coward

          その説明を聞いてやっと記憶が蘇った
          BASICソースをそのままexeに埋め込むんじゃなくって、中間コードに落とすことはやってたんだ
          ソース丸ごと埋め込むのは、バッチプログラムをcom/exe化するツールだった

        • by Anonymous Coward

          どちらかというと、ソースを見せたくないから必要だった。じゃないかと

          #MSからN-BASIC買ったんで頑張ったとか

    • by Anonymous Coward

      QuickBasicのコンパイラなら普通に仕事でバリバリ使ってたなぁ...
      DBはNetWare上のBitrive...

      あーやだやだ

    • by Anonymous Coward

      N88BASICコンパイラ、なつかし。
      basicc.comでしたっけ?

    • by Anonymous Coward

      元コメントはNECが売っていたBASICコンパイラは存在したのかと驚いてるのでしょ。
      有象無象のBASICコンパイラがいくらあろうと時代を知ってる知らないの話になるかねえ。
      日本語の解析能力すら錆びてねえか?

      • by Anonymous Coward

        それだったら
        >このコンパイラがどこのベンダの何て言う製品だったのかはまったく分からないけど、 undocumented な ROM BASIC のファンクションコールを呼んでいることからも NEC か、その BIOS のベンダのどちらかの手によるものかなという程度
        こんなコメントにはならないでしょ

    • by Anonymous Coward

      オーバーレイなんて当時のメモリ事情である程度大きなプログラム動かすには実質必須だしね

  • by Anonymous Coward on 2018年01月04日 16時37分 (#3339746)

    最適化をサボってるんじゃなくてそれが言語仕様だからだと思うぞ。VB.NETでは既存の演算子の仕様を変更できないから短絡評価するAndThenやOrElseがわざわざ追加された。C/C++系に毒され過ぎではないか。C/C++の論理演算子が短絡評価するのも言語仕様で(最適化とは関係なく)そう定められているからだけど。副作用がある場合に勝手に短絡したりしなかったりしたら結果が変わるから、原則そういうことはできない。

  • by Anonymous Coward on 2018年01月04日 17時07分 (#3339767)

    NEC純正N88BASICコンパイラは中間コード+ランタイムライブラリ(という実行エンジン)のPコードコンパイラでした。
    当時は割とポピュラーでしたよ。
    事務処理ソフトの市販パッケージソフトetcにも使われていました。
    確か、逆コンパイラも(フリーソフトだったかな?)ありました。それが使えていたら軽く終わったと思いますよ。
    もはやロストテクノロジーに近いものになっているのかな

  • by Anonymous Coward on 2018年01月04日 15時13分 (#3339697)

    増額程度の金額では無く、もっと貰うべきだと思う
    ちゃんとしたスキルを持っているなら安売りしないで、対価としてちゃんと貰わないと他のプログラマにも影響が出て迷惑

    • Re:安請け合いし過ぎ (スコア:3, すばらしい洞察)

      by Anonymous Coward on 2018年01月04日 16時02分 (#3339720)

      面白い仕事なら多少安くても請けるけど、
      面白くない仕事はきっちりお金をもらいますって事でしょ。

      プログラマとしては理解できるけど。

      親コメント
    • by Anonymous Coward on 2018年01月04日 16時28分 (#3339739)

      他の誰がどれだけ安く受けようが、俺には影響が出た事はないな。
      他人の対価が自分に影響されてしまう、哀れな自分を呪った方が良いんじゃねーか。

      親コメント
    • by nim (10479) on 2018年01月04日 16時38分 (#3339747)

      > 増額程度の金額では無く、もっと貰うべきだと思う

      今ひとつ意味がわからないのだけど。
      10万→1,000万でも「増額」でしょ?

      「増額」だと「倍以上ではない」という(明確に誤った)思い込みでもあるの?
      だとすると、額が100倍に増えた時にはなんて言うの?

      親コメント
      • 前職を離れて以来、合法のリバースエンジニアリングに飢えていた(たまに必要があっても一瞬で終わるやつばかり)のも理由のうちだけど、まぁ安いので非公開で出し直してもらいました(請けると金額がバレるっぽかったので)

        って語られてますので、「相場に比べて安い価格で請け負ったけど、その価格を公開することで相場が下がるのを避けるために、非公開にした」と読みとったのですが、どうなんですかね。

        親コメント
        • by Anonymous Coward

          > 相場に比べて安い価格で請け負ったけど、その価格を公開することで相場が下がるのを避けるために、

          これはどこから読み取りました?

    • by Anonymous Coward on 2018年01月05日 9時03分 (#3340044)

      ハッカーって言葉が誕生したのも、優秀な者とそうでない者には歴然とした差があるからだしなあ。
      凡人が無理したって長続きするはずないよ。
      ソフトウェア産業はそういった世界だと思う。

      親コメント
    • by Anonymous Coward

      増額程度って金額非公表なのにいくらだと思ったんですか?
      他が迷惑するんだっていうのも真かもしれんが別に本人が納得してるなら
      1万でもいくらでも構わないのが本来の労働ですよ

      • by Anonymous Coward

        青臭い意見だな。

        • by Anonymous Coward

          別ACですが、事実を元に主張をするならその事実の裏付けが無いとツッコまれたときに信用に関わってくるんじゃないですか?
          プログラマとしての主張というなら、信用もまたプログラマにかかってくると思いますよ。
          迷惑がどうのこうの言うなら信用を損なう行為もまた迷惑になると思うので、元コメの人にはちゃんと事実がどうなのかを示してもらいたい
          ところ。こういう意見も青臭いでしょうか?

      • by Anonymous Coward

        そうやって「安く請けるやつがいる。能力は関係ない」みたいな日本だから
        腐ってしまったのだよな。
        安い金額で納得してはいけないのだよ。

        OSSでも同じことは言えるのだが、けっきょくボランティアみたいな請負いで
        やるから技術料が取れなくなったんだよ。

        • by Anonymous Coward

          いや、違いますよ
          その仕事にやりがいを感じて本人が納得してるならそれでいいんです
          そこを未だに日本はそれだから・・・みたいに勘違いしてますが
          アメリカに行けばチャリティのために無償でやるボランティアもありますし
          そういったお金のない団体や社会的意義があれば「安い価格」でも請け負うっていう文化は普通にあります
          同時にそういったボランティアに対して持つ物が「寄付する文化」もあります

          まぁこれは商売だろ!製造システムだろ!って言われたらそうなんですが
          基本的には安くても納得していたらっていうのは別に世界的に見れば普通です
          日本のが間違っているのは「納得しているかどうか」ではなく「ソレを受けれてしまうから」でしかありませんよ

          • by Anonymous Coward

            どこの世界的な普通なのか知らんが
            資本主義の市場経済においては
            ダンピングとも捉えられる可能性が十分にある
            独占禁止法 - Wikipedia [wikipedia.org]

            この手の議論は語りつくされてるので勉強するといい

      • by Anonymous Coward

        悲報:(#3339703) 労働と趣味の区別がつかない模様

    • by Anonymous Coward

      他に食べる方法を知らんからさ。だから未だに嫁さんも貰えん。

      今も昔も、選択の余地なんてありはしなかった。

    • by Anonymous Coward

      今回はこのテの案件に飢えてたエンジニアが片手間で片付けたわけだが、それでも暗黙のカルテルを強いるというのか

    • by Anonymous Coward

      これ請け負った人はこのネタに価値を認めたから乗ったんだろう。
      こういうコメントって商売にすごく消極的で、全く金儲けのために動いてないのに何で俺の仕事は儲からないんだって顔してる感じがする。

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...