前回から引き続き質問させていただきます。
INIに保存するという方法を前は使いました。
ただ今回暗号化について考えてみたのですが、設定をDLLに保存できないかと考えました。
そこでいろいろ探してみたのですが、自分で実装するのも非常に難しそうで。。。
でもやってみるのも経験なので作ってみたいのですが、暗号化をかけつつ、DLLに保存する方法はありますでしょうか?
ヘビーユーザーの方意見をお願いします。
設定をDLLに保存したい
設定をDLLに保存したい
===============================
MyHomePage;; raiden.no.land.to/
===============================
MyHomePage;; raiden.no.land.to/
===============================
ABで生成されるDLLに限ったことではないのですが、DLL内には多数のNULL空間があります。
そこに書き込んでみればどうでしょうか?
※NULL空間かどうかを判定するのは機械語レベルでやってたりするとそうとうタルいです。とりあえず0x00(&H0)が大量に続いている場所を探すのが妥当かと。
追記:ABのDLLを一つ調べてみたのですが、DLLファイルの0x0300~0x0FFFのあたり(10進数で書くと、768番地~4095番地かな?)が空いていました。ただし、書き換えても問題ないとは限りません。十分注意して(機械語を書き換えないように と言う意味でも)やってください。
そこに書き込んでみればどうでしょうか?
※NULL空間かどうかを判定するのは機械語レベルでやってたりするとそうとうタルいです。とりあえず0x00(&H0)が大量に続いている場所を探すのが妥当かと。
追記:ABのDLLを一つ調べてみたのですが、DLLファイルの0x0300~0x0FFFのあたり(10進数で書くと、768番地~4095番地かな?)が空いていました。ただし、書き換えても問題ないとは限りません。十分注意して(機械語を書き換えないように と言う意味でも)やってください。
最後に編集したユーザー konisi [ 2006年8月27日(日) 20:51 ], 累計 1 回
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
それ以前に・・・
自分が使っているDLLは書き込みオープンできません。
ちょっと試してみたのですが、Declareで宣言した関数を含むDLLは、読み取りアクセスはできても書き込みアクセスはできません。
だから、自分の使っていないDLLにしか設定を書き込めないことになります。
自分は使わないけど保存用のDLLがあるってのは、何だか矛盾していると思いますが・・・。
どうしても設定ファイルを出したくないなら、実行ファイルを二つ作って(甲、乙)、
1.甲が終了間際に乙を起動
2.乙に保存内容を渡して甲は終了
3.乙は終了した甲のNULL領域に設定を書き込む
という流れが考えられますが・・・↓同じアイディアでアイコンを変えるサンプル。
http://www.activebasic.com/forum/viewtopic.php?t=1154
それより、ゲストさんの仰るとおり暗号化して普通に書き込んだほうが安全かと思います。
隠しファイルのシステムファイル属性でも付ければ大丈夫ではないでしょうか?
ちょっと試してみたのですが、Declareで宣言した関数を含むDLLは、読み取りアクセスはできても書き込みアクセスはできません。
だから、自分の使っていないDLLにしか設定を書き込めないことになります。
自分は使わないけど保存用のDLLがあるってのは、何だか矛盾していると思いますが・・・。
どうしても設定ファイルを出したくないなら、実行ファイルを二つ作って(甲、乙)、
1.甲が終了間際に乙を起動
2.乙に保存内容を渡して甲は終了
3.乙は終了した甲のNULL領域に設定を書き込む
という流れが考えられますが・・・↓同じアイディアでアイコンを変えるサンプル。
http://www.activebasic.com/forum/viewtopic.php?t=1154
それより、ゲストさんの仰るとおり暗号化して普通に書き込んだほうが安全かと思います。
隠しファイルのシステムファイル属性でも付ければ大丈夫ではないでしょうか?