¥È¥Ã¥× «Á°¤ÎÆüµ­(2006-12-17) ºÇ¿· ¼¡¤ÎÆüµ­(2006-12-19)» ÊÔ½¸

¤Ï¤¸¤á¤Æ¤Î¤Ë¤­

¤³¤³¤Î°ÌÃÖÉÕ¤±

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2006-12-18

_ BSE¤ÈSARS¤Ï¿ÍÀ¸ÀèÀ¸¤Î»Å¶È¤À¤Ã¤¿¤«¡¼

(00:39)

_ ¤°¤°¡¼¤ë

http://blog.japan.cnet.com/kenn/archives/003431.html

via http://blog.livedoor.jp/dankogai/archives/50716491.html

¤½¤¦¤¤¤¨¤Ð¥»¥ó¥»¤Ï ¥ì¥¹¥Ý¥ó¥¹¤Î®ÅÙ¤¬²¿¸Î¤¢¤ó¤Ê¤Ë®¤¤¤Î¤«¡¢ ¤Èµ¤¤Ë¤·¤Æ¤¿¤ß¤¿¤¤¤À¡£ ¥Ï¥Ã¥·¥å¤È¤«Å¾ÃÖ¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤Û¤²¤Û¤²¤È¤«ÀâÌÀ¤·¤¿¡£ ¤ó¤Ç¥Ú¡¼¥¸¥é¥ó¥¯¤¬¤Û¤²¤Û¤²¤È¤«¤ÏÁ´Á³¶½Ì£¤Ê¤¤¤ß¤¿¤¤¤À¤Ã¤¿¡£

(02:37)

_ °¦¤Èͦµ¤¤È¤«¤·¤ï¤â¤Á

http://members.jcom.home.ne.jp/wtetsu/love/manual.html

º£ÅÙ¤ä¤Æ¤ß¤ë

(03:31)

_ ¤ä¤Ã¤Æ¤ß¤¿

¥²¡¼¥à¤ÇÈᤷ¤¯¤Ê¤ë±é½Ð¤Ç¤­¤ë¤Ã¤Æ¤Î¤Ï¤¹¤´¤¤¤Ê¤¡¡£

(04:09)

_ ³ç¸Ì¤Î̵¤¤ LISP

http://lispuser.net/memo/lisp/2006-03-30-23-58.html

Á°¤â¸«¤¿¤±¤É¥á¥â¡£

³ç¸Ì¤Î̵¤¤ SRFI ¤Ã¤Æ¤¢¤Ã¤¿¤È»×¤¦¤ó¤À¤±¤É¤É¤³¤À¤Ã¤±¤Ê¤¡¡£

(04:23)

_ abstract

  • ¤¤¤í¤ó¤Ê¾õÂÖ¤ò»È¤Ã¤Æ¬ÄêÀºÅÙ¤òµÄÏÀ
  • ¤É¤¦¤¤¤¦¾õÂÖ¤¬¤¤¤¤¤«

(04:28)

_ ËÜÅö¤Ï¤É¤¦¤Ç¤â¤¤¤¤ÃË

http://www.google.co.jp/search?q=%E3%81%A9%E3%81%86%E3%81%A7%E3%82%82%E3%81%84%E3%81%84&lr=lang_ja

²¼¤ÎÊý¸«¤Æ¤ß¤ë¤È¡¢

´ØÏ¢¸¡º÷:
ËÜÅö¤Ï¤É¤¦¤Ç¤â¤¤¤¤ÃË    ¤É¤¦¤Ç¤â¤¤¤¤»³    crazy¤µ¤æ¤É¤¦¤Ç¤â¤¤¤¤Æüµ­
¤É¤¦¤Ç¤â¤¤¤¤¥Ë¥å¡¼¥¹    ¤É¤¦¤Ç¤â¤¤¤¤Ïà    ¤É¤¦¤Ç¤â¤¤¤¤µ¿Ìä

郎¤½¤ó¤Ê¸¡º÷¤¹¤ë¤Í¤ó¡Ä

(05:57)

_ º£¤¤¤ë´Ø¿ô¤Î¥¢¥É¥ì¥¹

