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

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

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

1778 ◆adhRKFl5jU:2009/04/07(火) 17:06:38
ツールバーを生成時には必ず
CoCreateInstance
を呼び出すはずなので、そこらへんを中心に処理位置を捜索。

1779 ◆adhRKFl5jU:2009/04/07(火) 17:09:18
間違えてシステムプロセスにアタッチしたかもしれなかった。
でもシステムプロセスだったら出来ないか?
まあいいや。

1780 ◆adhRKFl5jU:2009/04/07(火) 17:13:20
CoCreateInstanceが呼び出されないだと・・・・・

1781 ◆adhRKFl5jU:2009/04/07(火) 17:13:49
まあ、別に自前で処理しようと思えば簡単に出来るのだが。

1782 ◆adhRKFl5jU:2009/04/07(火) 17:16:16
パソコンをグローバルフックで弄くっているから、たまにエクスプローラーが落ちる。

1783 ◆adhRKFl5jU:2009/04/07(火) 17:18:13
計画を変えてLoadLibraryでbreakさせる。

1784 ◆adhRKFl5jU:2009/04/07(火) 17:26:04
うーん。
LoadLibraryだと他の奴でもbreakしてしまう。
とくにウィルスバスター。死ね。

1785 ◆adhRKFl5jU:2009/04/07(火) 17:26:44
Log data, item 0
Address = 052D0000
Message = Module C:\Program Files\Trend Micro\Virus Buster\TMAS_OE\TMAS_OEHook.dll - failed to initialize

1786 ◆adhRKFl5jU:2009/04/07(火) 17:27:29
マウスをウィンドウ上で動かすだけで、failed toinitializeがでまくるんだが。

1787 ◆adhRKFl5jU:2009/04/07(火) 17:39:49
困った。
いいbreak方法は無いものか?

1788 ◆adhRKFl5jU:2009/04/07(火) 17:51:05
あれれ?
LoadLibraryを参照している部分で全てbreakしたはずなのにそのまま通り抜けられた。

1789 ◆adhRKFl5jU:2009/04/07(火) 17:55:59
ウイルスバスターを終了。

1790 ◆adhRKFl5jU:2009/04/07(火) 17:57:28
終了してもいる。
きもい。
ウイルスバスターが一番ウィルスである件について。

1791 ◆adhRKFl5jU:2009/04/07(火) 18:07:57
ウィルスを駆除することに成功した。
ウィルスバスターは俺の内部でウィルス認定されました。

1792 ◆adhRKFl5jU:2009/04/07(火) 18:10:32
CoGetClassObjectとかいう関数があるらしい。
これを利用していた。

1793 ◆adhRKFl5jU:2009/04/07(火) 19:21:26
ああ、もうアセンブリ追うのは嫌だ。
疲れた。

1794 ◆adhRKFl5jU:2009/04/08(水) 19:02:31
という事で、フリーのドメインサービスでも利用しようかなあとか思った。
ということで良いサービスを探してみる。

でもパソコンが年中付きっぱなしじゃないと意味無いなあ。

1795 ◆adhRKFl5jU:2009/04/08(水) 21:48:38
現在構成を考え中。

1796 ◆adhRKFl5jU:2009/04/08(水) 22:52:52
全機能が金払わないといけないソフトは死んでしまえと思う。
そういう勝手な俺です。

1797 ◆adhRKFl5jU:2009/04/09(木) 00:57:27
IP更新も鯖も両方ともサービスにした。
うまー。

1798 ◆adhRKFl5jU:2009/04/09(木) 02:03:31
wglでOpenGLを使う - yaakaito::Blog
http://d.hatena.ne.jp/yaakaito/20090228/1235836453

1799 ◆adhRKFl5jU:2009/04/09(木) 02:20:15
SDLならばピクセルデータを直接弄くれて面白いのだが、OpenGLにはそういう機能は無いのかね?

1800 ◆adhRKFl5jU:2009/04/09(木) 02:22:48
厳密にはテクスチャを直接弄くりたいということである。

