プログラミングの作業に何の価値も見出せなくなってしまったd金魚による日記 このページをアンテナに追加 RSSフィード

 iTunes Music Store(Japan) なかのひと あわせて読みたいブログパーツ
|

0001 | 00 |
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
2008 | 01 | 02 | 03 | 05 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 |
2010 | 03 | 04 | 06 | 07 | 09 | 10 | 11 |
2011 | 01 | 02 | 10 |
2012 | 04 |
2013 | 01 | 05 | 06 | 07 | 08 | 10 |
2014 | 02 | 03 | 05 | 09 |
2015 | 04 |
2016 | 09 | 11 | 12 |
はてな一覧
アンテナに追加
私のアンテナ
私のダイアリー
私のアーカイブ
私のアイデア
私のブックマーク
私のグループ
私のキーワード
ニュース系、今まで続いているシリーズモノの読み物
dKingyo Utility Toolkit Projectのリリース情報
やっぱり暗号化は大人の味(笑)
プログラムのパッキング方法を調べよ
ココが厳しいよMinGW
ライブラリアン通信
ゲームプログラミングどうしよう
CRCについて
ビット演算練習
d金魚の今更Ajax
Windows Tips
VC6 Tips
Win32 WTL Tips
Ruby for C++ User
Ruby Tips
今日のRubyで嵌った事
正規表現PIECE
書きかけ
続く・・・

私のダイアリーの人気記事
新しくブックマークされた記事


あまり、役に立たなそうな個人的に調べた情報や妄想に耽った事、今 勉強している事ヒソヒソと公開していたりします。 | 登録してくれている方々 | d金魚にメール | 当サイトは640x480の画面解像度に対応しています。
日記へのリンク、アンリンクはフリーですが、selfタグのついている部分のコンテンツの引用はご遠慮願います。ご協力よろしくお願いします。


 | 

2004-07-22 dkutil_c 0.17 release 完了!

Empire Tohu screen shot

[][][][] dkutil_c 0.17 release 完了!です。  dkutil_c 0.17 release 完了!です。を含むブックマーク  dkutil_c 0.17 release 完了!です。のブックマークコメント

詳しくはこちら

http://dkingyoutility.sourceforge.jp/

ダウンはこちら

http://prdownloads.sourceforge.jp/dkingyoutility/10424/dkutilc017.zip

[]最近、Sky氏がコードジェネレータ?を公開した模様 最近、Sky氏がコードジェネレータ?を公開した模様を含むブックマーク 最近、Sky氏がコードジェネレータ?を公開した模様のブックマークコメント

http://beautiful.homelinux.net/~sky-software/diary/?date=20040718

あとで、いろいろといじってみる予定。

[][][] signatuan 0.007 release...  signatuan 0.007 release...を含むブックマーク  signatuan 0.007 release...のブックマークコメント

どうもsignatuanのバージョン表示が間違っていた模様・・・

ソースバイナリはこちらから

http://www33.tok2.com/home/dca/dkutil.html

[][]Empire Tohu で遊んだ記録 Empire Tohu で遊んだ記録を含むブックマーク Empire Tohu で遊んだ記録のブックマークコメント

やっと勝てた・・・、(今更かよ・・・)

コツとしては働く豆腐を大量生産して工場フル稼働のようです。

http://studiokingyo.fc2web.com/shisui/empire_tohu.html

関連:d:id:studiokingyo:20040717#p1

2004-07-21 夏を制する者は受験を制すらC

[][]戦略的?大学受験勉強戦略的?大学受験勉強法を含むブックマーク 戦略的?大学受験勉強法のブックマークコメント

用意するもの

  • 過去問
  • 過去問の内容が良くわかる、良く印象に残る、過去問とマップさせることの出来る資料
  • ノート

フローチャート

  • 過去問を買ってくる。
  • 過去問を解く。
  • 分からないところをメモして、そのメモを元に資料を買ってくる
  • 資料を見て、もう一回過去問を解く
  • それでも、分からないから過去問に沢山メモ*1をしておく。*2
  • 過去問を5回くらい丸写しとかやって、覚える。
  • 丸暗記した解答で腑に落ちないところをメモを頼りに解釈する。
  • 各、大学ダウンロードできる過去問で最終チェック。
  • 見事すべて覚えていれば終了。1週間後にまた行う。

[][]付録 私のC言語習得の経緯 アプリケーションを作れるまで・・・。 付録 私のC言語習得の経緯 アプリケーションを作れるまで・・・。を含むブックマーク 付録 私のC言語習得の経緯 アプリケーションを作れるまで・・・。のブックマークコメント

ちなみに今後必要なのは

関連 関連を含むブックマーク 関連のブックマークコメント

[]最近思うに・・・ 最近思うに・・・を含むブックマーク 最近思うに・・・のブックマークコメント

何回も言うが、大人に近づいてくると(17から18前後)本当に時間が短く感じるようになります。

また、自己投資を躊躇うようになり、保守的になっていくようです。*7

出来る事だけをやろうとする傾向に傾きます。

まだ、若いんだから・・・チャレンジャー精神を持たないと・・・、ねぇ。