¤Á¤Ê¤ß¤Ë call »È¤ï¤Ê¤¤¤Ç¡£

typedef struct frame {
    struct frame *next;
    void **ret;
} frame;

void f() {
    frame *ebp = (frame *)__builtin_frame_address(0);
    printf("ebp = %p\n", ebp);
    void **ret = (void **)ebp->ret;
    printf("ret = %p\n", ret);
    void **rel = (void **)*(ret-1);
    printf("rel = %p\n", rel);
    printf("main = %p\n", (int)ret+(int)rel);
}

int main() {
    f();

    frame *ebp = (frame *)__builtin_frame_address(0);
    printf("ebp = %p\n", ebp);
    void **ret = (void **)ebp->ret;
    printf("ret = %p\n", ret);
    void **rel = (void **)*(ret-1);
    printf("rel = %p\n", rel);
    printf("main = %p\n", (int)ret+(int)rel);

    return 0;
}

main ¤ÎÊý¤Ï¤Ê¤ó¤«°ã¤¦¤ó¤À¤Ê¡£ ¤á¤ó¤É¤¯¤µ¤¤¤Î¤¦¡£

i@u ~/wrk/binhacks> ./a.out
ebp = 0xbf828948
ret = 0x80483dd
rel = 0xffffff77
main = 0x8048354
ebp = 0xbf828974
ret = 0xbf8289e8
rel = 0x80482b0
main = 0xc7870c98

(07:22)

_ main ¤ÎÀèƬ¤Ç

movl    8(%ebp), %esi

¤Ç¥ª¥±¡£ ¾´Ä¶­¤Ç¤â¤³¤¦¤Ê¤Ã¤Æ¤ë¤Î¤«¤·¤é¡£

¤µ¤Ã¤­¤Î¤Ç¤¦¤Þ¤¯¤¤¤«¤óÍýͳ¤Ï

call *8(%ebp)

¤Ç main ¤ËÈô¤ó¤Ç¤­¤Æ¤ë¤«¤é¤À¤Ã¤¿¡£

(07:51)

_ dll ľÀÜ¥ê¥ó¥¯

http://d.hatena.ne.jp/alohakun/20061217#c1166421511

¤Ê¤ó¤«¥í¡¼¥À¤¸¤ã¤Ê¤¯¤ÆÀÅŪ¥ê¥ó¥¯¤Ã¤ÆÏäǤ¹¤è¤Í¡£ »ä¤Ï¤à¤·¤í¤Ê¤ó¤Ç¤Ç¤­¤Ê¤¤¤Î¤«¤¬·ë¹½ÉԻ׵ĤÀ¤È»×¤Ã¤Æ¤Þ¤·¤¿¡£ ¥Ä¡¼¥ë¥Á¥§¡¼¥óºî¤ë»þ¤Ã¤Æ¤¿¤Ö¤ó¡¢ ¥³¥ó¥Ñ¥¤¥éºî¤ë¢ª .a Ū¤Ê .lib ¤òºî¤ì¤ë¤è¤¦¤Ë¤¹¤ë¢ª .a Ū¤Ê .lib ¤«¤é .def ¤À¤Î import ¥é¥¤¥Ö¥é¥êºî¤ì¤ë¤è¤¦¤Ë¤¹¤ë¢ª .dll ºî¤ì¤ë¤è¤¦¤Ë¤¹¤ë¢ª (¤ª¤Þ¤±¤È¤·¤Æ) .dll ¤«¤é .def ¤À¤Î .lib ¤ò¤Ò¤Ã¤³È´¤±¤ë¤è¤¦¤Ë¤¹¤ë¡¢ ¤ß¤¿¤¤¤Êή¤ì¤Çºî¤ë¤«¤é¤«¤Ê¤¡¡£

¤³¤Ã¤Á¤ÏÉáÄÌ¤Ë GNU toolchain ¤Ê¤é¤Ç¤­¤ë¤ï¤±¤Ç¡Ä