1801 ◆adhRKFl5jU:2009/04/10(金) 20:00:55
OpenGLの関数が使えない。
何故だ。

1802 ◆adhRKFl5jU:2009/04/10(金) 20:13:15
DLLのロードでエラーを吐いている。
リンクすべきものを間違えているのか?
でもちゃんとリンクできているのが気になる。

1803 ◆adhRKFl5jU:2009/04/10(金) 20:47:53
opengl32 glu32 glut32をリンクしても、glClearがないといわれる。

1804 ◆adhRKFl5jU:2009/04/10(金) 20:49:30
まあ、glutは要らないのだが。
よく分からん。

1805 ◆adhRKFl5jU:2009/04/10(金) 21:17:10
-D__WIN32__
をつけたらいけた。
-DWIN32で良いって書いてあったのに。こんちくしょう。

1806 ◆adhRKFl5jU:2009/04/10(金) 21:19:59
逆に何故
-D__WIN32__
を付けないといけないのか訊きたい。

gl/gl.hの先頭で
-----
#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__))
# define __WIN32__
#endif
-----
と宣言されているではないか。

1807 ◆adhRKFl5jU:2009/04/10(金) 21:25:10
あれ?
コンパイルが通らなくなったwwwwwwww

1808 ◆adhRKFl5jU:2009/04/10(金) 21:29:40
恐らく本当は通っていなかったのだろう。

1809 ◆adhRKFl5jU:2009/04/10(金) 21:30:21
__stdcallだったら、_なんとか@数字
を参照するはずだったから__cdeclになってるんだろうな。

1810 ◆adhRKFl5jU:2009/04/10(金) 21:40:18
やっぱりコンパイルは通っていたと思う。
だけれども上手くいかない。
何故だ何故だ。
全く分からん。

1811 ◆adhRKFl5jU:2009/04/10(金) 21:46:49
gccでのコンパイルには確率的要素があるんですか><

1812 ◆adhRKFl5jU:2009/04/11(土) 08:49:23
extern "C"{
void __stdcall glClear(DWORD);
void __stdcall glClearColor(float, float, float, float);
DWORD GL_COLOR_BUFFER_BIT = 0x00004000;
}
と自分で書くとちゃんと動くので、ヘッダの読み込みに問題があるのか?

1813774さん:2009/04/11(土) 09:06:03
コンパイルのバグなのか、それとも俺のバグなのか。
全く分からん。

1814 ◆adhRKFl5jU:2009/04/11(土) 18:44:54
よく分からんので、ヘッダを全部コピーして、適当にdefineの部分を改造したら動くようになった。
まあ、良いや。
ということで、頑張ったら今度は三次元で表示できない。
という事で、半ばあきらめモード。
でも、暇なので、8GBのUSBメモリを買ってきたので適当にUSBブートでも試してみようかなと思った。

1815 ◆adhRKFl5jU:2009/04/12(日) 02:14:17
VMが俺のUSBを感知しない。

1816 ◆adhRKFl5jU:2009/04/12(日) 21:39:20
ようやくDebianをUSBにインストールすることができた。
My OS(笑)である。
でもあんまりLinux分からん。これから勉強していくことにしよう。

1817 ◆adhRKFl5jU:2009/04/12(日) 21:39:40
やはりVMよりも早く動いていい感じ。

1818 ◆adhRKFl5jU:2009/04/12(日) 22:39:42
http://mimizu.ddo.jp/

1819 ◆adhRKFl5jU:2009/04/14(火) 18:04:12
うーん。
テレビはニュースを流していれば良い。
バラエティは電波を使って流すものではない。見たい人がインターネットででも見れば良い。

1820 ◆adhRKFl5jU:2009/04/15(水) 00:29:40
FrontPage - Lua組み込みWiki
http://tgws.fromc.jp/wiki/lua/index.php?FrontPage
-----
JavaScriptに頼ってスクリプト処理を実装するとか嫌なので、これを使ってソフトに組み込めば面白そう。
まず無いとは思うが、JScriptとか、スクリプトを実行する環境が無くても汎用的に拡張できる気がする。多分きのせい。

