タグ

ブックマーク / hangstuck.com (3)

  • C言語で作成した実行可能ファイルのシンボル情報を削除|情報漏洩を防ごう

    業務などでC/C++言語で作ったプログラム(実行可能ファイル)をリリースしたり他の人に渡すことがあると思います。 その時にシンボル情報というものに気をつけていますでしょうか? シンボル情報というのは関数名とか変数名などの情報です。 例えばデバッガなんかで変数の値をのぞいたり、特定の関数まで実行したりできますよね。 それは実行可能ファイルにシンボル情報があるからできるわけです。どこにどんな変数や関数があるかラベルづけされているわけですね。 このように実行可能ファイルにはシンボル情報が含まれているんですが、場合によってはこれが情報漏洩の原因になりかねません。 デバッグ用の関数や変数や隠し機能などが漏れてしまう可能性があります。また、ビルドした時のパス情報なども含まれるためにユーザ名なんかもわかってしまうかもです。 そこで今回は、実行可能ファイルからシンボル情報をみる方法を示したうえで、それを削

    C言語で作成した実行可能ファイルのシンボル情報を削除|情報漏洩を防ごう
  • Emacs ガベージコレクションの発動頻度設定|gc-cons-threshold

    さて前回は下記の記事を書きました。 https://hangstuck.com/emacs-bidi-display-reordering/ 今回もるびきちさん@日刊Emacs のおすすめ初期設定初期設定 (Software Design 2014年7月号掲載記事) の中の項目を見ていこうと思いきます。 おすすめ初期設定の中に下記のような設定があります。なんとなく変数名からわかるかもしれませんが、ガベージコレクトの発動する上限のメモリ使用量を増やしています。それにより、ガベージコレクタが発動しにくくなり、全体的に処理が軽くなるという寸法です。 gc-cons-threshold がその閾値です。デフォルトでは400000もしくは800000になっているかと思います。それを、下記の設定では10倍にしています。 ;; GCを減らして軽くする. (setq gc-cons-threshold (

    Emacs ガベージコレクションの発動頻度設定|gc-cons-threshold
  • Emacs の設定ファイルを複数環境で共有する方法|user-login-name

    Emacs を使うなかで設定ファイル(通称 .emacs)を複数の環境で共有したい場合があります。複数のOS(Windows & Linux など)で1つの .emacs を共有する時や、 tramp(Windows なら plink)で他の端末にリモートログインしたりする時ですね。 こういう時に、ログイン名(ユーザー名)で処理を切り替えると便利なときがあります。例えばこっちの環境ではProxyの設定が必要だけどあっちの環境ではProxyの設定は不要、とかですね。そんなときは、 user-login-name を使いましょう。下記は、ログイン名(ユーザー名)が「hoge_user_name」の時だけプロキシ設定をする記述する例です。 ;; ログイン名に応じてプロキシの設定を行う. (if (equal (user-login-name) "hoge_user_name") (setq ur

    Emacs の設定ファイルを複数環境で共有する方法|user-login-name
  • 1