i@un ~/test> cat a.c
void a() { puts("Hello"); }
i@un ~/test> cat b.c
void a();
void main() { a(); }
i@un ~/test> gcc -o a.so a.c -shared
i@un ~/test> gcc b.c a.so -o b
b.c: In function 'main':
b.c:2: ·Ù¹ð: return type of 'main' is not 'int'
i@un ~/test> LD_LIBRARY_PATH=. ./b
Hello

¤Ê¤ó¤Ä¡¼¤«¤³¤Î¤Ø¤ó¤Ã¤Æ¥Ð¥Ã¥É¥Î¥¦¥Ï¥¦¤Î»³¤Ê¤ó¤À¤è¤Ê¤¡¡£ ³µÇ°Åª¤Ë¤ÏÊ̤ËÆñ¤·¤¯¤â¤Ê¤ó¤È¤â¤Ê¤¤¤Î¤Ë¡¢ ¿Í°ÙŪ¤ËÆñ¤·¤¯¤µ¤ì¤Æ¤ë´¶¤¸¡£

GNU toolchain

  • ¤¢¤ó¤Þ¤ê¥¹¥Þ¡¼¥È¤¸¤ã¤Ê¤¤ ld
  • Ææ¤Î ld script
  • ¤½¤â¤½¤â gcc -v ¤·¤¿¤é collect2 ¤Ã¤Æ²¿
i@u ~> file /usr/lib/libc.so
/usr/lib/libc.so: ASCII C program text
  • ¤Á¤Ê¤ß¤Ë Fedora ¤Ç¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Ï TCC ¥³¥ó¥Ñ¥Á¤¸¤ã¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¢ª AS_NEEDED °Ê¹ß¤ò¾Ã¤¹

Windows °ìÈÌ

  • ¤Ê¤ó¤Ç export ¤·¤Æ¤¯¤ì¤Ê¤¤¤Î¡ª (Unix²°¤Ï100%ñÙ¤µ¤ì¤ë)
  • __declspec? dllimport?? dllexport??? ¢ª SDL/begin_code.h ¤È¤«¤ï¤«¤ê¤ä¤¹¤¤
  • LD_PRELOAD ¤Ï¤É¤³¤Ç¤¹¤«¢ª KERNEL32.DLL ¤òÆþ¤ìÂؤ¨¤Æ²¼¤µ¤¤ (¥¯¥é¥«¡¼Ê¤ÎÂнè¤À¤¼¡ªUnix¥Ð¥¤¥Ê¥ê¥ä¥ó¢ª¤«¤³¤¤¤¤¥¤¥á¡¼¥Â¡£ Windows¥Ð¥¤¥Ê¥ê¥ä¥ó¢ªÉÔ¿³¿Íʪ)
  • dll ¤ò¥ê¥ó¥¯¤µ¤»¤Æ¤è¤ª¤Ë¤¤¤Á¤ã¤ó¡ª
  • ELF ¤È COFF ¤È OMF ¤ò¥ê¥ó¥¯¤·¤Æ PE ¤òºî¤Ã¤Æ¤´¤é¤ó¡£

Cygwin/MinGW

  • ¤É¤¦¤ä¤Ã¤Æ dll ºî¤ë¤Î
  • ¤É¤¦¤ä¤Ã¤Æ dll ¤«¤é import ¥é¥¤¥Ö¥é¥êºî¤ë¤Î
  • dlltools, dllwrap ¤Ã¤Æ²¿¤³¤Î¥¢¥ì¤Ê¥ª¥×¥·¥ç¥óÂÎ·Ï (¤É¤ì¤¬½ÐÎϤǤɤ줬ÆþÎϤʤΡª¡©¡ª¥Ð¥Ã¥É¥é¥Ã¥Ñ¡¼¡©¡ª¡©¡ª¡©¡© :-)))))))))
  • ÀèÀ¸ ldd ¤¬¤¢¤ê¤Þ¤»¤ó¡ª¢ª objdump -p hoge.dll | grep dll
  • ¡Öcygwin1.dll ¤¬¤¢¤ê¤Þ¤»¤ó¡×
  • nm ¤Ç dll ¤Î¥·¥ó¥Ü¥ë¤¬¸«¤¨¤Ê¤¤¤Î¡Ä (VC¤Ë¤Ä¤¤¤Æ¤ë¥Ä¡¼¥ë¤È¤«¤Ê¤é¸«¤ì¤ë¤Î¤Ë¤Ã¡ª)
  • objdump -x hoge.dll ¢ªÈ¯¶¸
  • .a ¤ò»ØÄꤹ¤ë½çÈ֤ǵóÆ°¤¬ÊѤï¤ë¤ó¤Ç¤¹¤±¤É¡Ä ¢ªÊ£¿ô²ó»ØÄꤹ¤ë¤Î¤¬°ÂÁ´¡£Îã: gcc foo.a bar.a foo.a bar.a
  • ¤°¤Ë¤å¡¼¤Ï Windows ¤¬·ù¤¤¤Ê¤ó¤À¤Í¡ª¢ª¤½¤ÎÄ̤ê¤Ç¤¹ (¤Ç¤âCygnus¤«¤Ê¤¡)