1821 ◆adhRKFl5jU:2009/04/15(水) 22:19:13
おかしい。
以前書いた連投スクリプトが利用できない。
-----
+++GET 42+++
POST /bbs/write.cgi/computer/38153/1239795779/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*
Referer: http://jbbs.livedoor.jp/computer/38153/
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: jbbs.livedoor.jp
Content-Length: 156
Pragma: no-cache
Cookie: NAME=%u540D%u524Dtest; MAIL=sage
Connection: keep-alive
Browser reload detected...
Posting 156 bytes...
DIR=computer
BBS=38153
KEY=1239795779
TIME=1239800550
submit=%BD%F1%A4%AD%B9%FE%A4%E0
NAME=%CC%BE%C1%B0test
MAIL=sage
MESSAGE=%A4%E2%A4%A6%B0%EC%B2%F3%A1%A3

1822 ◆adhRKFl5jU:2009/04/15(水) 22:52:35
(function(){
var http = new ActiveXObject("MSXML2.ServerXMLHTTP");

http.open("POST", "http://jbbs.livedoor.jp/bbs/write.cgi/computer/38153/1239795779/", false);

http.setRequestHeader("Referer", "http://jbbs.livedoor.jp/computer/38153/");

http.send("DIR=computer&BBS=38153&KEY=1239795779&TIME=1239800550&submit=%BD%F1%A4%AD%B9%FE%A4%E0&NAME=&MAIL=sage&MESSAGE=test");

WScript.Echo(http.responseText);
})();

1823みみず★:2009/04/15(水) 23:45:45
うまくいった。
よかったよかった
-----
(function(){
var setting = {
NAME: "もぐら",
MAIL: "sage",
MESSAGE: "スクリプトによる、自動書き込みのテスト",
DIR: "computer",
BBS: "38153",
KEY: "1239805963"
};

Submit("http://jbbs.livedoor.jp/bbs/write.cgi", "http://jbbs.livedoor.jp/computer/38153/", setting);


function Submit(url, ref, setting){
var http = new ActiveXObject("MSXML2.ServerXMLHTTP");
http.open("POST", url, false);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.setRequestHeader("Referer", ref);

http.send(Dec(setting));
}

function Dec(obj){
var s = "";
for(var i in obj){
if(obj.hasOwnProperty(i)){
s += encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]) + "&";
}
}
if(s != ""){
return s.substr(0, s.length - 1);
}
return "";
}
})();

1824 ◆adhRKFl5jU:2009/04/16(木) 20:16:09
#include <cstdio>
#include <windows.h>

using namespace std;

int main(){
printf("Content-type: text/html; charset=shift_jis\n\n");

printf("<!DOCTYPE html>\n");
printf("<html>");
printf("<head>");
printf("<title>サーバー運営情報</title>");
printf("</head>");

printf("<body>");

UINT DriveType = GetDriveType("I:\\");

if(DriveType == DRIVE_NO_ROOT_DIR){
printf("<h1>サーバー用ハードディスクは起動していません。残念。</h1>");
}else{
printf("<h1>サーバー用ハードディスクは起動しています。</h1>");

ULARGE_INTEGER lldFreeBytesAvailable, lldTotalNumberOfBytes, lldTotalNumberOfFreeBytes;
GetDiskFreeSpaceEx("I:\\", &lldFreeBytesAvailable, &lldTotalNumberOfBytes, &lldTotalNumberOfFreeBytes);

printf("%llu<br>%llu<br>%llu<br>", lldFreeBytesAvailable.QuadPart, lldTotalNumberOfBytes.QuadPart, lldTotalNumberOfFreeBytes.QuadPart);
}

printf("</body>");
printf("</html>");

return 0;
}

1825 ◆adhRKFl5jU:2009/04/16(木) 21:39:19
Scripting.FileSystemObjectでテキストデータを開いて、Closeを呼び出してもファイルを閉じないとか。

1826 ◆adhRKFl5jU:2009/04/18(土) 19:50:12
>>1825
ちゃんと.Close()呼び出したら閉じられていた。
次のコードで違うファイルを開いていたからいけなったみたいだった。orz....