と、自分に年寄りくさい言葉をかけてみる・・・。むぅ。あと自分が感じる人生の約半分の時間・・・。どーにかせねば。E感じにしたいよ〜〜!!ヽ(`Д´)ノ

[][]fox-toolkit dev 1.34 fox-toolkit dev 1.34を含むブックマーク fox-toolkit dev 1.34のブックマークコメント

http://www.fox-toolkit.org

Amiga IFF画像イメージがサポートされたらしいぞ。

[]検索賢人 ceek.jp 検索賢人 ceek.jpを含むブックマーク 検索賢人 ceek.jpのブックマークコメント

http://www.ceek.jp/

なんか8個の検索エンジンから搾り出してくれる検索サイトのようです。

WayBack Machineに対応しています。

これは好感^^

[][][]printfは一番難しい関数printfは一番難しい関数?を含むブックマーク printfは一番難しい関数?のブックマークコメント

実は、今までprintfを一番使いこなして無かった・・・。

特に"%02x"とか"%08x"とかまったく分からなかった。

でも、最近になってやっと気づいた。

%02xは

  • % 書式宣言
  • 0 0で埋める
  • 2 数が無かったら最大で2個埋める*8
  • x 16進数で出力

という感じらしい・・・。

検索エンジン等は%,|や&を条件検索子ととらえるようで・・・

どうも、この手の文章が引っかかりにくくて今まできました・・・。

ムゥ。

追記:この%の後に続く文字をgoogle:書式指定子と言うらしいです。

なのでgoogle:printf 書式指定子と検索すればいろいろな種類の書式指定子が出てくると思います。以上^^

[][][]signatuan 0.006リリース signatuan 0.006リリースを含むブックマーク signatuan 0.006リリースのブックマークコメント

なんか0.005にバグがあったので・・・

使い方

signatuan.exe [ファイル名][ファイル名]...

感想とかくれるととてもうれc

及ばずながらfasthashと競争したら・・・

fasthashの方が同じ条件で1,25倍ほど速かった・・・。

http://www.vector.co.jp/soft/win95/util/se263655.html

[][][]C++ソースコードをHTMLに変換する C++のソースコードをHTMLに変換するを含むブックマーク C++のソースコードをHTMLに変換するのブックマークコメント

そう、HTMLに変換するソフトって結構ありそうで無いんですよ。

昔は

http://rd.vector.co.jp/soft/win95/prog/se237674.html

を使っていたが、

今は、

http://santamartadotnet.hp.infoseek.co.jp/releases/freewares/codetohtml.html

http://www.vector.co.jp/soft/win95/net/se275361.html

を使っている。

しかし、一長一短がある。

前者はヘッダやフッダを埋め込めるのに対し、後者は埋め込めない・・・。

これは私にとって「ナンダカナ〜」という事になってしまう。

ヴァージョンアップを待つしかないか^^;

もし、イイ感じのソフトをご存知でしたら、メールまたはコメントで情報、よろしくお願いします。m(_ _)m

*1:どの資料を見ると分かるとか、ヒントとか、解決の糸口とか、類似問題、パターンとか

*2:場合によっては、ノートに書き出しておくとか、過去問をバラしてノートにはっつけて、いろいろメモリまくる

*3:VisualC++とか 英語に自信のある方はDev-C++でもhttp://www.bloodshed.net/devcpp.html

*4:熟読のレベルは見なくても内容が大体思い出せる程度ぐらい

*5:これは私にとってバッドノウハウだった・・・。多分、ここで挫折する人が多いと思う。

*6:STLやboost,glibでもいいかも

*7:ちょっと速すぎないか?ワタシ・・・

*8:たとえば、1とか2ならば それぞれ、01 02 となるようです。

2004-07-20 やっぱり暗号化は大人の味(笑) part6

[][][]やっぱりそーすふぉーぢどっとねっとだね^^ やっぱりそーすふぉーぢどっとねっとだね^^を含むブックマーク やっぱりそーすふぉーぢどっとねっとだね^^のブックマークコメント

最近、SHA224,384系のプログラムをチマチマと組んでいた・・・ら、

http://sourceforge.net/projects/sha/

既にライセンスが緩いフリーライブラリはあるようで・・・。(´Д⊂グスン

私の苦労っていったい・・・

という事で格言欲しい機能があったらsourceforge.netで探せ

以上!

で、例によって暗号化系リンク集

SHA draft ??

http://www.securitytechnet.com/resource/ietf/ind-draft/draft-nesser-otp-sha-256-384-512-00.txt

ハッシュアルゴリズム一覧

http://www.aladdin.co.jp/etoken/algorithms.html

http://www.wani.net/bak/crypt/hash.htm

WikiPediaでのMD5の紹介 (問題点も指摘している)

http://ja.wikipedia.org/wiki/MD5

RIPEMDのソース

http://www.geocities.co.jp/SiliconValley-Oakland/8878/lab19/lab19.html

マニアックなフィンガープリントアルゴリズム?

  • PANAMA
  • TIGER
  • DSS (Digital Signature Standard)

Fast Project

http://www10.plala.or.jp/fastp/

http://hp.vector.co.jp/authors/VA033110/

なんか、かなり沢山のシグネチャ生成アルゴリズムがすでに作られているらしい。

さらにアセンブラ・・・・。

私の苦労っていったい・・・。(´Д⊂グスン

ぶっちゃけ、このDLL使ってアプリケーション作った方が幸せって奴だろう・・・。

[][][]と、言うことで、FastHash.dllのラッパーでも と、言うことで、FastHash.dllのラッパーでもを含むブックマーク と、言うことで、FastHash.dllのラッパーでものブックマークコメント

このソースコードのライセンスはNYSLです。

#include "FastHashDll.h"

namespace dkutil{

class FastHashDllManager{
  static const char *fasthash_func_name[];
  ///DLLを管理するクラス
  DLLManager mgr;
  ///fasthashの関数をロード
  bool LoadFastHashFunction(const char *filename,DLLManager &d){
    if(NULL==filename){
      return false;
    }
    if(false==d.reset(filename)){
      return false;
    }
    for(int i=0;fasthash_func_name[i] != NULL;i++)
    {
      if(false==d.load_function(fasthash_func_name[i])){
        return false;
      }
    }
#  define FHLOAD(s) m##s = (s##_Type)d.find(#s)
    FHLOAD(CreateHashEngineObject);
    FHLOAD(CreateHashValueObject);
    FHLOAD(CloseHashEngineHandle);
    FHLOAD(CloseHashValueHandle);
    FHLOAD(ComputeHash);
    FHLOAD(ModifyHash);
    FHLOAD(InitHashValue);
    FHLOAD(GetHashValue);
    FHLOAD(GetHashValueFromEngine);
    FHLOAD(GetHashType);
    FHLOAD(GetAllHashTypeNum);
    FHLOAD(EnumHashType);
    FHLOAD(GetHashTypeInfo);
    FHLOAD(HashValueToHashString);
    FHLOAD(GetDllVersion);
    FHLOAD(GetDllVersionString);
#  undef FHLOAD

    return true;
  }
public:
  typedef HHASH_ENGINE (WINAPI *CreateHashEngineObject_Type)(
    DWORD dwHashType);
  typedef HHASH_VALUE (WINAPI *CreateHashValueObject_Type)(
    HHASH_ENGINE hEngine);
  typedef BOOL (WINAPI *CloseHashEngineHandle_Type)(
    HHASH_ENGINE hEngine);
  typedef BOOL (WINAPI *CloseHashValueHandle_Type)(
    HHASH_VALUE hValue);
  typedef BOOL (WINAPI *ComputeHash_Type)(
    HHASH_ENGINE hEngine, LPCVOID lpBuffer, 
    DWORD dwNumberOfBytesToCompute);
  typedef BOOL (WINAPI *ModifyHash_Type)(
    HHASH_ENGINE hEngine, DWORD dwRemove, DWORD dwAdd);
  typedef BOOL (WINAPI *InitHashValue_Type)(
    HHASH_ENGINE hEngine);
  typedef DWORD (WINAPI *GetHashValue_Type)(
    HHASH_VALUE hValue, LPVOID lpBuffer, DWORD dwHashType);
  typedef DWORD (WINAPI *GetHashValueFromEngine_Type)(
    HHASH_ENGINE hEngine, LPVOID lpBuffer, DWORD dwHashType);
  typedef DWORD (WINAPI *GetHashType_Type)(
    HHASH_ENGINE hEngine);
  typedef DWORD (WINAPI *GetAllHashTypeNum_Type)(VOID);
  typedef BOOL (WINAPI *EnumHashType_Type)(
    DWORD dwIndex, LPTSTR lpName, LPDWORD lpdwHashType,
    LPDWORD lpdwHashValueSize);
  typedef BOOL (WINAPI *GetHashTypeInfo_Type)(
    DWORD dwHashType, LPTSTR lpName, LPDWORD lpdwHashValueSize);
  typedef VOID (WINAPI *HashValueToHashString_Type)(
    LPTSTR lpString, LPCVOID lpValue, DWORD dwHashSize, BOOL bSmallString);
  typedef BOOL (WINAPI *GetDllVersion_Type)(
    LPDWORD lpMajorVersion, LPDWORD lpMinorVersion);
  typedef BOOL (WINAPI *GetDllVersionString_Type)(LPTSTR lpBuffer);
private:
  CreateHashEngineObject_Type    mCreateHashEngineObject;
  CreateHashValueObject_Type  mCreateHashValueObject;
  CloseHashEngineHandle_Type  mCloseHashEngineHandle;
  CloseHashValueHandle_Type    mCloseHashValueHandle;
  ComputeHash_Type          mComputeHash;
  ModifyHash_Type           mModifyHash;
  InitHashValue_Type         mInitHashValue;
  GetHashValue_Type          mGetHashValue;
  GetHashValueFromEngine_Type     mGetHashValueFromEngine;
  GetHashType_Type                mGetHashType;
  GetAllHashTypeNum_Type          mGetAllHashTypeNum;
  EnumHashType_Type                mEnumHashType;
  GetHashTypeInfo_Type            mGetHashTypeInfo;
  HashValueToHashString_Type      mHashValueToHashString;
  GetDllVersion_Type              mGetDllVersion;
  GetDllVersionString_Type         mGetDllVersionString;

  bool mInited;

public:
  FastHashDllManager(parm_string dllname){
    reset(dllname);
  }
  ~FastHashDllManager(){}

  bool reset(parm_string dllname){
    mInited = LoadFastHashFunction(dllname.c_str(),mgr);
    return mInited;
  }
  void *find(parm_string function_name){
    return mgr.find(function_name.c_str());
  }
  bool empty()const{
    return !mInited;
  }
  HHASH_ENGINE  CreateHashEngineObject(DWORD dwHashType){
    return mCreateHashEngineObject(dwHashType);
  }
  HHASH_VALUE  CreateHashValueObject(HHASH_ENGINE hEngine){
    return mCreateHashValueObject(hEngine);
  }
  BOOL  CloseHashEngineHandle(HHASH_ENGINE hEngine){
    return mCloseHashEngineHandle(hEngine);
  }
  BOOL  CloseHashValueHandle(HHASH_VALUE hValue){
    return mCloseHashValueHandle(hValue);
  }
  BOOL  ComputeHash(HHASH_ENGINE hEngine, LPCVOID lpBuffer,
    DWORD dwNumberOfBytesToCompute){
    return mComputeHash(hEngine,lpBuffer,
      dwNumberOfBytesToCompute);
  }
  BOOL  ModifyHash(HHASH_ENGINE hEngine, DWORD dwRemove,
    DWORD dwAdd){
    return mModifyHash(hEngine,dwRemove,dwAdd);
  }
  BOOL  InitHashValue(HHASH_ENGINE hEngine){
    return mInitHashValue(hEngine);
  }
  DWORD  GetHashValue(HHASH_VALUE hValue, LPVOID lpBuffer,
    DWORD dwHashType){
    return mGetHashValue(hValue,lpBuffer,dwHashType);
  }
  DWORD  GetHashValueFromEngine(HHASH_ENGINE hEngine,
    LPVOID lpBuffer, DWORD dwHashType){
    return mGetHashValueFromEngine(hEngine,
      lpBuffer,dwHashType);
  }
  DWORD  GetHashType(HHASH_ENGINE hEngine){
    return mGetHashType(hEngine);
  }
  DWORD  GetAllHashTypeNum(VOID){
    return mGetAllHashTypeNum();
  }
  BOOL  EnumHashType(DWORD dwIndex, LPTSTR lpName,
    LPDWORD lpdwHashType,
    LPDWORD lpdwHashValueSize){
    return mEnumHashType(dwIndex,lpName,
      lpdwHashType,lpdwHashValueSize);
  }
  BOOL  GetHashTypeInfo(DWORD dwHashType, LPTSTR lpName,
    LPDWORD lpdwHashValueSize){
    return mGetHashTypeInfo(dwHashType,lpName,lpdwHashValueSize);
  }
  VOID  HashValueToHashString(LPTSTR lpString, LPCVOID lpValue,
    DWORD dwHashSize, BOOL bSmallString){
    mHashValueToHashString(lpString,lpValue,
      dwHashSize,bSmallString);
  }
  BOOL  GetDllVersion(LPDWORD lpMajorVersion,
    LPDWORD lpMinorVersion){
    return mGetDllVersion(lpMajorVersion,lpMinorVersion);
  }
  
  BOOL  GetDllVersionString(LPTSTR lpBuffer){
    return mGetDllVersionString(lpBuffer);
  }

};

const char *FastHashDllManager::fasthash_func_name[]={
    "CreateHashEngineObject",
    "CreateHashValueObject",
    "CloseHashEngineHandle",
    "CloseHashValueHandle",
    "ComputeHash",
    "ModifyHash",
    "InitHashValue",
    "GetHashValue",
    "GetHashValueFromEngine",
    "GetHashType",
    "GetAllHashTypeNum",
    "EnumHashType",
    "GetHashTypeInfo",
    "HashValueToHashString",
    "GetDllVersion",
    "GetDllVersionString",
    NULL
  };

}//end of dkutil namespace

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040720

2004-07-19 std::vectorについて、やっぱり思う方はいらっしゃるようで・・・

[][]std::vectorスピードとか・・・。 std::vectorのスピードとか・・・。を含むブックマーク std::vectorのスピードとか・・・。のブックマークコメント

d:id:Cryolite:20040714#p3

より。std::vectorについてだ。

私はstd::vectorは結構、優秀な方のコンテナだと思うし、*1使うときには使う。

しかしだ・・・。あれだ!std::vector

C言語でも使える型*2にははっきり言って使えないのだ。

例えば、unsigned char型をpush_backしていたら普通の動的確保+memcpyの100倍かかっちゃた。って事もある。*3

一応、std::vectorの使い方にも裏技もある。

http://www.s34.co.jp/cpptechdoc/article/vectorastemp/

しかしだ、この裏技を使うと、size()が書き込んだ値を返してくれないのだ。*4

やっぱり、テンポラリバッファとしての利用が前提のようだ。

個人的にはやっぱりそのページでも紹介されているようにscoped_arrayを使った方が幸せかと・・・。

という事でこのジレンマをどうにかすべく、車輪の再発明をしたのが、byte_buffer*5 と scoped_buffer だ。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutilBuffer.h

scoped_array<BYTE> に size()とかresize()を付加したものだ。

このクラスは一番 使用頻度が高い。

私のC++ソースコードの中にこのscoped_bufferが登場しないソースはかなり珍しい。

それくらい、今は重宝している。

[][]memcpyの速さ・・・意外なのは・・・ memcpyの速さ・・・意外なのは・・・を含むブックマーク memcpyの速さ・・・意外なのは・・・のブックマークコメント

ちなみに、リンク元はSTLコンテナのオーバーヘッドについてのお話だったが、何だかんだいって、memcpyがほぼ最速なのは意外だった。

http://beautiful.homelinux.net/~sky-software/diary/?date=20040703

http://beautiful.homelinux.net/~sky-software/diary/?date=20040704

d:id:studiokingyo:20040621

[]STLのセオリーは? STLのセオリーは?を含むブックマーク STLのセオリーは?のブックマークコメント

というか、std::vectorはどのくらいのメモリサイズを使うか、分かっているから使うのがセオリーってモンでしょ!*6

普通、どのくらい使うかわからない場合はstd::dequeを私は多用する。

ちなみにstd::listは一つの要素が1024Byte以上、または、イテレータ無効ではマズイ時じゃないと使わない主義・・・。((12バイトほど余計に使うのはモッタイナイよ!

std::mapは挿入、削除が頻繁なものに使う。多分、STLの中でこれがstd::stringに次いで、使用頻度が高いと思う。

え?stackとqueueは? どうせdequeのラッパーならdeque使った方がマシ。よほど明示的にしたいなら使っても良いと思うが・・・イテレータがないのはつらいよ。

[]やっぱりvectorはつらいよ。 やっぱりvectorはつらいよ。を含むブックマーク やっぱりvectorはつらいよ。のブックマークコメント

私のテスト結果 (critical section 付き rtdtscrdtsc命令により計測)

さて、どちらが速いのか?
vector:	RealCPUClock:767684362.000000
char:	RealCPUClock:8060938.000000
char の方が約95倍速い・・・。むむ〜やっぱり大変ですねぇ。

[][]文字列処理ライブラリ懇願 文字列処理ライブラリ懇願を含むブックマーク 文字列処理ライブラリ懇願のブックマークコメント

特に文字列処理・・・。これは忌忌しい問題だ。

処理結果は同じなのに、何故かライセンスの緩いソースコードはなかなか落ちていない・・・。

UNICODE、SJIS,JIS,その他文字コードイロイロ、パーサースキャナーコンバーターイロイロ。

と、私のプログラミング時間のうち3分の1はそれらに費やされていると思う。

という事で、実は私も見たことないので、ちょっと情報求めちゃってもイイですか?

どちら様かご存知でしたら。メール、または、コメントにでもよろしくお願いします。m(_ _)m

それから、こちらの方の他力本願もどちら様かご存知でしたら・・・

d:id:studiokingyo:20040704

[][][][]リアルタイムテキストビューワーをちと・・・。 リアルタイムテキストビューワーをちと・・・。を含むブックマーク リアルタイムテキストビューワーをちと・・・。のブックマークコメント

リアルタイムテキストビューワーが欲しかったので、FOX-toolkitに付いてくるadieというエディターのソースの2行を無効にしてリアルタイムテキストビューワー化させた。

ソースバイナリはこちらから。

http://www33.tok2.com/home/dca/dkutil.html

*1:と、イイマスカ、STLに優秀じゃないコンテナは無いね^^;場面によってはまったく使えないものもあるけど・・・

*2:プレーンなんたらかんたら型 スマン、調べなおす

*3:実際計った。http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutil_test/tested.cpp?rev=1.12&content-type=text/vnd.viewcvs-markup void Test_VectorSpeed()って奴

*4:まぁ、言われて見れば当たり前だが・・・

*5:未完成

*6:とか言ってみる

*7:dkutilにはちょっと難アリのCommandLineParserクラスがあるが・・・。

*8:案の定これもdkutilライブラリにぶち込んでみた。dkcFileSystem.hやpath_stringクラスなんてのも作ったけど、信用できるレベルには程遠い。

*9:確か・・・、ICU(国際基督教大学 って違うっての) ってライブラリがあったけど、ライセンス良くわからない ライセンス解釈どちら様かご存知ですか?m(_ _)m

*10:そんなものあったら苦労しないよ・・・ 似たような物に・・・SwingだっけSwigだっけ?

2004-07-18 ビット演算練習 part2

[][]フラグアップ、フラグダウン、マクロ #define C言語 フラグアップ、フラグダウン、マクロ #define C言語を含むブックマーク フラグアップ、フラグダウン、マクロ #define C言語のブックマークコメント

どもども、dです。

最近、ちょっと疑問が・・・、やはりビット演算は慣れるまで難Cのです。

前回の苦闘はd:id:studiokingyo:20040522ですが、

今回は、ビット入れ替えではなくフラグアップダウンについての苦闘です。

今、こんな感じでフラグアップ、ダウンのマクロを実装しています・・・。(うわ〜。だせぇ。

///スマン、こんなダサい実装で・・・。
#define DKUTIL_FLAG_DOWN(x,n) {(x & n) ? x |= (x^n) : 0;}//{x |= (x^n);}
///フラグアップマクロ。これは常識
#define DKUTIL_FLAG_UP(x,n) {x |= n;}

実の所・・・、私、これしかやっぱり思いつかないです・・・。

テストの通り、数学的思考能力が弱いらしい。(´Д⊂グスン

三項演算子もif文も使わないで、ビット演算だけでフラグダウンの処理は記述できないだろうか?

どうか、皆様、公式がありましたら是非、コメントメール、お待ちしております。m(_ _)m

[]これはどうか? これはどうか?を含むブックマーク これはどうか?のブックマークコメント

[][][][]定型文丸暗記 ビットフラグ演算 定型文丸暗記 ビットフラグ演算を含むブックマーク 定型文丸暗記 ビットフラグ演算のブックマークコメント

///http://d.hatena.ne.jp/paserry/ paserry氏に教えていただく。m(_ _)m 
#define DKUTIL_FLAG_DOWN(x,n) {x &= ~n;}
///フラグアップマクロ。これは常識
#define DKUTIL_FLAG_UP(x,n) {x |= n;}

///UINT系変数の右からNビット目のフラグをアップさせる。

#define DKUTIL_FLAG_UP_N(x,n) DKUTIL_FLAG_UP(x,(1 << n))
///@see DKUTIL_FLAG_UP_N() 右からnビット目のフラグをダウンさせる。

#define DKUTIL_FLAG_DOWN_N(x,n) DKUTIL_FLAG_DOWN(x,( 1<<n ))

と、言うことで、これは丸暗記事項・・・。

あと、DKUTIL_FLAG_UP_N()とかつけてみた。

かなり、フラグの管理には惑わされれた経験があるので、

一時期、ヘナチョコクラス作った事ある。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dkutilFlag.h

[]最近、試して見たSTG*1 WARNING FOREVER 最近、試して見たSTG*1 WARNING FOREVERを含むブックマーク 最近、試して見たSTG*1 WARNING FOREVERのブックマークコメント

ボスを倒していくシューティングです。ボスがだんだんパワーアップして行きます。

個人的に思うに、これははっきり言って凄い。

私はまったく、このアルゴリズムを考える事が出来ない・・・。

再現はコスト度外視で出来そうだが、どうも上手く行くとは限らなそう・・・。

http://www18.big.or.jp/~hikoza/

こちらからダウン。

[][]暗号系 リファ 暗号系 リファを含むブックマーク 暗号系 リファのブックマークコメント

http://www.google.com/search?q=%2Brc6+%2BCreateFile&sourceid=mozilla-search&num=20

なんかキ・キ・キ・キタ━━━━━━(゜∀゜)━━━━━━!!!!みたい。

そうかそうか。RC6のソースがほCか。

スマン、資料少ないからあと、1年程でNYSLで公開するから勘弁・・・。

後・・・Rijndaelは実装できているんだけど・・・幾分、ライセンスが・・・

d:id:studiokingyo:20040716#p2

paserrypaserry 2004/07/16 23:57 はじめまして。こんばんわ。x &= ~nじゃだめでしょうか?私もビット演算苦手なのではずしてそうですが・・

studiokingyostudiokingyo 2004/07/17 00:43 こんばんは、はじめまして、コメントありがとうございます。C言語のビット演算子を確認して~を使ってはどうか とちょっと紙とエディタをじろじろ見ていいましたら、コメントを書いて下さる方が私の日記にもいらっしゃったんだ〜。とちょっとジーンとしてしまいした^^

paserrypaserry 2004/07/17 02:10 うんうん。コメントもらうとうれしいですね。特にプログラミングの話してると誰かみたりするのかなーとか、そういう不安がありますからね^^;d

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040718

2004-07-17 次期OSの新機能の焦点

studiokingyo2004-07-17

[]なんたらかんたらエンパイアみたいな奴 EmpireTohu なんたらかんたらエンパイアみたいな奴 EmpireTohuを含むブックマーク なんたらかんたらエンパイアみたいな奴 EmpireTohuのブックマークコメント

実は、私、1年程前から、i-saint氏のファンなのですが、ついにリリースきました。RTS EmpireTohuです。

豆腐が戦いまくります。面白いです^^

なんというか、コマンダーになった充実感と言うかなんと言うか?そんな爽快感がこのテの操作性のあるゲームにはありますよ^^

http://i-saint.abz.jp/

[][]次期OSの新機能の焦点 次期OSの新機能の焦点を含むブックマーク 次期OSの新機能の焦点のブックマークコメント

http://www.japan.cnet.com/news/ent/story/0,2000047623,20069586,00.htm

 どうも、次期OSの焦点がデスクトップに散らかったファイルからいかに自分の欲しいファイルを検索するからしいのです。

 私が思うに、このはてなだいありーのシステムだって捨てたモンじゃないと思う。

「*」をつけた後、カッコの中にキーワードを入れる。それをクリックするとそのキーワード関連の日記の内容を表示できる。

事実、キーワードを自分で覚えておけば十分だと思う。

 しかし、事実、意味は同じなのだけど、キーワードが違うと言うのもある。

例えば、英語 文法というキーワードGoogleで検索するとするだろう。

しかし、英文法というキーワードのみが入っているページは検索されないだろう・・・。

ココらへんの改善が焦点なのだと思う。

 ちょっと考えてみた結果、英語 文法 というものと 英文法 と言うキーワードを「関連性があるよ」みたいにマップしちゃえばイイのかな?

そして、検索システムはそれらの関連性のあるファイルも表示する・・・。みたいなのはどうだろう。

ちと待ち、今、調べ中・・・。

このようなアルゴリズムはどうだろうか?単純だけにBESTだったりしなかったり?


リンク元d:id:shimitei:20040712#prog

2004-07-16 ウチの日本語訳の無能っぷりをとくとご覧あれ

[][][]dkutil_c 0.2 リリースdkutil_c 0.2 リリース前を含むブックマーク dkutil_c 0.2 リリース前のブックマークコメント

どうも、dです。早速ですが、タイトルどおりです。(−−;

ご覧あれじゃねぇ〜 このバカチンが〜!!!  川`0´)/☆#T。T) アウッ!