OMF (Borland)

  • ¥³¥Þ¥ó¥É¥é¥¤¥óŪ¤Ë¤Ï¡¢¼Â¤Ï¤¹¤´¤¤²÷Ŭ¤Ê´Ä¶­¤À¤Ã¤¿¤ê¤Ï¤¹¤ë
  • implib, impdef ´°È÷¡ª¤Þ¤È¤â¤Ê¥ª¥×¥·¥ç¥ó㡪
  • ¤Ç¤â VC ¤Î¥é¥ó¥¿¥¤¥à¤È¤«¤«¤é¤ó¤Ç¤¯¤ë¤È»à¤Í¤ë¤¼¡¼ (¤³¤ì¤Ï Windows ¶¦ÄÌ)

OMF (Digitalmars)

  • link.exe ¤Î¾éÃ̤ߤ¿¤¤¤Ê¥ª¥×¥·¥ç¥ó·²¡ª
  • implib ¤â»È¤¨¤ë¤«Èݤ«¤ÎÀ¥¸ÍºÝ¥®¥ê¥®¥ê´¶¡ª impdef ¤Ï¥¢¥ê¥Þ¥»¥ó¡ª

COFF (VC)

  • ¤½¤â¤½¤â implib ɸ½à¤Ë³Î¤«Ìµ¤¤¤è¤Í¤Ã¤ß¤¿¤¤¤Ê¤Ã¡Ä
  • link.exe ¤Î /IMPLIB ¥ª¥×¥·¥ç¥ó¤Ï dll ºî¤ë»þ¤À¤±¤Ê¤ó¤À¤è¤Í¤ß¤¿¤¤¤Ê¤Ã¡Ä
  • COFF2OMF ¤Ï´í¸±¤Ê¹á¤ê¡£µÕ¤â
  • VC ¤È¤Ä¤­¤¢¤¦ÊýË¡¤Ï¿§¡¹ÀΤ·¤é¤Ù¤¿¤±¤É˺¤ì¤¿¤Ë¤ã¡¼