Google AJAX Feed API - Google Code
http://code.google.com/intl/ja/apis/ajaxfeeds/
-----
RSS to JSONP

1827 ◆adhRKFl5jU:2009/04/18(土) 20:49:35
Unixのfork()が便利すぎ。
Windowsで使えたら嬉しいのになあ。

1828 ◆adhRKFl5jU:2009/04/19(日) 00:08:33
インターネットは俺を失望させるためにあるのか?

1829 ◆adhRKFl5jU:2009/04/19(日) 10:09:38
お。
luaにはユーザーデータに対してgcが行われるときに、関数を呼び出させることが可能なようだ。
素晴らしい。

1830 ◆adhRKFl5jU:2009/04/19(日) 11:25:43
luaはJavaScriptと良く似ているなあ。
これは素晴らしい。

1831 ◆adhRKFl5jU:2009/04/19(日) 20:41:03
なんか俺は素晴らしいという言葉を頻発してしまうようだ。

ひぐらしは最後まで行くと物凄く良い話のように思える。

1832 ◆adhRKFl5jU:2009/04/19(日) 22:05:49
部活ねーよwwwwwwwwwww

1833 ◆adhRKFl5jU:2009/04/20(月) 17:23:20
結局、雛見沢症候群というものは存在しないし、仲間で結束すれば全て上手く行くということも無い。
そんな寂しい世界なんだ。別に雛見沢症候群が存在していないことを寂しいなんて思っていない。

1834 ◆adhRKFl5jU:2009/04/20(月) 22:01:18
Cygwinを使えば、ディスク全体をファイルに落とせたと思ったのだが・・・

1835 ◆adhRKFl5jU:2009/04/22(水) 18:26:17
怖い怖い><
:w :make
と勝手に手が動く><

1836 ◆adhRKFl5jU:2009/04/22(水) 19:24:11
nasm使うと正しい実行ファイルが生成されない理由が漸く分かった。
どうやら-felfとしなければならなかったようだ・・・
orz....

1837774さん:2009/04/22(水) 19:43:23
じつはかんけいなかったぽい。
コンパイルは通るが実行できない。

1838 ◆adhRKFl5jU:2009/04/23(木) 20:15:16
NScripterの解読
Yet Another nsdec

1839 ◆adhRKFl5jU:2009/04/23(木) 20:17:45
ん?
俺の目が悪いのか良く分からないが、0x84でXORしているだけのような?

1840 ◆adhRKFl5jU:2009/04/24(金) 19:04:00
var fso = new ActiveXObject("Scripting.FileSystemObject");

var data = fso.OpenTextFile("data.txt");

while(!data.AtEndOfLine){
var buff = data.ReadLine();
buff.match(/^([^:]+)\s?:(.+)(\.[^.]+)$/);
var from = RegExp.$2 + RegExp.$3, to = "ひぐらしのなく頃に BGM\\" + RegExp.$1 + RegExp.$3.toLowerCase();

fso.CopyFile(from, to);
var file = fso.GetFile(to);
file.Attributes = 0;
}

