したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

1みみず★:2008/08/10(日) 23:28:15
あまりにもプログラミングの内容が増えすぎた。
よって隔離スレの中を更に隔離。

1864 ◆adhRKFl5jU:2009/05/03(日) 09:45:03
CPU Disasm
Address Hex dump Command Comments
00C1ECB8 |. 50 PUSH EAX ; /Arg1 => [ARG.EAX]
00C1ECB9 |. FF15 3011BF00 CALL DWORD PTR DS:[<&FenrirLib_fx.?IsVal ; \FenrirLib_fx.?IsValidSiUri@FSmartInstallerManager@@SG?AW4EPermissionKind@@PB_W@Z
00C1ECBF |. 85C0 TEST EAX,EAX
00C1ECC1 |. 0F85 A2000000 JNE 00C1ED69

1865 ◆adhRKFl5jU:2009/05/03(日) 10:39:14
もういい。
俺にはスクリプト言語は似合わない。
今回PEヘッダファイルの構造をそこそこ詳細に理解できたので、dllを直接書き換えるexeを作ろうと思う。
本当ならば.fxプラグインを利用して作りたいところだが、仕様が公開されていないので残念すぎる。
まあ、そんなこんなで適当に作ろうかな?
まんどくせ。
やっぱりやめよう。
本当はこういうのはFenrirがやるべきであって、siファイルの有効かどうかを確かめるだけで良いのだ。
ソースファイルでの修正だったら間違えなく一行をコメント化して、一行を追加するだけで良いのだ。
それにもかかわらずユーザがやっているというのが理解できない。
Fenrirはもう駄目だ。
死んでしまえ。

1866 ◆adhRKFl5jU:2009/05/03(日) 17:44:17
http://google.com/complete/search?jsonp=baka&amp;q=shibuya&amp;hl=ja

1867 ◆adhRKFl5jU:2009/05/03(日) 17:45:53
>>1865
というわけで、?IsValidSiUriを変更すれば良いのだ。

1868 ◆adhRKFl5jU:2009/05/03(日) 17:48:21
ImageDirectoryEntryToData 関数
http://msdn.microsoft.com/ja-jp/library/cc429153.aspx

1869 ◆adhRKFl5jU:2009/05/03(日) 18:27:46
http://code.google.com/intl/ja/more/

1870 ◆adhRKFl5jU:2009/05/03(日) 20:46:04
http://diaspar.jp/node/214

1871 ◆adhRKFl5jU:2009/05/04(月) 09:07:54
何だか良く分からないけれども、今日の夢で、「太鼓の達人」と「シューティングゲー」のコラボレーションを見た。

1872 ◆adhRKFl5jU:2009/05/04(月) 11:26:12
http://google.com/complete/search?output=toolbar&amp;q=shibuya&amp;hl=ja

1873 ◆adhRKFl5jU:2009/05/04(月) 19:37:44
SleipnirStartのソースが良くなったかな?

1874 ◆adhRKFl5jU:2009/05/04(月) 20:16:09
アクセス解析だけでは分からない、サイト上でのユーザー動向を追うツール8+2種 - リアルアクセス解析
http://d.hatena.ne.jp/ryuka01/20090503/p1

1875 ◆adhRKFl5jU:2009/05/04(月) 21:53:29
NTFS代替ストリーム: Netsphere Laboratories
http://www.nslabs.jp/ntfs_alt_stream.rhtml

1876 ◆adhRKFl5jU:2009/05/06(水) 15:27:30
言語別ゲームプログラミング制作講座一覧 - Logic Edge
http://d.hatena.ne.jp/seikenn/20080506/1210088946

1877 ◆adhRKFl5jU:2009/05/07(木) 17:26:24
[JS]jQueryのプラグイン33+1選 -2009年5月 | コリス
http://coliss.com/articles/build-websites/operation/javascript/jquery-plugins-best-2009-may.html
Google検索「&as_qdr=y15」をやってくれるアドオン&まとめ作ったよ!Firefoxアドオン「Google Date」 - かたにちからバット
http://d.hatena.ne.jp/kiyotaka_h/20090506/1240854717

1878 ◆adhRKFl5jU:2009/05/07(木) 17:37:51
某ブログに

#define LEN(x) (sizeof(x) / sizeof(x[0]))
int a[0];
LEN(a); //ここ未定義!

みたいなことが書いてあったがそうなのか?
確か、一番最後の要素の次の要素まで一応参照できるということになっていると聞いたことがあるのだが、仕様書を探しても見つからない><
でもJISの企画書には
-----
例2. sizeof演算子のもう一つの用途は、次のようにして配列の要素の個数を求めることである。
sizeof array / sizeof array[0]
-----
しか書かれてないのだが・・・
まあC98なんですが。

1879 ◆adhRKFl5jU:2009/05/07(木) 17:40:59
まあ、多分俺の情報が間違っているね!
ちゃんと記憶にとどめておこう。
そういえばGCCならばC++でも可変配列が利用できるのだろうか?

1880 ◆adhRKFl5jU:2009/05/10(日) 10:23:02
取り敢えずgcc最新安定板を入れてみた。
std=c++0xを付けるだけでかなりコードが増えるなあ・・・

1881774さん:2009/05/10(日) 10:31:21
ラントレースしてみたらmain関数までは同じ数の命令しか実行していないようだった。

1882 ◆adhRKFl5jU:2009/05/10(日) 12:24:18
さて、センターも近くなってきたのに、Sleipnirの仕様を解析しようと思うのはいけないことだろうか?

1883 ◆adhRKFl5jU:2009/05/10(日) 12:24:52
COM!COM!
正直COMは解析しやすいから困る。

1884 ◆adhRKFl5jU:2009/05/10(日) 12:29:22
>>1878
でも、一応sizeofの中身は関数とかが指定されていると、ちゃんと引数が正しいとかチェックは行うが、実際には呼び出さないから存在しない値を参照しようとしていても問題ないはずである。
まあ、そんなソースを書かなきゃ良いんだよ!
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /

1885 ◆adhRKFl5jU:2009/05/10(日) 12:30:04
>>1878
C99だしwwwwww

1886 ◆adhRKFl5jU:2009/05/10(日) 12:30:46
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたl(ry
  /      /   _,.-‐'~/⌒  ⌒\
(以下AA略

1887 ◆adhRKFl5jU:2009/05/10(日) 13:24:22
ぬー
継承しすぎでする気にならないぽ

1888 ◆adhRKFl5jU:2009/05/10(日) 13:34:31
まあ良い。
一つ一つ命令を追っていけば良いのだ。

どうでも良いが、拡張子を表示するならば隠しファイルも表示するように設定すれば良いのにと思う。

1889 ◆adhRKFl5jU:2009/05/10(日) 13:56:10
再現方法は不明だから意味無いのだが、OllyDbg2.0にはクリップボードを開きっぱなしにするバグがある。

1890 ◆adhRKFl5jU:2009/05/10(日) 14:05:14
少なくともSleipnirのプラグインは
-----
Address Hex dump UNICODE
10003A48 7B BF 68 0C|F5 37 28 48|8B 9A D3 81|10 04 B4 F7| 뽻౨㟵䠨骋臓А
-----
のGUIDのインターフェイスを実装しているようだ。

1891 ◆adhRKFl5jU:2009/05/10(日) 14:18:38
呼び出し規約は主に
__cdecl,__stdcall,__fastcall,__thiscall
がある。

1892 ◆adhRKFl5jU:2009/05/10(日) 14:23:27
__cdecl
引数は右から左にスタックにプッシュされる。
スタックのポップは呼び出した側が行う。(ADD ESP, imm32)
大抵のコンパイラは何も指定しないとこれが規定になる。
関数名は初めに"_"が付けられる。

1893 ◆adhRKFl5jU:2009/05/10(日) 14:26:30
__stdcall
引数は右から左にスタックにプッシュされる。
スタックのポップは呼び出された側が行う。(RET imm32)
Windowsはこの呼び出し規約が好きみたい。WINAPIとかCALLBACKとかは、すべてこれ。
関数名は初めに"_"が付けられ、後ろに"@"が付き、その更に後ろにスタックに積まれる引数のバイト数を付ける。(多分10進数)

1894 ◆adhRKFl5jU:2009/05/10(日) 14:35:32
__fastcall
マイクロソフトでは、引数の左から二つまではECX,EDX経由で渡される。
残りは右から左にスタックにプッシュ。
Borland系では、引数の左から三つまではEAX,EDX,ECX経由で渡されるらしい。
残りは左から右にスタックにプッシュ。
スタックのポップはどちらも呼び出された側が行う。
関数名は、初めに"@"を付け、後ろに"@"を付け、引数のバイト数(恐らくレジスタ経由のも含めて)を後ろに付ける。
個人的には、最近のCPUならば十分キャッシュが働くので、そこまで__cdeclとかと変わらないと思っている。試したことは無い。

1895 ◆adhRKFl5jU:2009/05/10(日) 14:39:28
__thiscall
C++のメンバ関数に使われる。
引数は右から左にスタックにプッシュされる。
スタックのポップは呼び出された側が行う。
thisポインタはECXレジスタに格納される。
関数名の変換の方法は、各コンパイラに問い合わせてください。

1896 ◆adhRKFl5jU:2009/05/10(日) 14:42:27
C++のメンバ関数には__stdcallが付けられるらしく、その場合はthisポインターは最後にプッシュされる。
主にCOMとかで利用されていると思われ。

以上。
-----
参考文献
http://msdn.microsoft.com/ja-jp/library/46t77ak2(VS.80).aspx
http://www.wdic.org/w/TECH/__fastcall
-----
__clrcallとかあるらしい・・・

1897 ◆adhRKFl5jU:2009/05/10(日) 14:43:57
恐らく関数内で破壊して良いレジスタは
EDX,ECX,EAXだけかなと。
他は良く分からない。
まあ、全てレジスタをスタックに退避させれば何も問題は無いが。

1898 ◆adhRKFl5jU:2009/05/10(日) 14:44:23
x64の呼び出し規約は良く分からん。

1899 ◆adhRKFl5jU:2009/05/10(日) 14:51:06
修飾名を解決する奴らしい。
なんか修飾名のことをもうちょっと英語で格好良く言えたと思ったが忘れてしまった。
-----
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\undname.exe

1900 ◆adhRKFl5jU:2009/05/10(日) 15:07:23
みみずはFenrirLib.fxが出力している全ての関数のプロトタイプを手に入れた。

1901 ◆adhRKFl5jU:2009/05/10(日) 15:09:23
x64 呼び出し規約の概要
http://msdn.microsoft.com/ja-jp/library/ms235286.aspx

1902 ◆adhRKFl5jU:2009/05/10(日) 15:13:04
>>1900
http://mimizu.karou.jp/lab/goodjob.txt

1903 ◆adhRKFl5jU:2009/05/10(日) 15:52:19
滅茶苦茶適当にclass毎に分けるスクリプトを書いた。
-----
(function(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
var ina = fso.OpenTextFile("goodjob.txt");

var out1 = fso.OpenTextFile("out1.txt", 2, true);
var out2 = fso.OpenTextFile("out2.txt", 2, true);

var list = {"global namespace": []};

with(ina){
while(!AtEndOfLine){
var buff = ReadLine();
var index = buff.indexOf("(");
if(index != -1){ //関数!
var index2 = buff.lastIndexOf(" ", index - 1) + 1;
var functionname = buff.substring(index, index2);
var index3 = functionname.lastIndexOf("::");
if(index3 != -1){
var classname = functionname.substring(0, index3);
if(!list[classname]){
list[classname] = [];
}
list[classname].push(buff);
}else{
if(!list["global namespace"]){
list["global namespace"] = [];
}
list["global namespace"].push(buff);
}
}else{
out2.WriteLine(buff);
}
}

for(var i in list){
out1.WriteLine(i);
for(var j = 0; j < list[i].length; ++j){
out1.WriteLine(list[i][j]);
}
out1.WriteLine("");
}
}
})();

1904 ◆adhRKFl5jU:2009/05/10(日) 15:53:45
正直テストを一回もしないで、完璧に動くというのは怖い><

1905 ◆adhRKFl5jU:2009/05/10(日) 15:54:44
如何考えてもtemplateで複数引数の指定があったときに半角スペースが入るが、それを華麗に無視しています。
本当にありがとうございました。

1906 ◆adhRKFl5jU:2009/05/10(日) 15:56:31
ああそれと、型変換のoperatorも無視しているな。
これはどうにもならない。

1907 ◆adhRKFl5jU:2009/05/10(日) 16:06:19
ttp://mimizu.karou.jp/lab/out1.txt
ttp://mimizu.karou.jp/lab/out2.txt
-----
出力に少し手を加えたもの。

1908 ◆adhRKFl5jU:2009/05/10(日) 16:35:21
全てのプラグインはFIUnknownを継承している模様。
そのGUIDが>>1890だと思われる。

1909 ◆adhRKFl5jU:2009/05/10(日) 16:45:39
Sleipnirタソは
-----
CPU Dump
Address Hex dump UNICODE
0040A0D0 19 AE 87 12|16 58 DE 48|9E 2E A2 F6|2B E2 DD 3C| 긙ኇ堖䣞⺞㳝
-----
が必要なインターフェイスだと申しております。

1910 ◆adhRKFl5jU:2009/05/10(日) 16:51:52
Sleipnirは突如として
-----
CPU Dump
Address Hex dump UNICODE
0040A110 D6 C8 74 53|11 B9 83 42|82 04 3D 11|5F E3 E7 1C| 죖却뤑䊃҂ᄽ᳧
-----
を調べ始めた。

1911 ◆adhRKFl5jU:2009/05/10(日) 16:52:56
これは
FIToolbarのようだ。

1912 ◆adhRKFl5jU:2009/05/10(日) 16:54:24
参照文字列でここまでの情報が分かるとなると、解析されないようにするには分かりやすい英語、日本語は利用してはいけないな。
これからは俺俺言語(プログラミング言語ではない)が必要になるな。

1913 ◆adhRKFl5jU:2009/05/10(日) 16:59:17
それにしてもSleipnirの設計はおかしいなと思う。
どうしてSleipnirがFIToolbarを取得しに行くんだ。
それだと一つのプラグインから一つのFIToolbarしか出力できなくなるんじゃないか?
俺が設計するんだったら、FIToolbar登録用の関数をSleipnirのインターフェイスに用意して、それで登録してもらうようにする。
俺はプログラミングできないがな。

1914 ◆adhRKFl5jU:2009/05/10(日) 17:04:38
plugins.iniを見てもしやと思った。

1915 ◆adhRKFl5jU:2009/05/10(日) 17:10:21
FIBookDynamicFolderFactory
-----
CPU Dump
Address Hex dump UNICODE
0040A290 84 16 28 20|E1 54 FD 42|BC B3 F1 AF|67 96 2B B4| ᚄ員䋽뎼꿱陧됫

1916 ◆adhRKFl5jU:2009/05/10(日) 17:12:06
FIDock
-----
CPU Dump
Address Hex dump UNICODE
0040A1C0 25 22 F0 D9|4D B7 51 4F|97 C5 81 47|FB F6 97 34| ‖�띍佑얗䞁㒗

1917 ◆adhRKFl5jU:2009/05/10(日) 17:43:30
CPU Dump
Address Hex dump UNICODE
010620D8 BD 9E 7F 88|21 54 96 49|9D 3C C0 0B|93 7C 06 35| 麽衿吡䦖㲝ீ粓㔆
-----
良く分からないもの。

1918 ◆adhRKFl5jU:2009/05/10(日) 17:52:44
IUnknown?の+1Cは
FPlugin::InitializePlugin
から呼ばれる。

1919 ◆adhRKFl5jU:2009/05/11(月) 19:04:55
findを極める! - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜
http://www.ideaxidea.com/archives/2009/05/find.html

1920 ◆adhRKFl5jU:2009/05/11(月) 20:16:28
CPU Dump
Address Hex dump UNICODE
0040A150 3B 12 DC 70|93 CF 3E 4E|A8 E4 88 3C|1E EE 12 39| ሻ烜쾓举㲈㤒
-----
新しくページ開くときかな?
怪しすぎる。

1921 ◆adhRKFl5jU:2009/05/11(月) 20:54:33
CPU Disasm
Address Hex dump Command Comments
004C7022 |> \B9 38894000 MOV ECX,Sleipnir.00408938 ; UNICODE "http://update.fenrir.co.jp/smartupdate/version.txt&quot;
004C7027 |. EB 19 JMP SHORT 004C7042
004C7029 |> 50 PUSH EAX ; /<%d>
004C702A |. 68 A0894000 PUSH Sleipnir.004089A0 ; |Format = "http://update.fenrir-inc.com/sleipnir/%d/version.txt"
004C702F |. 68 60444F00 PUSH OFFSET Sleipnir.004F4460 ; |Buf = ""
004C7034 |. FF15 C4244000 CALL DWORD PTR DS:[<&USER32.wsprintfW>] ; \USER32.wsprintfW
004C703A |. 83C4 0C ADD ESP,0C
004C703D |. B9 60444F00 MOV ECX,OFFSET Sleipnir.004F4460
004C7042 |> 8B4424 28 MOV EAX,DWORD PTR SS:[ESP+28]
004C7046 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
004C7048 |. 68 60A14B00 PUSH Sleipnir.004BA160
004C704D |. 51 PUSH ECX
004C704E |. 56 PUSH ESI
004C704F |. 50 PUSH EAX
004C7050 |. FF52 2C CALL DWORD PTR DS:[EDX+2C]
004C7053 |. 8BC6 MOV EAX,ESI
004C7055 |. E8 7665FFFF CALL 004BD5D0 ; [Sleipnir.004BD5D0
004C705A |. 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
004C705E |. 3BC5 CMP EAX,EBP
004C7060 |. C74424 1C 1C3 MOV DWORD PTR SS:[ESP+1C],Sleipnir.00423
004C7068 |. 74 06 JE SHORT 004C7070
004C706A |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
004C706C |. 50 PUSH EAX
004C706D |. FF51 08 CALL DWORD PTR DS:[ECX+8]
004C7070 |> 8B4424 28 MOV EAX,DWORD PTR SS:[ESP+28]
004C7074 |. 3BC5 CMP EAX,EBP
004C7076 |. C74424 24 243 MOV DWORD PTR SS:[ESP+24],Sleipnir.00423
004C707E |. 74 06 JE SHORT 004C7086
004C7080 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]

1922 ◆adhRKFl5jU:2009/05/11(月) 21:14:50
今更ラントレースが物凄く使える機能だと思った。

1923 ◆adhRKFl5jU:2009/05/11(月) 21:36:37
ぬー
今日は、何も解析が出来なかった。
プラグインの仕様というのに焦点を絞って解析したほうが良いな。
まあ、本当はFenrirが仕様をとっとと公開すれば良いのだが。

1924774さん:2009/05/12(火) 19:36:01
DB設計時のサイズ見積もり - よねのはてな
http://d.hatena.ne.jp/yone098/20090512/1242088638

1925 ◆adhRKFl5jU:2009/05/13(水) 21:14:15
global _ore_memcpy1
global _ore_memcpy2

section .text

align 16
_ore_memcpy1:
push esi
push edi
mov esi, [esp + 16]
mov edi, [esp + 12]
mov ecx, [esp + 20]
rep movsb
pop edi
pop esi
ret

align 16
_ore_memcpy2:
push esi
push edi
mov esi, [esp + 16]
mov edi
mov eax, esi
and eax, 11b
jmp [.jt1 + eax * 4]

align 16
.r1:
mov al, byte ptr [ecx]
mov

align 16
.r2:

align 16
.r3:

.jt1:
dd 0, .r1, .r2, .r3

1926 ◆adhRKFl5jU:2009/05/13(水) 23:36:41
SSEとかのサポートはcpuid命令で取得できるよー
という話。
-----
http://www.icnet.ne.jp/~nsystem/simd_tobira/cpuid.html

1927 ◆adhRKFl5jU:2009/05/14(木) 20:23:36
http://wapedia.mobi/ja/呼出規約
>MS stdcall [3] はWindows APIで利用されているデファクトスタンダードである。引数は右から左に渡される。レジスタEAX, ECX, EDXはサブルーチン内で用いるために保存しておく必要がある。返り値はEAXに格納する。cdeclと異なり、スタックの清掃はサブルーチン側で行う(Pascal 呼出規約と同様)。従って可変長の引数リストはサポートされない。

1928 ◆adhRKFl5jU:2009/05/15(金) 18:58:40
Firefoxを思い通りに--about:configページで使える便利な10の「ハック」 - Zero Day - ZDNet Japan
http://japan.zdnet.com/sp/feature/07zeroday/story/0,3800083088,20393127,00.htm
ブロガーのための「Firefox」アドオン--記事作成を効率化する15種:スペシャルレポート - CNET Japan
http://japan.cnet.com/special/story/0,2000056049,20393036,00.htm

1929 ◆adhRKFl5jU:2009/05/15(金) 19:46:01
あの時俺が書いていたのは二次曲線だったのか。

1930 ◆adhRKFl5jU:2009/05/16(土) 18:59:16
はあ。
JavaScriptで「16進数の文字列->10進数の数字」の変換は、
("0x"+str) - 0
で出来るのか。
頭良いなあ、amachang。

1931 ◆adhRKFl5jU:2009/05/16(土) 21:29:17
少し面白いネタを思いついた気がしたので実装してみる。

1932 ◆adhRKFl5jU:2009/05/16(土) 21:29:46
戦争が大きくなったり小さくなったりするのは違うお。

1933 ◆adhRKFl5jU:2009/05/17(日) 16:41:19
KHTMLは小さすぎる文字は勝手に大きくしてしまうのか。
糞仕様。

1934 ◆adhRKFl5jU:2009/05/17(日) 16:42:34
別に当たり判定は小さいから、詐欺には使われないと思うし、元々クリックだけ出来る要素だって作れるんだから、セキュリティーというのが理由ではないだろう。
段々文字を大きくするアニメーションが作れないじゃないか!

1935 ◆adhRKFl5jU:2009/05/18(月) 17:23:24
>現存「府県天気予報」につきましては、月額55,200円と基本負担金13,200円の計、月額
>68,400円が必要ですが、これは配信に係る諸経費を利用者に負担していただいている
>ものです。今後も引き続き利用者に負担していただくことになります。
>配信時期については、全てのXML電文について22年度の配信を予定していますが、そ
>れに先立ち試験配信を予定しています。また、現行と異なる配信形態については、どの
>ような配信形態があるかも含めて検討していきたいと考えています。
-----
は?
金はやっぱり取るのかよ。死ねや!
-----
to http://xml.kishou.go.jp/

1936 ◆adhRKFl5jU:2009/05/18(月) 18:55:22
MAKEINTRESOURCE
でgccがエラーを吐く・・・

1937 ◆adhRKFl5jU:2009/05/20(水) 20:28:01
PortableSleipnirが起動しなくなった。
不思議!

1938 ◆adhRKFl5jU:2009/05/20(水) 20:29:31
三度目で起動した。

1939 ◆adhRKFl5jU:2009/05/20(水) 20:36:44
早速、"Social Bookmarker" Pluginにバグを発見した。
ttp://mimizu.karou.jp/lab/sbp_bug.png
about:blankが5usersなんですね。分かります。

タブ変わったら他のスレッドをちゃんと潰せよwwwwwww
使えばすぐに分かるだろ。

1940 ◆adhRKFl5jU:2009/05/20(水) 20:38:58
それと、タブ変わるたびに取得するのかよ。
キャッシュするぞ普通。まあ、俺だけなのかもしれないが。
僅か4bytes * 8 * num of tabsなんだがな。

1941 ◆adhRKFl5jU:2009/05/21(木) 18:24:36
うごメモはてなで再生中のページでログインすると、そのページに戻らない。
正直この仕様はいくない。

1942 ◆adhRKFl5jU:2009/05/21(木) 19:30:42
IWebBrowser2 Interface ()
http://msdn.microsoft.com/en-us/library/aa752127.aspx
-----
以前貼った気がするが・・・

1943 ◆adhRKFl5jU:2009/05/22(金) 15:26:36
IHTMLDocument2 Interface ()
http://msdn.microsoft.com/en-us/library/aa752574.aspx

1944 ◆adhRKFl5jU:2009/05/22(金) 15:40:08
なるほどIDispatchを継承して正しく実装すれば、スクリプトとかからも読み込みが可能になるのか・・・
-----
IDispatch Interface
http://msdn.microsoft.com/en-us/library/ms221608.aspx

1945 ◆adhRKFl5jU:2009/05/22(金) 18:17:57
SleipnirのやつIDispatchのメンバ関数を一個も実装してないwww

1946774さん:2009/05/22(金) 18:51:27
IE8で、PowerShellをダウンロードしようと思ったら確実に落ちるとかwwwww

1947 ◆adhRKFl5jU:2009/05/22(金) 21:04:18
低レベルAPI (C Magazine9月号掲載)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-059.html
-----
音を上手く扱いたいなと。
無理か。
音楽とか?

1948774さん:2009/05/22(金) 21:50:23
大体音の鳴らし方は分かった。

1949 ◆adhRKFl5jU:2009/05/22(金) 23:05:25
#include <stdio.h>
#include <math.h>
#include <windows.h>

#define PI 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211

void CALLBACK waveOutProc(
HWAVEOUT hwo,
UINT msg,
DWORD dwInstance,
DWORD dwParm1,
DWORD dwParm2
){
}

int main(int argc, char **argv){
HWAVEOUT hwo;
WAVEFORMATEX wf;

wf.wFormatTag = WAVE_FORMAT_PCM;
wf.nChannels = 1;
wf.wBitsPerSample = 8;
wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
wf.nSamplesPerSec = 44100;
wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign;

waveOutOpen(
&hwo,
WAVE_MAPPER,
&wf,
(DWORD)waveOutProc,
0,
CALLBACK_FUNCTION
);

int len = wf.nAvgBytesPerSec * 2;

BYTE *p = (BYTE*)malloc(len);

unsigned int hz;
puts("適当にHz数でも入力してください。二秒ぐらい音がします。");
scanf("%d", &hz);

for(int i = 0; i < len; ++i){
//p[i] = sin((double)i / 180 * 1024 * 2 * 2 * 2 * 2 * 2 * PI) * 0xFF;
p[i] = sin((double)i / wf.nAvgBytesPerSec * PI * 2 * hz) * 0xFF;
}

WAVEHDR whdr;
whdr.lpData = (LPSTR)p;
whdr.dwBufferLength = len;
whdr.dwFlags = WHDR_BEGINLOOP | WHDR_ENDLOOP;
whdr.dwLoops = 1;

waveOutPrepareHeader(hwo, &whdr, sizeof(WAVEHDR));
waveOutWrite(hwo, &whdr, sizeof(WAVEHDR));

Sleep(2050);

return 0;
}

1950 ◆adhRKFl5jU:2009/05/22(金) 23:10:17
#include <stdio.h>
#include <math.h>
#include <windows.h>

#define PI 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211

void CALLBACK waveOutProc(
HWAVEOUT hwo,
UINT msg,
DWORD dwInstance,
DWORD dwParm1,
DWORD dwParm2
){
}

int main(int argc, char **argv){
HWAVEOUT hwo;
WAVEFORMATEX wf;

wf.wFormatTag = WAVE_FORMAT_PCM;
wf.nChannels = 1;
wf.wBitsPerSample = 8;
wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
//wf.nSamplesPerSec = 44100;
wf.nSamplesPerSec = 88200;
wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign;

waveOutOpen(
&hwo,
WAVE_MAPPER,
&wf,
(DWORD)waveOutProc,
0,
CALLBACK_FUNCTION
);

int len = wf.nAvgBytesPerSec * 2;

BYTE *p = (BYTE*)malloc(len);

unsigned int hz;
puts("適当にHz数でも入力してください。二秒ぐらい音がします。");
scanf("%d", &hz);

for(int i = 0; i < wf.nAvgBytesPerSec; ++i){
p[i] = p[i + wf.nAvgBytesPerSec] = sin((double)i / wf.nAvgBytesPerSec * PI * 2 * hz) * 0xFF;
}

WAVEHDR whdr;
whdr.lpData = (LPSTR)p;
whdr.dwBufferLength = len;
whdr.dwFlags = WHDR_BEGINLOOP | WHDR_ENDLOOP;
whdr.dwLoops = 1;

waveOutPrepareHeader(hwo, &whdr, sizeof(WAVEHDR));
waveOutWrite(hwo, &whdr, sizeof(WAVEHDR));

Sleep(2050);

return 0;
}

1951 ◆adhRKFl5jU:2009/05/22(金) 23:10:30
正直音は良く分からない。

1952 ◆adhRKFl5jU:2009/05/22(金) 23:12:05
NTFS代替ストリーム + TrueCryptでまずファイルは盗まれない。

1953 ◆adhRKFl5jU:2009/05/22(金) 23:12:33
普通のエクスプローラでは見えないから安心。
勿論ディスク容量は減ります。

1954 ◆adhRKFl5jU:2009/05/22(金) 23:54:18
今更気が付いたが、Sleipnir StartもTwitterの簡易クライアントも、ものすごく作りこんであるな。
正直すまんかった><

1955 ◆adhRKFl5jU:2009/05/24(日) 08:20:07
ハードリンクはかなり使える。
これを使わない手はない。

1956 ◆adhRKFl5jU:2009/05/25(月) 21:15:08
最近gccを利用して適当にソースコードを書いているのだが、やっぱりx86決め打ちじゃないと良い感じのソースを吐いてくれないなあ。
インライン関数を展開するときに、妙にジャンプしたりする。
それと、classの中に直接ソースを書くとインラインが指定されたのと同等になるのだが、これを切る機能も欲しいなと。
なんでこれはC++の標準に無いんだ?inlineはあるくせに。

1957774さん:2009/05/26(火) 23:23:44
「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
http://codezine.jp/article/detail/3315

1958774さん:2009/05/27(水) 18:33:47
JavaScriptから簡単に使えるFlashビデオプレイヤー「Flowplayer」:phpspot開発日誌
http://phpspot.org/blog/archives/2009/05/javascriptflash_2.html

1959 ◆adhRKFl5jU:2009/05/28(木) 21:38:09
米Intel、8コアXeon「Nehalem-EX」の情報を公開 - Enterprise Watch
http://enterprise.watch.impress.co.jp/docs/news/20090527_170127.html
-----
金があったら一杯CPU繋げて遊べそうだなwwwwww

1960 ◆adhRKFl5jU:2009/05/29(金) 18:25:54
グーグルが賭けるHTML 5の未来 − @IT
http://www.atmarkit.co.jp/news/200905/28/html5.html

1961774さん:2009/05/29(金) 20:59:51
SetDIBits 関数
http://msdn.microsoft.com/ja-jp/library/cc410590.aspx
SetDIBitsToDevice 関数
http://msdn.microsoft.com/ja-jp/library/cc410591.aspx
-----
これがWindows上で使える最も低レベルなグラフィックのAPIなんですか?

1962774さん:2009/05/29(金) 21:01:11
Windows programming introduction 12
http://homepage1.nifty.com/nogue/wincho12.htm
-----
ここら辺を参考に・・・

1963774さん:2009/05/29(金) 21:04:05
MSの3次元グラフィックスAPIの将来が一部明らかに - ニュース - nikkei BPnet
http://www.nikkeibp.co.jp/archives/043/43229.html
-----
如何でも良いのだが、98年の記事だぜ・・・
十一年前の記事か・・・


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板