Mach-O

  • ÀèÀ¸ ldd ¤¬¤Þ¤¿¤¢¤ê¤Þ¤»¤ó¡ª¢ª otool -L
  • ÀèÀ¸ objdump ¢ª otool
  • -F ¥ª¥×¥·¥ç¥ó¤Ï¤¤¤¤¤È¤·¤Æ¡¢ -framework ¥ª¥×¥·¥ç¥ó¤Æ¡ª¤¢¤Ê¤¿µ¬Î§¤òÍ𤷤Ƥ¤¤Þ¤¹¤Ã¡ª -f ¤ÏºÇŬ²½¤Á¤ã¤¦¤ó¤«¤¤¡ª
  • ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤·¤«¸«¤¨¤Ê¤¤¼Â¹Ô¥Õ¥¡¥¤¥ë¡¢ .app
  • ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤·¤«¸«¤¨¤Ê¤¤ dll ¡¢ .framework
  • dll ¤ÏÁêÂХѥ¹¤Ç¥ê¥ó¥¯¤Ç¤­¤ë: otool -L hoge ¢ª @executable_path/../Frameworks/..... ¢ª¤Û¤²¡¼¡©¡©¡© :-)))))))))))))))))))))
  • .a ¤ò»ØÄꤹ¤ë½çÈ֤ǵóÆ°¤¬ÊѤï¤ë¤ó¤Ç¤¹¤±¤É¡Ä ¢ªÊ£¿ô²ó»ØÄꤹ¤ë¤Î¤¬°ÂÁ´¡£Îã: gcc foo.a bar.a foo.a bar.a
  • ranlib ¤¬É¬ÍפʴĶ­¡£¢ª ar ¤Ï crus °Ê³°µö¤·¤Þ¤»¤ó¤è¤Ã
  • mv hoge.a directory ¤·¤¿¤À¤±¤Ç¤â¤¦°ìÅÙ ranlib ¤¬É¬Í×
  • ¤°¤Ë¤å¡¼¤Ï Mac ¤¬·ù¤¤¤Ê¤ó¤À¤Í¤Ã¡ª¢ª¤ä¤ëµ¤¤¬Ìµ¤¤¤À¤±¤¸¤ã¤Í
  • ¤Þ¤¡ Apple ¤Î¥É¥­¥å¥á¥ó¥È¸«¤ë¤ÈÆæ¤Ïɹ²ò¤·¤Æ¤¤¤Ã¤¿¤ê¤Ï¤¹¤ë

Áí³ç

  • ¤½¤â¤½¤â WINE ¤ÇÆ°¤«¤·¤Æ¤ë¤Î¤¬Í¾·×¥È¥é¥Ö¥ëÁý¤ä¤·¤Æ¤ë¤ó¤Ç¤¹¤Ã¡ª
  • µ¤¤¬¤Ä¤¤¤¿¤é¤â¤Î¤¹¤´¤¤Ê¸¾ÏÎ̤Ǥ¹¤è¤Ã¡ª¢ªÀÑǯ¤Îº¨¤ß¤¬
  • º£Å٤ޤȤá¤è¤¦

(17:28)

_ ¤É¤¦¤Ç¤â¤¤¤¤¤±¤É

ld ¤Ã¤ÆÉÔ¼«Á³¤ËÃÙ¤¤¤è¤Í¡£

¤¢¤È¤Ç»î¤¹ (2ǯ±Û¤·¤ÎÉéºÄ): http://www.issei.org/diary/?20040417#17-1

(17:42)

_ ¤´¼ñÌ£¤Ï¡©

¥¯¥í¥¹¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤¹¡£ ̵¿Ô¢¤Ë»þ´Ö¤¬»È¤¨¤Þ¤¹¡£

(17:45)

_ Cygwin/MinGW

  • Cygwin ¢ª Cygwin ¤Î¥»¥ë¥Õ¥³¥ó¥Ñ¥¤¥é: setup.exe
  • Cygwin ¢ª MinGW ¤Î¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥é: setup.exe
  • MinGW ¢ª MinGW ¤Î¥»¥ë¥Õ¥³¥ó¥Ñ¥¤¥é: MSYS¤È°ì½ï¤ËÆþ¤ì¤ë¥¢¥ì
  • MinGW ¢ª Cygwin ¤Î¥¯¥í¥¹¥³¥ó¥Ñ¥¤¥é: ¤¢¤ë¤ó¤À¤í¤¦¤«¡£ºî¤ì¤ë¤ó¤À¤í¤¦¤«

(17:48)

_ ¤ª¤Ð¤¢¤Á¤ã¤ó¤Î¤Á¤¨¤Ö¤¯¤í

binutils ¤ÏÁ´Éô¤Î¥Ð¥¤¥Ê¥êÆɤá¤ë¤Î¤ò¥Ó¥ë¥É¤·¤Æ¤ª¤¯¤È¤Ù¤ó¤ê¡£