1841 ◆adhRKFl5jU:2009/04/24(金) 19:04:27
Thanks:WAV\LP\T1.MP3
iru :WAV\LP\IRU.MP3
風車小屋の少年:WAV\LP\Cafe.mp3
d_p_by:WAV\LP\z2_hig3.mp3
What_is_wished:WAV\LP\z2_hig2.mp3
陰(かげ):WAV\LP\demo(48kHz).mp3
Spring_Step :WAV\LP\Mion.mp3
D_Network :WAV\LP\4.mp3
Baby's_Walk :WAV\LP\Rika.mp3
you(M.Box) :WAV\LP\OMAKE2.MP3
古−いにしえ−:WAV\LP\Nazo.mp3
ひぐらしの声:WAV\LP\higurashi.mp3
Soul_scour:WAV\LP\Soul_scour.mp3
違和感の発芽:WAV\LP\IWAKANNNOHATUGA.wav
d_paranoia:WAV\LP\depressive paranoia(心象音楽系).mp3
soak:WAV\LP\z2_hig1.mp3
見えぬ未来:WAV\LP\DEADEND.MP3
狂気への回廊:WAV\LP\getting_mad.mp3
狂気:WAV\LP\hig_sample_kyouki.mp3
祝祭:WAV\LP\higurashi_soundscape.mp3.mp3
Solitude:WAV\LP\Hgrs01.mp3
Confession:WAV\LP\T2.MP3
you :WAV\LP\You.mp3
d_p_by(celesta) :WAV\LP\03_CELE.MP3
スタコラサッサ:WAV\LP\3.mp3
見えない何かに怯える夜:WAV\LP\見えない何かに怯える夜.mp3
Amber :WAV\LP\amber.mp3
Bellflower:WAV\LP\bellflower.mp3
Frozen_Memories :WAV\LP\hgrs_03.mp3
feel:WAV\LP\FEEL.MP3
Birth & death :WAV\LP\Birth_and_death.mp3
Sheep counts:WAV\LP\Sheep counts.mp3
鬱:WAV\LP\higurashi(Utu).mp3
Cradle_song :WAV\LP\Cradle song.mp3
pros:WAV\LP\PROS.MP3
空夢:WAV\LP\SORA-YUME-.mp3
彷徨いの言葉は天に導かれ:WAV\LP\彷徨いの言葉は天に導かれ.mp3
Z・E・R・O:WAV\LP\zero.mp3
−鼓動−:WAV\LP\It moves.mp3
−胎動−:WAV\LP\instict.mp3
r_of_can:WAV\LP\r of can.mp3
Bigbear :WAV\LP\bigbear.mp3
Fearlessness:WAV\LP\Fearlessnessl_E.mp3
パリの午後:WAV\LP\1.MP3
Gray:WAV\LP\Gray_2.mp3
白霧の頂:WAV\LP\白霧の頂〜Blanc_pur〜Ver.β.mp3
C-examination :WAV\LP\omake_01.mp3
一重:WAV\LP\hitoe_2.mp3
conviction:WAV\LP\liveシーン音楽.mp3
LIVE:WAV\LP\LIVE_2.mp3
虚:WAV\LP\Typewriter.mp3
R_disaster:WAV\LP\chants90-AHH.mp3
月<惨⇔賛>歌:WAV\LP\月(惨⇔賛)歌.mp3
そら〜(piano) :WAV\LP\sora_no_mukou_201Ver2.mp3
years :WAV\LP\years_Ver2.mp3
door:WAV\LP\door.mp3
being :WAV\LP\tuika01_Ver3.mp3
rain:WAV\LP\instict2.mp3
ふたりひとり:WAV\LP\er_Ver3.mp3
伝えたいこと:WAV\LP\伝えたいこと(ループ処理).mp3
Testament :WAV\LP\Testament.mp3
squall:WAV\LP\It move2.mp3
Over_the_sky:WAV\LP\As time goes by.mp3
p_b_of_h:WAV\LP\primal-beat-of-horrow_T.mp3
a_operations:WAV\LP\attack_2DJさん_T.mp3
you-destructive:WAV\LP\demo_long._Ver2.mp3
s_a_destroy :WAV\LP\search and destroy(long)_ver3.mp3
祭:WAV\LP\maturi_01_Ver2.mp3
air_pizz:WAV\LP\air pizz_Ver2.mp3
Liberating:WAV\LP\Liberating.mp3
そらのむこう:WAV\LP\sora ver2_Ver2.mp3
宴:WAV\LP\utage_sample.mp3

1842 ◆adhRKFl5jU:2009/04/26(日) 00:14:56
SleipnirStartは見習うべき点もあるが、そうでない点もある。

1843 ◆adhRKFl5jU:2009/04/26(日) 21:08:54
いや、SleipnirStartのソースから学ぶことは何も無い。
流石に汚すぎるだろ。
ただ、文字コードの扱いが俺には理解できないなあ。