ついにdkutil_cのリリースがもうすぐになりました。

dkutil_cには新しく、

等、需要のなさそうな・・・(´Д⊂グスン

アルゴリズムを寄せ集めてゴテゴテとしたあの自転車*1やトラック*2みたいにパワーアップしました。

で、出来ればTwofishとRijndaelを付けたいのですが、どうも・・・、Rijndaelのソースコードのライセンスの解釈に手間取ってまして・・・、ちょっと皆様からお知恵をお借りしたいのです。

どうか、間違いや不手際がありましたら、コメントメール、お待ちしております。m(_ _)m

[][][]AES Licence d金魚の独断的解釈*3 添削をお願いします。m(_ _)m AES Licence d金魚の独断的解釈*3 添削をお願いします。m(_ _)mを含むブックマーク AES Licence d金魚の独断的解釈*3 添削をお願いします。m(_ _)mのブックマークコメント

以下のライセンスはBrian Gladman氏のHPにあるRijndaelのソースコードのライセンスです。

調べてみた結果、このライセンスは"AES Licence"

http://www.rocksoft.com/rocksoft/reference/misc_aeslic.html

と言うそうです。

Copyright (c) 2003, Dr Brian Gladman, Worcester, UK. All rights reserved.

2003年に作られて 英国博士 Brian Gladman が著作権を保有しています。

LICENSE TERMS

ライセンス条件


The free distribution and use of this software in both source and binary

form is allowed (with or without changes) provided that:

ソースまたはバイナリの両方でこのソフトウェアを(フリー?自由?)に使用する事を許可します。

(内部を変更しても、しなくても)*4

1. distributions of this source code include the above copyright notice,

このソースコードをインクルードしたら著作権とこの文章を貼り付けて下さい。*5

this list of conditions and the following disclaimer;

この状態と声明書を理解する、見守る。*6

2. distributions in binary form include the above copyright notice,

上記参照

this list of conditions and the following disclaimer

上記参照

in the documentation and/or other associated materials;

この状態と声明書を説明書とか他の連想する素材とかに貼り付けて下さい。

3. the copyright holder's name is not used to endorse products

built using this software without specific written permission.

特別の許可書なしに この著作権の所有者の名前を このソフトを使った違反 生成物・・・*7

ALTERNATIVELY,

どちらか一方を取るべき・・・(なにを?)

provided that this notice is retained in full,

このライセンス条件すべてを保持したものの通知を供給するか、

this product may be distributed under the terms of the GNU General Public License (GPL),

この生成物がGPLライセンスの元で配布されるかもしれない。

in which case the provisions of the GPL apply INSTEAD OF those given above.

というケースではGPLの条件をこのライセンス条件の変わりに適合させます。

DISCLAIMER

声明書*8

This software is provided 'as is'

このソフトウェアはそのままで提供される

with no explicit or implied warranties in respect of its properties,

including, but not limited to, correctness and/or fitness for purpose.

その所有物の明示的な または 暗黙の正当な、含んでいる事、しかし 限定されたのではない、

趣旨の為の適正 と 理由と一緒に*9

[][][]「何かキーを押してください。」を表示する 「何かキーを押してください。」を表示するを含むブックマーク 「何かキーを押してください。」を表示するのブックマークコメント

何かキーを押してください。を表示するには

system("PAUSE");

をソフト終了際に入れておけばOKだよね^^

終了するところが沢山ある場合は、atexitに登録するとかさ。どぉ?

[][]1箸錬隠娃娃偉方センチメートルではない!? 1箸錬隠娃娃偉方センチメートルではない!?を含むブックマーク 1箸錬隠娃娃偉方センチメートルではない!?のブックマークコメント

http://homepage1.nifty.com/tadahiko/ZOKI/ZOKI-172.HTML

リンク元:d:id:MIZOMIZO:20040711#p5

[][]新機能 更にごてごて!? 新機能 更にごてごて!?を含むブックマーク 新機能 更にごてごて!?のブックマークコメント

http://d.hatena.ne.jp/studiokingyo/20040716#p1

dkutil_cリリース前告知の事ですが、どうも、ソート系もかなり入りそうです。

  • comb sort(コムソート)
  • quick sort
  • bubble sort
  • shell sort
  • dist count sort (分布数えソート)

すべてジェネリックな実装ですよ^^;(でもC言語だからちょっと無駄がある・・・。C++版はboostに任せよ〜)

ちなみにまだ実装出来て無いソートは

  • block sort
  • bitonic sort
  • multi partition sort (多重分割ソート)

ちなみに多重分割ソートのライセンス良く分からないのですが・・・。

*1:デコチャリ?ゴテチャリ?あれ?どっちだったっけ?

*2デコトラ

*3日本語訳とよべるシロモノでは無い・・・。

*4:で、イイのかナァ?

*5:って意味で良いのですか?

*6:そのままにしてネって事?

*7:ゴフ、もう・・・脳味噌のcapacityが尽きた・・・

*8:多分、何かの決り文句だと思うのだが・・・。

*9:つまり、私がぼらんてぃあ精神で作ったものにイチャモンつけないでよ。って事ですか??ヽ(`Д´)ノウワァン ワカランガナ!

2004-07-15 やっぱり暗号化は大人の味(笑) part5

[][][][][]ソースコードはパクってなんぼ!? ソースコードはパクってなんぼ!?を含むブックマーク ソースコードはパクってなんぼ!?のブックマークコメント


どうもdです。

私は数ある、アマチュアプログラマーの中でかなりの無能なプログラマーと言ってイイと思います。

なぜなら・・・、ソースコードをパクってばかりだから・・・。

パクってconvert reconstruct して バグチェック して、それで満足・・・

それってゲーム作れないからその腹癒せにライブラリっぽいもの作って満足しているだけじゃ?と皆様もお思いでしょう。

そうです。そうなんです。結果的にそうなってしまうのは、昔から自覚しています。

しっかりしたソフトウェアを作った事は実はほとんど無いに等しいです。

ですが、私はそれらのライブラリを規制の緩いライセンス*1で公開する事によって皆様にもなにか残せるのではないかと、悪あがきをしているのです。

基本的なロジックのコードを書くのは個人的に思うに、非生産的な感じがします。*2

ロジックのコードを書いたり、考えたり出来るのは極々少数の選ばれし者のみで今の私のようなのが関知するのは分不相応というようなやつだと思っています。

そんな感じな事を考えている人が多いのかな?とちょっと思ったり思わなかったり。

なので、MSさんは.NET Framework SDK とか配布してくれているのかナァ〜と思ったりします。

確かに.NET Framework SDK... 便利なのですが・・・ イカンセン、重いのがナァ〜。

ロジックのみにこだわりたい私は ぶっちゃけ、glibみたいにOOP C言語形式で配布してくれるとうれしいんだがナァ〜。

でも、まぁ、イイか。しっかり最適化してくれているとかいないとかだし。

使いたくなったら使おう!*3

[]さっそく暗号とか・・・。 さっそく暗号とか・・・。を含むブックマーク さっそく暗号とか・・・。のブックマークコメント

さてさて、またお世話になってます。d金魚です。

Sky氏にまたまた教えていただきました。暗号とか。

http://beautiful.homelinux.net/~sky-software/diary/?date=20040707

d金魚さんが知らなさそうなのは「IDEA」とかかな。旧日本海軍のD暗号・・・・・・D暗号はほっといてもいいね。いいよね。・・・・んで、あとはMISTYとかFEALとか多重アフィン鍵暗号とかかなぁヽ(´ー`)丿

なーる。勉強になります。M(_ _)M

そういえば・・・、ライセンス系にうるさいアルゴリズムはあまり取り上げなかった気がしますね^^;

Mistyを調べてみましたが、なんか契約がどうたらこうたらで・・・。基本特許は無料だそうですが、どうも、そこらヘンが面倒なので、調べるのやめました。ANSI-Cのコードでもあれば即パクってNYSL化なんだろうけど・・・。*4

FEALはFEAL-NXの仕様書を見つけました。http://info.isl.ntt.co.jp/feal-nx/index-j.html

時間あるときに熟読ですね^^

その他、FEAL系

http://www.webster-dictionary.org/definition/feal

http://dret.net/glossary/feal

IDEAもタクサンあるらしい。

http://www.google.co.jp/search?q=IDEA+Algorithm&hl=ja&ie=UTF-8&c2coff=1

やば〜。もう眠いわ〜〜。

これらのアルゴリズムも何に使ってもフリー也というようであれば、どんどん実装しようと思う。

ちなみにTriple DESってかなり処理が遅いらしい。

[][]例によって暗号リンク集 例によって暗号系リンク集を含むブックマーク 例によって暗号系リンク集のブックマークコメント

みつけちゃったよ〜〜。例のAESのフリーアルゴリズム集。

Source Code for AES Finalist Algorithms

http://csrc.nist.gov/encryption/aes/round2/r2algs-code.html.

ヽ(´ー`)ノバンザーイ ソースコード付いているよ〜。

でも、もうリンク切れているみたいだから、WayBack!!!!!!!!*5

http://web.archive.org/web/*/csrc.nist.gov/encryption/aes/round2/r2algs-code.html

暗号アルゴリズムの登録状況

http://www.ipa.go.jp/security/enc/regist-3.htm

まえも紹介したっけ?ちょっと既視感があったため^^;

ぜひ読もう Filetopia Encryption

http://www.filetopia.org/encryption.htm

イロイロと紹介してくれている。

http://www.thefreecountry.com/sourcecode/encryption.shtml

RC5 RFC

http://www.networksorcery.com/enp/rfc/rfc2040.txt

本家

ftp://ftp.rsa.com/pub/rsalabs/rc5/

RC6のソース

http://www.codeproject.com/cpp/hexenc.asp

リンク元http://www.codeproject.com/cpp/#Cryptography

http://www.funet.fi/pub/crypt/cryptography/symmetric/rc6/

めっけたで〜〜。本家

ftp://ftp.rsa.com/pub/rsalabs/rc6/

で、アルゴリズムの解説らしきもの

ftp://ftp.rsa.com/pub/rsalabs/rc6/rc6v11.pdf

わーいヽ(´ー`)ノ めっけた〜〜。

ちなみにソースは?・・・。

やっぱり、フルスクラッチですか orv


mcrypt library

http://mcrypt.sourceforge.net/

GPLらしい。

で、暗号化系?のライブラリリストらしい。

http://www.sandstorm.net/security/resources?cid=82146

Perl用?

http://www.cpan.org/modules/

http://www.cpan.org/modules/by-module/Crypt/

暗号化全般のお話

http://mailsrv.nara-edu.ac.jp/~asait/crypt.htm

けっこうE感じ

各、暗号化の種類とか。要約とか。

http://www.sys.cs.meiji.ac.jp/~masao/Board/infosys2000/security/firewall.htm

暗号を使おう(暗号化全般要約)

http://hanran.tripod.com/crypt/faq/glossary.html

AES-CBC 暗号アルゴリズムIPsec でのその使用法

http://www.tatsuyababa.com/RFCJ/RFC3602JA.html

RSA Data Security 社のpublic ftp ??

ftp://ftp.rsa.com/pub/

のここ。にいろんな資料?かな?

ftp://ftp.rsa.com/pub/rsalabs/

ちょっと分野が違うけど、

逆アセ*6

http://wiki.osdev.info/index.php?cmd=read&page=%B5%D5%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9&word=%B5%D5%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9

[][][]何時か書くであろう論文の為に 何時か書くであろう論文の為にを含むブックマーク 何時か書くであろう論文の為にのブックマークコメント

d:id:ekimura:20040612

ここに書いているような手順を覚えなくては・・・。

 インターネットは「知っている」という状態を万人にもたらす。

その上で重要になるのが、「知っている」事をどう料理出来るか

に掛かる。 その観点から考えていくと、思考力が未熟な小学生

から中学生にかけてインターネットを使わせる事は、「知っている」

ということと「理解している」という事を混同させ、その

後の学びに大いなる禍根を残すことを危惧する。

とくにココの事、私、当てはまっちゃうナァ〜。と。

薄々感じていたけど、やっぱりそう考える方々はいらっしゃるようで。

ムー。パソコンより教科書問題集、問題パターンに夢中になってた方が後々良かったと思うよ。今となっては・・・。

[]と、言う事で・・・上の小見出しを要約すると と、言う事で・・・上の小見出しを要約するとを含むブックマーク と、言う事で・・・上の小見出しを要約するとのブックマークコメント

インターネットは「知っている」という状態を万人にもたらす。

以上也

*1BSD LicenceやNYSL

*2:もちろん、それで食べている人は良いのですが・・・

*3:でも、しばらく使う気はしない・・・。今までのライブラリ製作やconvert reconstruct 系の準備活動を否定するようで怖いから・・・。あ〜。

*4:いや、多分、基本特許が無料と言うだけで、付属機構が有料とかなんだろうなぁ。プリンターは安いけど、プリンターのインクが高いというような奴と同じで差^^;;

*5:ちなみにこのビックリマーク8個はマッハ!!!!!!!!!を意識しています。

*6:逆アセンブラ?

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040715

2004-07-14 やっぱりこういう企画って好きだナァ^^;

[]ペプシブルーをスープにラーメンペプシブルーをスープにラーメン?を含むブックマーク ペプシブルーをスープにラーメン?のブックマークコメント

実際、ラーメンではないようですか・・・、

http://www.doblog.com/weblog/BlogServlet?userid=6300&blogid=314375#314375

リンク元http://d.hatena.ne.jp/nishiogikucho/20040703#1088844103

すごひひひひいひひ!!!!!!

やっちゃったよ。

結構、こういう企画モノ好きですよ^^;

他にわらっちゃったのに靴下にきのこを生やせるとかいう企画も笑っちゃいましたよ^^;ハハハ^^

ちなみにタイトルにある「やっぱりこういう企画って好きだナァ^^;」ですが、傍観者としてですね。楽しむ秘訣は。

[]最長片道きっぷの経路を求める 最長片道きっぷの経路を求めるを含むブックマーク 最長片道きっぷの経路を求めるのブックマークコメント

このネタも笑ってしまった。

http://www.swa.gr.jp/lop/index.html

いや〜。調べる人、すごひなぁ〜〜。

こう言う記事を見るのって、下手なエンタメ番組よりオモシロイと思う。*1

[]ハテナの呪い?なんか良くわからないのですが^^; ハテナの呪い?なんか良くわからないのですが^^;を含むブックマーク ハテナの呪い?なんか良くわからないのですが^^;のブックマークコメント

では、私も賛同して・・・

リンク元http://d.hatena.ne.jp/nishiogikucho/20040706#1089124394

  • どこかに自分とまったく同じidを持つデーモンダイアラーがいる。その人のダイアリーを見ると往く。

なにか、一つ追加して、自分のハテナだいアリぃに掲載しないと鈍われるそうな。

まぁまぁまぁ^^;;;;

[][][]セーブデータを改竄されないようにする。 セーブデータを改竄されないようにする。を含むブックマーク セーブデータを改竄されないようにする。のブックマークコメント

ちと、アイディアを・・・。

http://studiokingyo.fc2web.com/dxlib/kowaza/k4.html#k19

[][][]暗号化機能Wrap開始 暗号化機能Wrap開始を含むブックマーク 暗号化機能Wrap開始のブックマークコメント

RijndaelとBlowfishのラップ、再構築が終わった。

Rijndaelは案の定、

http://fp.gladman.plus.com/

Brian Gladman氏のHPからもらってきたモノ。

それから、よくタイプするとき、RijndaelをRijndealと間違えるのだが・・・私だけなのだろうか・・・。

[]MITがリアル腹話術の映像?? MITがリアル腹話術の映像??を含むブックマーク MITがリアル腹話術の映像??のブックマークコメント

http://www.asyura.com/2002/bd18/msg/184.html

*1:ネクラデスカ?ワタシハ?

nishiogikuchonishiogikucho 2004/07/07 11:52 はじめまして。未来の日付ですね……。呪いですか?

studiokingyostudiokingyo 2004/07/07 16:35 訪問ありがとうございます。m(_ _)m のろい?これですね^^ http://d.hatena.ne.jp/nishiogikucho/20040706#1089124394 では、私もちょっと考えましょうかね?

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040714

2004-07-13 やっぱり暗号化は大人の味(笑) part4

[][]やっぱり暗号化は大人の味(笑) part4 やっぱり暗号化は大人の味(笑) part4を含むブックマーク やっぱり暗号化は大人の味(笑) part4のブックマークコメント

軍? 戦争? 関係の暗号

第二次世界大戦

ドイツのエニグマ暗号シミュレーター

http://www.mlb.co.jp/linux/science/genigma/

暗号

http://www.geocities.jp/cipher_jun/purple_attack.htm


なんか、すごそうな暗号ライブラリ

Crypto++® Library 5.2

http://www.eskimo.com/~weidai/cryptlib.html

ライセンスもまぁ、私の見た限り緩そうだけど・・・*1アメリカ合衆国の規制に引っかからないようにとか書いてます。*2

Windows Privacy Tools ??

http://sourceforge.net/projects/winpt/

こんなんあるらしいです。


RIPEMD-160

http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html

日本語RFC

http://www.akanko.net/marimo/rfc/

暗号のはなし

http://www.nikonet.or.jp/spring/sanae/report/katati/katati_4.htm

リンク元http://game.g.hatena.ne.jp/Nao_u/20040706


http://hp.vector.co.jp/authors/VA023900/

暗号化スレ

http://pc5.2ch.net/test/read.cgi/tech/1002736958/

イイ事書いている。

ちと気になった文章を引用

  • 改竄防止が目的なら、単なるHash値じゃなくてHMACを使うべし。
  • 下手に自分で考えるより世界中のスーパーハカーがよってたかって安全性を検証してる既知のアルゴリズムを使ったほうがよっぽど安全


その他、調べ中

[][][]dkutil_c躍進中 dkutil_c躍進中を含むブックマーク dkutil_c躍進中のブックマークコメント

dkutil_cライブラリは最近いろんなモノひっつけてパワーアップを計っています。

こんなものをひっつけてます。

もうすぐstable release予定です。

でも、パワーアップした所であまり需要はなさそうな・・・。


その他に・・・。

  • Rijndael
  • Twofish
  • Blowfish
  • DES (triple)
  • MD2
  • MD4
  • RIPEMD-160

の実装を予定しています。

また、気がむいたら

にも手をつけたいナァ〜と思います。

*1GPLではないらしい

*2:私の解釈が正しければ・・・

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040713

2004-07-12 コンソールアプリケーションの文字をWindowに表示させる方法

[]コンソールアプリケーションの文字をWindowに表示させる方法どちら様か知りませんか? コンソールアプリケーションの文字をWindowに表示させる方法どちら様か知りませんか?を含むブックマーク コンソールアプリケーションの文字をWindowに表示させる方法どちら様か知りませんか?のブックマークコメント

詳しく言うと、すでにexeと化したコンソールアプリケーション(DOS窓の奴)が出力する文字をWindowで表示できないかな〜とちょっと情報を集めています。

具体的に言うと、

UPXFrontEndのようなやつです。

http://www.vector.co.jp/soft/win95/util/se139612.html

どうか、情報をお待ちしてます。m(_ _)m

[]感謝m(_ _)m 感謝m(_ _)mを含むブックマーク 感謝m(_ _)mのブックマークコメント

Sky氏から情報をいただきました。ありがとうございますです。m(_ _)m

なるほど、Pipeと言う機構を使うのですか。前から聞いていましたが、こんな風に使うのですか。なるほど。

http://beautiful.homelinux.net/~sky-software/diary/?date=20040629#p02

d金魚さん・・・・情報求めるのなら、メールアドレス公開とか、せめてコメントの書き込みを許可しないとダメだよ・・・(´Д`;)・・・

ゴフ・・・・。

たしかに仰せのとおりです。

コメントに書き込めるのはてなユーザーだけだった^^;;

メールアドレスとか、公開するべきですね。今後気をつけます。

あと、私のウェブサイトね。もうバレバレなので、どうぞ。

http://www3.to/shisui/

ほぼ、全壊中に近いけど、昔のコンテンツとかまだまだ現役なので、

あと、偶に更新とかします。

メールアドレスもそちらに記載しています。どうか、今後もよろしくおねがいします。皆様。

それから、Skyさん、Eものを手にいれた模様。いーな〜。

VS .NET theSpoke Premium Version 2003

http://beautiful.homelinux.net/~sky-software/diary/?date=20040630

確かに安い。でも、私、そろそろプログラミング卒業*1しなきゃ・・・。受験勉強とか受験勉強とか受験勉強と化しなくては。。。。。

[]それから、Sky氏に教えてもらったPipe処理。 それから、Sky氏に教えてもらったPipe処理。を含むブックマーク それから、Sky氏に教えてもらったPipe処理。のブックマークコメント

なんか、やってみたらSky氏に教えていただいたサイトプログラムが何故か、私の環境では動かなかったので、*2

http://www.eva.hi-ho.ne.jp/minoru-f/diary/diary200005.html

http://hp.vector.co.jp/authors/VA035113/dev-diary/20031019-filemaker-peta-execute.html

の方を参考にした。

で、そのコンソールアプリを実行してちょっとFXTextに出力してみた。

0%   10   20   30   40   50   60   70   80   90   100%

			
----------------------------------------
~.,/\`'!@#$%^&*()-=+{}|[]" :;<>?*~.,/\`'!@#$%^&*()-=+{}|[]" :;<>?*~.,/\`'!@#$%^&*()-=+{}|[]":;<>?*~ .,/\`'!@#$%^&*()-=+{}|[]":;<>?*~.,/\`' !@#$%^&*()-=+{}|[]":;<>?*~.,/\`'!@#$%^&*()-=+{}|[]":;<> ?*~.,/\`'!@#$%^&*()-=+{}|[]":;<>?*~.,/\`' !@#$%^&*()-=+{}|[]":;<>?*~.,/\`'!@#$%^& ()-=+{}|[]":;<>?*~.,/\`'!@#$%^&*()-=+{}|[]":;<>?*~.,/\`' 以下略

ヽ(`Д´)ノムキィ



boost::progress_displayを使っているのがまずいのか?

std::cout だと 普通に 出力してくれないのか?

謎。ヽ(`Д´)ノウワァン。

やっぱり、Pipe使うのやめて、素直にWin32に移植するか?

[][][]blitz ?? blitz ??を含むブックマーク blitz ??のブックマークコメント

http://www.oonumerics.org/blitz/

http://d.hatena.ne.jp/kmt-t/20040701#p1

最近、

d:id:kmt-t氏の日記をチェックしているが、

全部、私の日記(備忘録)に写したいくらいの情報がかかれている。感謝感謝 m(_ _)m

[]A4の紙で作るCDケースフォルダー  A4の紙で作るCDケースフォルダー を含むブックマーク A4の紙で作るCDケースフォルダー のブックマークコメント

http://www.sci.fi/~tenu/diag/2CD.gif

リンク元

http://slashdot.jp/articles/04/06/22/0029254.shtml?topic=42

http://www.doblog.com/weblog/myblog/3099/288478#288478

ちなみに作ってみたが・・・、どうも不器用な私には上手く折れないみたいです。(´Д⊂グスン

久々にlibBulletML関係で、お世話になった、isshiki氏の日記をのぞいたら紹介されていましたよ^^

d:id:isshiki:20040705#p1

結構、メジャーな話題?ですかね?

*1:というか、引退

*2:タブン、CreatePipeの第四引数が0なのがやばいのではないかと?

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040712

2004-07-11 CGってGCってCG?レイトレ?フォトンマップ?

[][]のだめカンタービレキャラクターチェック のだめカンタービレキャラクターチェックを含むブックマーク のだめカンタービレキャラクターチェックのブックマークコメント

例のごとくid:kmt-t氏の影響を受けましてやってみました。


http://www.goisu.net/cgi-bin/psychology/psychology.cgi?menu=c044


じつはhttp://www.google.co.jp/search?q=%E3%81%AE%E3%81%A0%E3%82%81%E3%82%AB%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%93%E3%83%AC&ie=UTF-8&hl=ja&lr=

ってよく分からないんですよ。^^;はじめて聞きましたし・・・。

とりあえず、以下のような感じのようで。

あなたは【彩子】タイプです。

恵まれた素質を持ちながらも、どうもいまひとつ不満を捨てきれないあなた。

悩むことがあっても、なかなか自分の殻を突き破れないあなたは、『のだめカンタービレ』のキャラでいうならば【彩子】がぴったりです。

さまざまな葛藤が訪れたとき、ひとりで悶々と悩みやすい傾向があります。

しかしそういった自分とどこかで決別して、思いきったときにこそ、あなたの真価を発揮することができるでしょう。

見栄やプライドは捨てて、もっと感情を出していったほうが、人間的に大成することができそうです。

恵まれた環境にいるのですから、自分の存在をおおいに生かしてください。


キャラ紹介:多賀谷彩子

多賀谷楽器のお嬢様にして、声楽科のマドンナ。千秋の元カノ。

音楽に厳しく平等な千秋と別れたものの、今でもどこかふっきれず、気になる模様。

しかし千秋に触発されたうえ、ライバルに負けたくない感情が爆発して才能が開花。

卒業以来、出番がありませんが、いつか千秋の指揮でオペラのマドンナとかあってもいいなあ、と個人的に思うのですが。


  • 天賦の才能  40%
  • 野心  100%
  • 勤勉努力度  45%
  • 天然ボケ度  26%

[][]アセンブラ勉強法 アセンブラ勉強法を含むブックマーク アセンブラ勉強法のブックマークコメント

d:id:kmt-t:20040622#p2

[][][]基底クラスにvirtualのデストラクタをつけない・・・。 基底クラスにvirtualのデストラクタをつけない・・・。を含むブックマーク 基底クラスにvirtualのデストラクタをつけない・・・。のブックマークコメント

virtual ~hoge(){}

を忘れていたためにスマポがありえないメモリリークを出していた・・・。これにはまって、1時間も無駄にした。

このミスって私の記憶では3回ほどあるのだが・・・。

ヽ(`Д´)ノムキィ

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040711

2004-07-10 プログラムのパッキング方法を調べよ part3

[][]やっぱり何だかんだいって、アセ知識ないやつは門外漢 やっぱり何だかんだいって、アセ知識ないやつは門外漢を含むブックマーク やっぱり何だかんだいって、アセ知識ないやつは門外漢のブックマークコメント

sky氏からご指摘をいただきました。

http://beautiful.homelinux.net/~sky-software/diary/?date=20040626

冷麦?なんでしょうね。実は、タイプミスって変換したらこうなったんですが・・・。面白いのでそのままにしちゃいましたが^^;

なんか国語辞書にも出てこないのでググってみましたら、ソーメンの一種?だとか?

年寄りの冷や水」の「冷や水」を「冷麦」に変えたらなんか趣きあるナァと。

年寄りの冷や水の意味は分不相応な事をしてしまうことらしいですが・・・。

で、案の定、

d:id:studiokingyo:20040709#p2

での構想・・・。やっぱり何だかんだいって、アセ知識ないと立派な事は語れませんね。

我ながらメチャクチャな文でしたよ。

私のメチャクチャ長くてわかりにくい文

ハッシュチェック系プログラム(関数部をバイナリ化したもの以下関数配列)、ファイル入出力プログラム。*4

そして、ソフトのハッシュを一まとめの暗号化したバイナリファイル(exeなどの実行形式ではない。)にして、

そのファイルを実行時に複合化し、処理を実行、処理が終了したら、別のキーで暗号化してファイルに保存。

メモリからダンプされないように

一つの関数配列を複合化ー>処理ー>別のキーで関数配列を暗号化 最初に戻る またはー>書き込み待ち

の順で・・・。

重要な処理の一部は既に暗号化した状態

と、要約してもらいました。

そうです。ソレなんですよ。

それから、イイサイトや具体例をsky氏から紹介していただきましたよ。

これはGood。

今後、アセの勉強の指針となりそう。

http://kmkz.jp/mtm/mag/code/dissw.html

ありがとうございます。m(_ _)m



しかし、具体例が分かったところで、最後は・・・開発コストかナァ?

今の私には難C〜〜〜問題だ^^;

幸せになれるのか!?私。

[]やっぱ間違ってたみたい やっぱ間違ってたみたいを含むブックマーク やっぱ間違ってたみたいのブックマークコメント

あ、やっぱりこのままで良いらしい。

ありがたく使わせていただきます

でへりくだった言い回しでこれは良い意味らしい・・・?

あれ〜〜?

と、言うことで

d:id:studiokingyo:20040709#p4

直しました。失礼しました。m(_ _)m


じゃぁこれ以外のいただきます系?の言い回しは駄目って事だよね!?

いや、いただきます。を語尾につけた場合、相手に押し付けがましいニュアンスがある使い方は良くないって事だと思うようになってきた。


どうも、慣れないですね。見慣れない・・・。

むー、他に良い言い回しは無いものだろうか?

[]こんな言い回しはどぉ? こんな言い回しはどぉ?を含むブックマーク こんな言い回しはどぉ?のブックマークコメント

あった、

インターネット上のみで有効そうな顔文字を使ってみる。

公式文章にこんな事やったら 社会性の有無に関して疑いをかけられかねないと思うが・・・どうなのだろう。*1

  • ○○して下さいました。*2 または いただきました。感謝 m(_ _)m

*1:あいまい表現 ヽ(´ー`)ノバンザーイ

*2http://www.ohnichi.de/Rennsai/nihongo10.htm

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040710

2004-07-09 プログラムのパッキング方法を調べよ part2

[][]sky氏のアンチデバッガをクラス化してみた sky氏のアンチデバッガをクラス化してみたを含むブックマーク sky氏のアンチデバッガをクラス化してみたのブックマークコメント

http://beautiful.homelinux.net/~sky-software/diary/

日記についての感想、ご指摘、ありがとうございます。m(_ _)m

と、言うことで

http://beautiful.homelinux.net/~sky-software/diary/?date=20040625#p02

より。

おお!、Thanksです。

ここです。前、フォーマットしたとき、無くしてしまったんですよ。そのURL。

http://www.fides.dti.ne.jp/~tokai/vc/

理想なのはSoftWireなどでコアとなるプログラムを生成し、

なるほど、そうですね。理想的かと。別にワタシは解析されても別にOKとは思いマスが・・・、改造されるとイヤーな部分があるのは確かです。(シリアルチェックとか?)

プログラム本体にはハッシュなどでコードセグメントなどが変更されていないかチェックするなどしたら効果的でしょうね。

パッカー*1などにはそんな機能がついているでしょうが、パックなしでハッシュのチェックのみでも結構使えるかと、僕は思いますね。

なるほど。そうですね。

ですが、ハッシュチェックの時、comp ?? *2

の所を解析されて、逆の条件で通るように改造されるとすべての無駄に・・・。

と考えちゃうのは歳よりの冷麦ですかね?*3

ここで、私、冷麦ッ子まっしぐら。分不相応ながら皆様に提案なのですが、 ここで、私、冷麦ッ子まっしぐら。分不相応ながら皆様に提案なのですが、を含むブックマーク ここで、私、冷麦ッ子まっしぐら。分不相応ながら皆様に提案なのですが、のブックマークコメント

ハッシュチェック系プログラム(関数部をバイナリ化したもの以下関数配列)、ファイル入出力プログラム。*4

そして、ソフトのハッシュを一まとめの暗号化したバイナリファイル(exeなどの実行形式ではない。)にして、

そのファイルを実行時に複合化し、処理を実行、処理が終了したら、別のキーで暗号化してファイルに保存。

メモリからダンプされないように

一つの関数配列を複合化ー>処理ー>別のキーで関数配列を暗号化 最初に戻る またはー>書き込み待ち

の順で・・・。

ここで、問題は、書き込み待ちの時、または書き込み中に暗号化したバイナリデータ(関数部)?

が上手く上書きできなかったとき、そのプログラムは使えなくなる・・・と言うことなのだが・・・。

まぁ、バックアップとって関数配列のハッシュが合わないとき、上書きするしかないのかな?

で、その暗号化するための関数配列ってどう作ろうか?

  • 超、酷かもしれないけど、gccソースから例のヘンなバイナリをげろりんするようにするとか・・・。*5
  • DLLとかの関数の入り口からretが見つかるまで配列をゲットしてそれをパクちゃうとか・・・(状態遷移的にかなりWin32Binaruをシミュレートしなくちゃいけないかも?)

あー、だめだ、抽象的過ぎる。タブン、これじゃ、何もつたわらない・・・m(_ _)m

さらに、アセの知識なさ過ぎるのに、こんな電波構想じゃ何も発生しない。貢献しない・・・。

むぅ〜〜。

スマン、明日書きなおすかも?

http://beautiful.homelinux.net/~sky-software/diary/?date=200406

って、ここで、しっかりJITコンパイラの事やランタイムとかの事、書いていますよ。

それですよ。それ^^;;;*6

[]でも結局・・・ でも結局・・・を含むブックマーク でも結局・・・のブックマークコメント

d:id:studiokingyo:20040709#p2

ですが、結局コアとなる比較処理の所を書き変えられたら元も子も無いような・・・。やっぱり、元も子も冷麦でした・・・。m(_ _)m

[][]悪名高き車輪再開発屋d金魚作品No3 AntiDebugger C++ 悪名高き車輪再開発屋d金魚作品No3 AntiDebugger C++を含むブックマーク 悪名高き車輪再開発屋d金魚作品No3 AntiDebugger C++のブックマークコメント

どうも、d金魚です。相変わらず・・・。車輪再開発・・・。

sky氏の影響を受けてアンチデバッガを再開発、再発明しちゃいました・・・。

ちなみにdkutilってライブラリが必要です。ググってみてくださいm(_ _)m

あ、でも、最新版じゃないと動かないかも・・・。

最新版は・・・

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/#dirlist

でも、テストしてないから上手くコンパイルできるかは・・・なぞ・・・


ごめ、もう少ししてからでなおす・・・。(バグがあった)


http://hp.vector.co.jp/authors/VA028184/OllyDbgQA.htm#B7

あ〜。これか。これなんですか。リンクしていたsky氏、解説文者掲載に感謝

これ見て明日実装しよう。

完成^^


/*!

@section Licence
http://beautiful.homelinux.net/~sky-software/diary/?date=20040626#p04
より。2004/06/26
>>
基本的に「勝手に引用可、改造可」みたいなもんです。
ウワーンヽ(`Д´)ノ僕が公開している文書やソースコード、
プログラムの利用なんてあなたの良心にまかされているわけですよ。
よーするに、
「人に迷惑かからん範囲で自分の好き勝手なことやってくれ」
って感じかな。
<<
ありがたく、使わせていただきます。m(_ _)m

と、言うことで・・・、このソースコードのライセンスは
上記に適合するライセンスで自由にやってください。m(_ _)m
http://www.kmonos.net/nysl/
NYSLには当てはまらないようだ・・・。失礼 m(_ _)m

@auther original:sky   reconstruct:d金魚
 
 */


namespace dkutil{

class SkyAntiDebugger{
public:
  typedef std::list<std::string> LIST_T;


  /*!
  @note
  \\.\TRW
  \\.\SICE
  \\.\NTICE
  \\.\FILEVXD
  \\.\FILEMON
  \\.\REGVXD
  \\.\REGMON

  @param str[in] SICEとかNTICEとか。
  */
  
  static bool IsDebuggerLoaded(LPCTSTR str)
  {
    HANDLE hFile;
    std::string s = "\\\\.\\";
    s += str;
   
    hFile = CreateFile(s.c_str(), 
              GENERIC_READ | GENERIC_WRITE,
              FILE_SHARE_READ | FILE_SHARE_WRITE,
              NULL,
              OPEN_EXISTING,
              FILE_ATTRIBUTE_NORMAL,
              NULL);

    if(hFile == INVALID_HANDLE_VALUE) {
      return false;
    }

    CloseHandle(hFile);

    return true;
  }
  ///超簡易OllyDbg検出方法
  static bool isOllyDbg(){
    return (NULL != FindWindow("OLLYDBG",NULL) );
  }

  static bool isDebugging(HMODULE handle){
    
    if(isOllyDbg()){
      return true;
    }

    
    //Window名から検索
    {
      LIST_T li;
      li.push_back( "ollyDbg -");
      li.push_back( "OllyDbg -");
      li.push_back("URSoft W32D");


      if( EnumWindows( CheckAppName, (LPARAM)&li) == 0 ){
        return true;
      }
    }

    //仮想デバイスドライバ名を検索
    {
      LIST_T li;
      li.push_back("TRW");
      li.push_back("SICE");
      li.push_back("FILEVXD");
      li.push_back("FILEMON");
      li.push_back("REGVXD");
      li.push_back("REGMON");

      for(LIST_T::iterator it = li.begin();it != li.end();it++)
      {
        if(IsDebuggerLoaded((*it).c_str())){
          return true;
        }
      }

    }
    //デバッガがロードされているか調べる。
    {
      typedef BOOL (*IsDebug)(void);
      DLLManager mgr("kernel32.dll");
      IsDebug db = (IsDebug )mgr.find("IsDebuggerPresent");

      if(db == NULL){
        goto End;
      }
      if(db()){
        return true;
      }
    }
  End:
    return false;
  }

  /*!
   <s>lParam に渡す文字列は32文字以内とする。(NUL文字含め33字)</s>
   何文字でもOK
  */
  static int CALLBACK CheckAppName( HWND hWnd, LPARAM lParam )
  {
    /*TCHAR *name;
    TCHAR *olly = (TCHAR*)lParam;
    int len = lstrlen( olly );
    */
    LIST_T *pList = (LIST_T *)lParam;
    LIST_T::iterator it = pList->begin(),end;
    end = pList->end();//別にイテレータ無効にならんし・・・
    for(;it != end;it++){
      size_t len = (*it).size();
      scoped_buffer buff(len + 1);

      if( GetClassName(hWnd, buff.get(), buff.size()) ){
        if( GetWindowText(hWnd, buff.get(), buff.size() ) ){
          buff.get()[len] = '\0';
          if( lstrcmp(buff.get(),(*it).c_str()) == 0 ){
            //キ・キ・キ・キタ━━━━━━(゜∀゜)━━━━━━!!!!
            return 0;
          }
        }
      }
    }
    
    return 1;
  }


};//end of class

}

*1:UPX等の事だと思われる

*2:ゴメンアセンブラ良くわからない。C言語でいうif文だと思っていただきたい。

*3:ひやみずだっつの

*4:これは必要かな?

*5:まず、無理

*6:アー私って経験不足・・・

2004-07-08 プログラムのパッキング方法を調べよ

[][]アンチデバッガでプログラムをわからなくする方法 アンチデバッガでプログラムをわからなくする方法を含むブックマーク アンチデバッガでプログラムをわからなくする方法のブックマークコメント

ちょっと、気になった事が。

http://beautiful.homelinux.net/~sky-software/diary/?date=20040618

より、アンチデバッガなるものを発見。

なーる。デバッガを受け付けないようにするアプローチもあるのか。

実は、ワタシもバイナリの解析をどうにかして出来ないようにしようと考えていました。私の場合、UPX使ってUPXの復元ヘッダを削除する。みたいな、極々簡単なのしか思いつきませんでした。

他には、コンパイルしたバイナリ部を暗号化して実行するとき複合化していくとか?かな?

後は、エントリーポイントをずらしてコンパイルするみたいな事が書いていたページがあったんだけど、忘れちゃったナァ。URL.


もしかしたら、このアンチデバッガみたいな機構も取り入れたら、解析はできなくなるのかなぁ?

いや、でもPENTとかあるし・・・。*1

解析するには

  • IsDebuggerPresentをハック
  • メモリ exe チェックの無効にする。

とかが、必要らしい。

もう、ここらへんをやられてしまったら、元も子もないようで・・・。

それからIsDebuggerPresent関数はどうも、Windows98からインプリメントされたようで・・・。Win95だとエラルのかな?*2


あと最近、こんなの見つけたよ。

http://d.hatena.ne.jp/keyword/proce55ing

keyword:プログラム バイナリ binary 解析 防止 阻止 Anti リバース エンジニアリング アンチ 

[][][]それから。 それから。を含むブックマーク それから。のブックマークコメント

SoftWireってライブラリをへろへろ日記から紹介してもらった。

http://www.google.co.jp/search?hl=ja&ie=UTF-8&c2coff=1&q=SoftWire&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

ずいぶん面白そうなライブラリジャン!!!

リアルタイムコンパイラ?

*1名前だけしか知らない。使い方分からんし、解析できるかどうかは分からないけど。

*2:この際、Win95,3.1だけで動くアプリを!(爆)

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040708

2004-07-07 ProCon2004の名残とか。

[][]プロコン2004、名残惜しい。 プロコン2004、名残惜しい。を含むブックマーク プロコン2004、名残惜しい。のブックマークコメント

ProCon2004だが、どうやら募集のページが出来ていたようだ。*1

http://www.jipdec.jp/procon/

リンク元

http://beautiful.homelinux.net/~sky-software/diary/

どうもねぇ。名残惜しい。

ここのDiaryのタイトルは元はProCon2004日記だったし。

とにかく、受験期の今はコストが高すぎるんだよねぇ。ゲーム作るのは、先行き不透明だし・・・。

で、例の凄く簡単な、ファイル抹消ツールでも作って、どうにかするかなぁ?

d:id:studiokingyo:20040703#p1

[][]このサイトソース最高^^ このサイトはソース最高^^を含むブックマーク このサイトはソース最高^^のブックマークコメント

http://www.nakka.com/

勉強になります〜〜。m(_ _)m

ここもある意味サイコー。面白い。

http://www.99-bottles-of-beer.net/

[]Arcfour関数郡の使い方 Arcfour関数郡の使い方を含むブックマーク Arcfour関数郡の使い方のブックマークコメント

d:id:studiokingyo:20040630


  //キーファイル(別に文字列じゃなくてもOK
  const char *key = "abcdefg";

  //初期化
  DKC_ARCFOUR_STATE *p = dkcAllocArcfour( (BYTE *)key,::strlen(key) );
  
  BYTE buff[10]={1,2,3,4,5,6,7,8,9,0};
  
  //暗号化 出力先はbuffになる。
  dkcArcfourEncryptNoDest(p,buff,sizeof(buff));
  //出力先を指定したいときは
  /*
  BYTE dest[10];
  dkcArcfourEncrypt(p,dest,sizeof(dest),buff,sizeof(buff));
  */
  //複合化
  dkcArcfourDecryptNoDest(p,buff,sizeof(buff));

  //出力は自分でして・・・^^;

  //後片付け
  dkcFreeArcfour(&p);


[][][][]synchronized synchronizedを含むブックマーク synchronizedのブックマークコメント

クリティカルセクションでスレッドをすべてロックして排他処理?をする時、クリティカルセクションクラスはやね本の影響とJavaの影響を受けてsynchronizedクラスとしている。

しかし、これだけではやっぱりあきたらず、ちょっと試行錯誤してみた。見事に以下のような型が生まれた。

synchronized swimming;

ほぼ、ロックする時のプログラムはこう書いている。(爆)

[][]今日は更新が多いナァ〜 新作テンプレート 今日は更新が多いナァ〜 新作テンプレートを含むブックマーク 今日は更新が多いナァ〜 新作テンプレートのブックマークコメント

新作テンプレートクラス出来たよ^^

その名もintrusive_singleton

差し出がましい(進入する?) 一人っ子 ですな。*2

boost::intrusive_ptrをパク...オマージュ...模範?として、作って見ました。

簡単な話、new終了後とdelete前に進入で切るって事ですね^^;;あまり使う場面はなさそうだけど・・・。

では、どうぞ・・・。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/dkingyoutility/dkutil/dktl/singleton.h

[][][]intrusive_singleton intrusive_singletonを含むブックマーク intrusive_singletonのブックマークコメント

intrusive_singletonには穴がある。ような気がする。*3

やばい、ただのバカクラスの可能性がある・・・。

クラス仕様確認

  • singletonである。
  • new終了後とdelete前に進入したい。
  • mPtrに保存した引数をCheckInstance()でnewする前に渡したい

new終了後とdelete前に進入どこらへんを直したらいいかどちら様か、ご指摘を m(_ _)m


intrusive_singleton 更新情報

  • ちょっとコンストラクタとかメンバ関数force_create_instance() を追加してみた

*1:ProCon2004の話題はもう書かないとか言っていたくせに〜〜ヽ(`Д´)ノムキィ

*2:だから、ヘンな日本語訳やめろってヽ(^^;)

*3:例:static intrusive_singleton<T> とか・・・??かな?

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040707

2004-07-06 はてなダイアリー利用者に100の質問(2004)

2004-07-05 やっぱり暗号化は大人の味(笑) part3

[][]やっぱり暗号化は大人の味(笑) part3 やっぱり暗号化は大人の味(笑) part3を含むブックマーク やっぱり暗号化は大人の味(笑) part3のブックマークコメント

圧縮率比較

http://compression.ca/

ブロック暗号とか、

http://www.h6.dion.ne.jp/~t-falcon/

Rijndael本家?

http://www.esat.kuleuven.ac.be/~rijmen/rijndael/

Rijndaelの暗号化手順の可視化FLASH

http://e-handel.mm.com.pl/crypto/rijndael_ingles2004.swf

Brian Gladman's Home Page (Cryptography Rijndeal C code) とか、

http://fp.gladman.plus.com/

なんだかんだ言って、CryptoToolkitらしい。Rijndaelの資料もココ。

http://csrc.nist.gov/CryptoToolkit/aes/

Advanced Encryption Standard (AES)の候補 暗号アルゴリズム

AESはRijndaelだが。

  • MARS
  • RC6
  • Serpent
  • Twofish

これらの暗号にも強みがあるらしい。

http://www.chsing.net/aspnet/ango.htm

Blowfish Twofishの開発者?ですよね? のページ。

http://www.schneier.com/

Counterpain Labs (http://www.counterpane.com/labs.html)

Blowfish, Twofish, Yarrow PRNG, Solitaire などの暗号アルゴリズムがあるらしい。

リンク元:http://gotom.jp/~gotom/diary/?0713


twofish、blowfish、cast128、serpentはいずれも、いかなる用途での使用にも無償でライセンスが許諾されている。

http://linux.ascii24.com/linux/linuxcom/2000/05/07/446848-000.html

より

メッセージダイジェストアルゴリズム

  • RIPE-MD160 (RIPEMD160)

というのがあるらしい。

で、ちょっと前の暗号化特集にて、紹介したページにて、

  • MD5 RSA Data Security
  • SHA 米国標準
  • RIPEMD160 欧羅巴*1標準

らしい。

[]フリーソースコード漁りに。 フリーのソースコード漁りに。を含むブックマーク フリーのソースコード漁りに。のブックマークコメント

free for all uses. すべての用途に自由です。

[].pngの画像を.tifに100個位自動で変換する方法 .pngの画像を.tifに100個位自動で変換する方法 を含むブックマーク .pngの画像を.tifに100個位自動で変換する方法 のブックマークコメント

http://www.hyuki.com/yukiwiki/wiki.cgi?%2epng%a4%ce%b2%e8%c1%fc%a4%f2%2etif%a4%cb100%b8%c4%b0%cc%bc%ab%c6%b0%a4%c7%ca%d1%b4%b9%a4%b9%a4%eb%ca%fd%cb%a1

ここに載っているC#での方法がメチャクチャ簡単すぎて私の今行っている事が馬鹿みたく思えてきた。ヽ(`Д´)ノウワァン

黒歴史*2だぁ〜〜〜 ヽ(`Д´)ノウワァン

C/C++ではDevILとかimgctl.dllとか使わないと面倒すぎてやってらんねぇ。

[]画像処理ライブラリとか。 画像処理ライブラリとか。を含むブックマーク 画像処理ライブラリとか。のブックマークコメント

Developer Image Library *3

http://openil.sourceforge.net/

個人的にお気に入り。ライセンスLGPL

imgctl

http://www.ruche-home.net/

[]GUIライブラリとか GUIライブラリとかを含むブックマーク GUIライブラリとかのブックマークコメント

私がメインで使っている奴*4

http://www.fox-toolkit.org

で、最近見つけた*5ゲームGUI

http://crayzedsgui.sourceforge.net/

出来はかなりE感じ。

こういうのを使うためにも英語がかなり重要なんだナァ。

[] を含むブックマーク のブックマークコメント

mshta.exe : アプリケーションの追加と削除

*1ヨーロッパ 欧州 初めて知ったよ。この難しい漢字

*2:と、一般的に使われない用語を多用してみる。

*3:DevIL

*4:何度も話題に出すけど^^;

*5:Ogreのサイトで話題になっていた

2004-07-04 GIFのエンコードデコードのソース募集中

[][]GIFエンコードデコード、LZWエンコードデコードのソースコードをNYSLで・・・。 GIFのエンコードデコード、LZWエンコードデコードのソースコードをNYSLで・・・。を含むブックマーク GIFのエンコードデコード、LZWエンコードデコードのソースコードをNYSLで・・・。のブックマークコメント

どちら様か、車輪の再開発を促進しないためにもNYSLでだれか公開してくれませんかね?*1

Arcfour(RC4互換アルゴリズム)ならNYSLで公開していますので。

[][]self task manager part2 self task manager part2を含むブックマーク self task manager part2のブックマークコメント

d:id:studiokingyo:20040621#p3

*1:と、他力本願モード

2004-07-03 やっぱり暗号化は大人の味(笑) part2

[][]やっぱり暗号化は大人の味(笑) part2 やっぱり暗号化は大人の味(笑) part2を含むブックマーク やっぱり暗号化は大人の味(笑) part2のブックマークコメント

実用的有名フリー暗号化ソフトのパイオニアとしてEDという暗号化ソフトがあるらしい。

http://www.ed-info.net/スンマセン、悪ふざけが過ぎました。m(_ _)m *1

http://www.netlaputa.ne.jp/~katapon/type74/ed/

なんか有名らしい。

その掲示板からのログ

そして、ファイルのディスク上からの完全抹消が 意外に、暗号化で大切なことが分かりました。

で、

http://hp.vector.co.jp/authors/VA015862/

にて、

なーる。こんな風になるわけだ。

ファイル抹消と言えば、結構いろんな物があるらしいけど、

私は基本的にソースが公開されている奴じゃないと信用はしない。

どうも、見つけられないので、作ってみようと思う。

ただ上書きさせるだけなら技術的にも問題は無いと思われる。

と、いう事で、

ファイル抹消ツール構想

具体例

  • fopenで追記形式とか?-
  • FOX toolkitを使う。
  • FXFileクラスはちと、でかいファイルには酷なところもあるので、ファイル操作部分での多用は避ける。
  • その他分からん〜〜。どちら様か、アドバイスや機能の要望やGUIデザインを^^;

[][]カオス暗号ってどうして破られたんだろう? カオス暗号ってどうして破られたんだろう?を含むブックマーク カオス暗号ってどうして破られたんだろう?のブックマークコメント

上記をどちら様かご存知でしたら・・・。

[]私の黒歴史 私の黒歴史を含むブックマーク 私の黒歴史のブックマークコメント

http://d.hatena.ne.jp/keyword/%b9%f5%ce%f2%bb%cb

最近知った単語*4

ウーム、今だろうな。または1〜2年前。プログラミングに酔狂していた時。

*1ベタベタシモネタはやめなよ ヽ(^^;)

*2GUI ver のみ

*3カオス暗号ライセンス料を取られるらしい。?ヽ(`Д´)ノムキィ

*4:でも、なんか、マニアックな単語らしい。

2004-07-02 やっぱり暗号化は大人の味(笑)

[][]やっぱり暗号化は大人の味(笑) やっぱり暗号化は大人の味(笑)を含むブックマーク やっぱり暗号化は大人の味(笑)のブックマークコメント

http://www.nakajima.com/takao/crypto.html

RC4が出来たので。RC5の64bitをどうにかしたいと思う。

って、ことでRC5の資料

http://web.archive.org/web/20030611212723/http://src.doc.ic.ac.uk/computing/internet/rfc/rfc2040.txt

http://www.netpassport.or.jp/~wejhysk/rc5/rc5.html

RC5の解析 Golomb Ruler 他

http://www.jwntug.or.jp/rc5/ogr/

なんかRC6なるものも見つけたよ^^

http://www.ipa.go.jp/security/enc/CRYPTREC/fy15/doc/130b_HW_RC6_1.pdf

有名なRijndael(ラインダールでイインだよね。読み方。)

http://mars.elcom.nitech.ac.jp/Research/MM/security/aes/overview.html

なんか、まだ知らない暗号方式も見つけたよ^^

http://www.fsi.co.jp/Cipher-HP/

暗号化全般

http://www.e-net.or.jp/user/missing-link/pgp/pgplinks.html

https://www.netsecurity.ne.jp/menu/cipher_word.html

http://x68000.startshop.co.jp/~68user/net/

暗号化 概要

http://www.csg.is.titech.ac.jp/~kourai/lecture/03/tokuron3/02_sharedkey1.pdf

http://akademeia.info/main/security_lecture.htm#cyptotraphy

今の私は暇なとき読むべき。

それと、RC5のライセンスは良くわからないので、そこらへん解決したら実装していこうと思う。*1

*1:商用時ライセンス料払えみたいなアルゴリズムは私のポリシーに反するので実装はしない。なぜならdKingyo Utility Toolkitでは商用時も無料で使えることを目指しているからだ。

2004-07-01 C言語でOOP

[][][]C言語OOP*1 C言語でOOP*1を含むブックマーク C言語でOOP*1のブックマークコメント

C言語OOPするには機能の状態を保持する構造体を作ってその構造体のデータを元に処理する関数を書くのが一般的だと思う。*2

で、私がC言語OOPみたいなのを調べているときにちょっと疑問に思ったこと。

なぜ、dkcAllocArcfour()みたいにでいちいちmallocでメモリ確保してポインタを返すか?

私の見解は以下。

例えば、構造体だけを用意して初期化

struct st obj;
init(&obj);

みたいなのは、初期化したものを

もう一回初期化して

struct st obj;
init(&obj);
init(&obj);//プログラマのミス

状態遷移を乱すかもしれないから。

私はこのように初期化を2回しても大丈夫なように実装するのが望ましいと考えるのでとりあえず、mallocで確保した領域を返すようにしている。

ちなみにC言語OOPのお手本のようなglibはこの方式を用いている。

[]ドラクエ日本を語る? ドラクエで日本を語る?を含むブックマーク ドラクエで日本を語る?のブックマークコメント

http://www.fsinet.or.jp/~madcap/chain_dq.htm

笑ってしまいました^^;*3

Link元

d:id:nav:20040618#p3

*1:Object Oriented Programmingの略だと思う。オブジェクト指向プログラミング?だよね。

*2:例:glibや dkutil_c

*3:まぁ、現実は笑いで済まされないのだが・・・。

トラックバック - http://d.hatena.ne.jp/studiokingyo/20040701
 | 
Program | Debug | dKingyo Utility Toolkit | library | D言語 | 御本とか | 備忘録 | テクニック | WayBack | 格言 | 英語 | 他力本願 | news | software |

デースケドガー