i@uk:/data/backup/usr/local/stow/binutils-2.16/bin$ ls -lh
total 29M
-rwxr-xr-x  1 root root 2.0M Oct 25  2005 addr2line
-rwxr-xr-x  1 root root 2.0M Oct 25  2005 ar
-rwxr-xr-x  1 root root 2.7M Oct 25  2005 as
-rwxr-xr-x  1 root root 2.0M Oct 25  2005 c++filt
-rwxr-xr-x  1 root root 2.3M Oct 25  2005 gprof
-rwxr-xr-x  1 root root 2.7M Oct 25  2005 ld
-rwxr-xr-x  1 root root 2.0M Oct 25  2005 nm
-rwxr-xr-x  1 root root 2.4M Oct 25  2005 objcopy
-rwxr-xr-x  1 root root 2.6M Oct 25  2005 objdump
-rwxr-xr-x  1 root root 2.0M Oct 25  2005 ranlib
-rwxr-xr-x  1 root root 410K Oct 25  2005 readelf
-rwxr-xr-x  1 root root 1.9M Oct 25  2005 size
-rwxr-xr-x  1 root root 1.9M Oct 25  2005 strings
-rwxr-xr-x  1 root root 2.4M Oct 25  2005 strip

¤¿¤À¥Ç¥«¤¤¤Î¤Ï¤È¤â¤«¤¯¡¢ µ¯Æ°¤¬¤¨¤é¤¤ÃÙ¤¤¤Î¤ÇÆüÍѤˤϤʤé¤Ì¡¼

(17:52)

_ ¿Í°ÙŪ¤ËÆñ¤·¤¯ºî¤Ã¤Æ

¥Ï¥«¡¼¤ò°é¤Æ¤Æ¤¤¤ë¤ó¤¸¤ã¤è¡£¤°¤Ë¤å¡¼¤Ï¡Ä

¤Á¤Ê¤ß¤Ë Windows ´ë¶È¤Ï IDE ¤Î¹ØÆþ¤òÂ¥¿Ê¤·¤Æ¤¤¤ë/¤¿

(17:54)

_ GDC

diff ¤Ç¤«¤¤¤Ê¤¡¡£ ¤½¤Î¤Þ¤Þ¥³¥ó¥Ñ¥¤¥éÄ̤ë¤È¤¤¤¤¤ó¤À¤±¤É

(22:23)

ËÜÆü¤Î¥Ä¥Ã¥³¥ß(Á´2·ï) [¥Ä¥Ã¥³¥ß¤òÆþ¤ì¤ë]
_ rui (2014-05-24 02:58)

¡Ö¥«¥Ã¥³¤Î¤Ê¤¤Lisp¡×¤ÎSRFI¤Ï¤­¤Ã¤È¤³¤ì¤Î¤³¤È¤Ç¤¹¤Í¡£

SRFI-49: Indentation-sensitive syntax
http://srfi.schemers.org/srfi-49/srfi-49.html

_ shinh (2014-05-24 02:58)

¤¢¤¢¤½¤ì¤Ç¤¹¤½¤ì¤Ç¤¹¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£

¤ªÌ¾Á°:
E-mail:
¥³¥á¥ó¥È:
¿ÍÀ¸¡¢±§Ãè¡¢¤¹¤Ù¤Æ¤ÎÅú¤¨
ËÜÆü¤Î¥ê¥ó¥¯¸µ

Á° 2006ǯ
12·î
¼¡
Æü ·î ²Ð ¿å ÌÚ ¶â ÅÚ
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
1.Kim (2021-04-19 15:39) 2.shinh(2014-05-24 02:58) 3.rui(2014-05-24 02:58)
search / home / index

Á´¤Æ¥ê¥ó¥¯¥Õ¥ê¡¼¤Ç¤¹¡£ ¥³¡¼¥ÉÊҤϼ«Í³¤Ë»ÈÍѤ·¤Æ¤¤¤¿¤À¤¤¤Æ¹½¤¤¤Þ¤»¤ó¡£ ¤½¤Î¾¤Î¤â¤Î¤ÏGPL°·¤¤¤Ç¤¢¤ì¤Ð¤¢¤é¤æ¤ë»ÈÍѤ˴ؤ·¤Æʸ¶ç¤Ï¸À¤¤¤Þ¤»¤ó¡£ ¤Ê¤Ë¤«¤¢¤ì¤Ð²¼µ­¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¡£

shinichiro.hamaji _at_ gmail.com / shinichiro.h