UTF-8のページからShift_JISのページをフレームで開いて中のdocumentとかで日本語を流し込んだりするとどのような挙動を示すのだろうか。

1844 ◆adhRKFl5jU:2009/04/27(月) 21:26:49
漸くnasm with gccの方法が分かったorz...
nasmでelfを吐くようにすると、gccでリンクしたときに正しいファイルを吐き出さない。
だから-f win32にして.objを吐き出させる。
で.asmはコードの前にsection .textを記述する。
globalはsection .textの前でも後でも良いみたい。
だけれどもラベルの前に書きましょう。

これに気づくのに何日かかったことやら。

1845774さん:2009/04/28(火) 18:27:16
FlashとAction Script3.0のチュートリアル30 | CREAMU
http://blog.creamu.com/mt/2009/04/flashaction_script3030.html

1846774さん:2009/04/28(火) 18:29:40
自由に使えるオープンソースの日本語フォント - SourceForge.JP Magazine
http://sourceforge.jp/magazine/09/04/27/0313213
Geekなぺーじ : みんなが知らずに使ってるAkamai
http://www.geekpage.jp/blog/?id=2009/4/27/1

1847 ◆adhRKFl5jU:2009/04/28(火) 20:53:34
誰か、zip解凍専用OSとか作らないかね。
リング0でzip解凍したらかなり高速化するんじゃね?

1848 ◆adhRKFl5jU:2009/04/29(水) 11:28:28
__cdeclはどのようなレジスタを変更して良いのか分からん。
eaxは大丈夫ecxも大丈夫だと思うからそうしよう。

1849 ◆adhRKFl5jU:2009/04/29(水) 13:07:23
#include <cstdio>
#include <windows.h>

extern "C"{
int test();
int IsCanUseCpuid();

struct CpuidData{
unsigned int eax, ecx, edx, ebx, esp, ebp, esi, edi;
};
void Cpuid(unsigned int, CpuidData*);
}

using namespace std;

int main(int argc, char **argv){
printf("%d\n", test());
printf("%d\n", IsCanUseCpuid());
CpuidData cd;
Cpuid(0, &cd);
char str[13];
*((unsigned int*)&str[0]) = cd.ebx;
*((unsigned int*)&str[4]) = cd.edx;
*((unsigned int*)&str[8]) = cd.ecx;
str[12] = '\0';
printf("%s\n", str);
MessageBox(NULL, TEXT("TEST"), NULL, MB_OK);
}
-----
global _test
global _IsCanUseCpuid
global _Cpuid

section .text

;引数
;1:eaxに入れる値
;2:レジスタの結果を入れる32bytes分のバッファへのポインタ
;void __cdecl Cpuid(unsigned int, unsigned char (*)[32]);
align 16
_Cpuid:
mov eax, [esp + 4]
cpuid
mov [esp + 4], eax
mov eax, [esp + 8]
mov [eax + 4], ecx
mov [eax + 8], edx
mov [eax + 12], ebx
mov [eax + 16], esp
mov [eax + 20], ebp
mov [eax + 24], esi
mov [eax + 28], edi
mov ecx, eax
mov eax, [esp + 4]
mov [ecx], eax
ret

;int __cdecl IsCanUseCpuid();
align 16
_IsCanUseCpuid:
push ebx
pushfd
mov eax, 1 << 21
pop ebx
mov ecx, ebx
mov edx, ebx
xor ebx, eax
and edx, eax
push ebx
popfd
pushfd
pop ebx
and ebx, eax
xor eax, eax
cmp ebx, edx
setne al
push ecx
popfd
pop ebx
ret


align 16
_test:
push ebp
mov ebp, esp
and esp, 0xFFFFFFF0
sub esp, 0x40

xorpd xmm0, xmm0
xorpd xmm1, xmm1
xorpd xmm2, xmm2
xorpd xmm3, xmm3
xorpd xmm4, xmm4
xorpd xmm5, xmm5
xorpd xmm6, xmm6
xorpd xmm7, xmm7

xor eax, eax

mov esp, ebp
pop ebp
ret

1850 ◆adhRKFl5jU:2009/04/29(水) 15:06:55
プロジェクトへの参加のお誘いを受けた。
受けたい。
だけれども、俺に出来ることはあるのか。

そのプロジェクトの.exeはJScript.NETで書かれていて吹いたwww

1851 ◆adhRKFl5jU:2009/04/29(水) 21:21:23
InprocHandler32 (COM)
http://msdn.microsoft.com/en-us/library/ms693485(VS.85).aspx
-----
COMコンポーネントのレジストリへの登録の仕方が書いてあるような無いような。

1852 ◆adhRKFl5jU:2009/04/29(水) 22:17:39
JScript.NET コモンダイアログ
http://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B9%E3%83%9E%E3%82%B9
-----
コモンコントロールの.NETでの開き方。

1853 ◆adhRKFl5jU:2009/04/29(水) 22:20:57
>INFO: JScript .NET Cannot Call Windows API or Exported DLL functions
えー

1854 ◆adhRKFl5jU:2009/04/29(水) 23:24:11
---------------------------
Add_Soft
---------------------------
H:\Add_Soft\MangaMeeya にアクセスできません。



セマフォがタイムアウトしました。


---------------------------
OK
---------------------------

1855 ◆adhRKFl5jU:2009/04/30(木) 18:42:58
取り敢えず、unicode版かそうじゃないかはIATを見れば分かるという話。

1856 ◆adhRKFl5jU:2009/05/01(金) 18:45:19
せっかくプロジェクトでやるんだったらsvnが良いよね!

1857 ◆adhRKFl5jU:2009/05/01(金) 22:33:23
#include <cstdio>
#include <windows.h>

using namespace std;

#define P(base, p) ((void*)(((unsigned int)base) + ((unsigned int)p)))

int main(int argc, char **argv){
HANDLE hFile = CreateFile(TEXT("Sleipnir.exe"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if(hFile == INVALID_HANDLE_VALUE){
MessageBox(NULL, TEXT("CreateFile Error!"), NULL, MB_OK);
return -1;
}

HANDLE hMap = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);

if(hMap == NULL){
MessageBox(NULL, TEXT("CreateFileMapping Error!"), NULL, MB_OK);
return -1;
}

const LPVOID p = MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);

if(p == NULL){
MessageBox(NULL, TEXT("MapViewOfFile"), NULL, MB_OK);
return -1;
}

PIMAGE_DOS_HEADER pImageDos = (PIMAGE_DOS_HEADER)p;

PIMAGE_NT_HEADERS32 pImageNt = (PIMAGE_NT_HEADERS32)P(p, pImageDos->e_lfanew);

PIMAGE_DATA_DIRECTORY pImageData = &pImageNt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT];

if(pImageData->VirtualAddress == 0){
MessageBox(NULL, TEXT("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!"), NULL, MB_OK);
}

printf("%08X\n", pImageData->VirtualAddress);

PIMAGE_IMPORT_DESCRIPTOR pImageImportDescriptor = (PIMAGE_IMPORT_DESCRIPTOR)P(p, pImageData->VirtualAddress);

printf("%08X\n", pImageImportDescriptor->Name);

printf("%s\n", (char*)P(p, pImageImportDescriptor->Name));


return 0;
}

1858 ◆adhRKFl5jU:2009/05/01(金) 22:33:58
IATが取得できないんですが・・・
ちゃんとページとかあわせないと駄目なんですか?

1859 ◆adhRKFl5jU:2009/05/01(金) 22:40:53
みたいですね・・・
まんどくせ。

1860 ◆adhRKFl5jU:2009/05/01(金) 22:47:31
セクションの情報から本当はどこからが何処にマッピングされるか計算した上でやらないといけないみたい。

1861 ◆adhRKFl5jU:2009/05/01(金) 22:48:09
明日まで覚えていることを期待して今日はもう寝る。

1862 ◆adhRKFl5jU:2009/05/02(土) 11:07:40
書いた。
-----
#include <cstdio>
#include <cstring>
#include <windows.h>

using namespace std;

#define P(base, p) ((void*)(((DWORD)base) + ((DWORD)p)))
namespace{
inline void *GetSectionBase(void *base, DWORD p){
PIMAGE_DOS_HEADER pImageDos = (PIMAGE_DOS_HEADER)base;
PIMAGE_NT_HEADERS32 pImageNt = (PIMAGE_NT_HEADERS32)P(base, pImageDos->e_lfanew);
PIMAGE_SECTION_HEADER pImageSection = IMAGE_FIRST_SECTION(pImageNt);

for(; pImageSection->VirtualAddress; ++pImageSection){
if(p - pImageSection->VirtualAddress <= pImageSection->SizeOfRawData){
//この値が0になる可能性はかなり低いと思われる。
return (void*)((DWORD)base - pImageSection->VirtualAddress + pImageSection->PointerToRawData);
}
}
return NULL;
}
}

int main(int argc, char **argv){
HANDLE hFile = CreateFile(TEXT("Sleipnir.exe"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if(hFile == INVALID_HANDLE_VALUE){
MessageBox(NULL, TEXT("CreateFile Error!"), NULL, MB_OK);
return -1;
}

HANDLE hMap = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL);

if(hMap == NULL){
MessageBox(NULL, TEXT("CreateFileMapping Error!"), NULL, MB_OK);
return -1;
}

const LPVOID p = MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, 0);

if(p == NULL){
MessageBox(NULL, TEXT("MapViewOfFile"), NULL, MB_OK);
return -1;
}

PIMAGE_DOS_HEADER pImageDos = (PIMAGE_DOS_HEADER)p;

PIMAGE_NT_HEADERS32 pImageNt = (PIMAGE_NT_HEADERS32)P(p, pImageDos->e_lfanew);

PIMAGE_DATA_DIRECTORY pImageData = &pImageNt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT];

if(pImageData->VirtualAddress == 0){
MessageBox(NULL, TEXT("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!"), NULL, MB_OK);
return -1;
}

void *idataBase = GetSectionBase(p, pImageData->VirtualAddress);
if(idataBase == NULL){
MessageBox(NULL, TEXT("GetSectionBase Error"), NULL, MB_OK);
return -1;
}


PIMAGE_IMPORT_DESCRIPTOR pImageImportDescriptor = (PIMAGE_IMPORT_DESCRIPTOR)P(idataBase, pImageData->VirtualAddress);

for(; pImageImportDescriptor->Name; ++pImageImportDescriptor){
char *moduleName = (char *)P(idataBase, pImageImportDescriptor->Name);
//printf("%s\n", moduleName);
if(strcmpi(moduleName, "kernel32.dll") == 0){
void *INTBase = GetSectionBase(p, pImageImportDescriptor->OriginalFirstThunk);
PIMAGE_THUNK_DATA pOrgImageThunkData = (PIMAGE_THUNK_DATA)P(INTBase, pImageImportDescriptor->OriginalFirstThunk);
for(; pOrgImageThunkData->u1.AddressOfData; ++pOrgImageThunkData){
if(0x80000000 & (DWORD)pOrgImageThunkData){
MessageBox(NULL, TEXT("pOrgImageThunkData Error"), NULL, MB_OK);
}else{
void *nameBase = GetSectionBase(p, pOrgImageThunkData->u1.AddressOfData);
PIMAGE_IMPORT_BY_NAME pImageImportByName = (PIMAGE_IMPORT_BY_NAME)P(nameBase, pOrgImageThunkData->u1.AddressOfData);
char *funcName = (char*)&pImageImportByName->Name;
if(strcmp(funcName, "CreateMutexW") == 0){
puts("unicode版");
return 0;
}
}
}
puts("mbcs版");
return 0;
}
}

//ここまで達しないはず。
return -1;
}

1863 ◆adhRKFl5jU:2009/05/02(土) 23:32:29
頑張って書いたソースが無駄になった絶望感は異常。
別に向こうのソースが早くて安全なんだから相手を評価せざるを得ない。
うーん。文字列データを利用して判別する方法は浮かびもしないわ。

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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