1 名前:デフォルトの名無しさん mailto:sageteoff [2016/10/08(土) 12:33:02.29 ID:0jaJMPXG.net] Win32APIについての質問はこちらへどうぞ。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/
237 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 08:27:00.87 ID:GvPbDV6s.net] どこがWin32APIの話なんだよ、ってことになるよなあ。 長々と議論に付き合ってた方々、お疲れ様。
238 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 09:07:26.76 ID:0vMtCyDD.net] 粒度の平均化してるとか言って全く出来てないし 精度の悪い数字を正しいと断定してるし しかも間違ってる 何度も指摘してるのに正そうとしない 全部ダメでしょ。
239 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 09:21:55.13 ID:+ocxhyeH.net] >>211 みたいな事言ってるからお察し
240 名前:185 [2016/12/02(金) 10:43:58.72 ID:H1x5ETqP.net] 報告書は突っ返されたので、まだまだ続きそうです。 まず、大大大前提を確認したいのですが、 GetThreadTimes()で取得するCPU時間は スレッドがCPUをとっている時間で、 一つのスレッドが同時に複数のコアを占有することはないので、 (精度云々ではなく定義上は)スレッドのCPU時間は実時間以下である(以下のペースで進む)。 これは、大前提としてあってますよね?
241 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 10:47:04.34 ID:rEQGNTwO.net] なんだ学校の課題だったのか
242 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 11:24:10.48 ID:EDk65fqO.net] 質問者より賢い人はいないのか? これでは、質問箱が成り立たないなw
243 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 11:27:08.99 ID:+ocxhyeH.net] >>239 そうだな じゃあ頼んだ
244 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 11:48:56.99 ID:2Jj/uLxs.net] だから再現できるサンプルをサクッと上げろよ。 だれも実物や社外ライブラリまで上げろといってないんだわ。 コーディングやデバッグ能力以外の能力が大きく欠如してるだろ。
245 名前:185 [2016/12/02(金) 11:58:27.27 ID:H1x5ETqP.net] 10回やってみました。 つまり、>>226 のコードでAとBだけでなく、AからJまでやってみました。 A timeGetTime()による時間:7msec カーネルモード時間:1092usec ユーザモード時間:14133usec B timeGetTime()による時間:7msec カーネルモード時間:249usec ユーザモード時間:343usec C timeGetTime()による時間:7msec カーネルモード時間:936usec ユーザモード時間:9141usec D timeGetTime()による時間:7msec カーネルモード時間:1372usec ユーザモード時間:4180usec E timeGetTime()による時間:7msec カーネルモード時間:561usec ユーザモード時間:6583usec F timeGetTime()による時間:7msec カーネルモード時間:717usec ユーザモード時間:7737usec G timeGetTime()による時間:7msec カーネルモード時間:468usec ユーザモード時間:4773usec
246 名前:185 [2016/12/02(金) 11:58:51.26 ID:H1x5ETqP.net] H timeGetTime()による時間:7msec カーネルモード時間:655usec ユーザモード時間:9672usec I timeGetTime()による時間:7msec カーネルモード時間:218usec ユーザモード時間:4149usec J timeGetTime()による時間:7msec カーネルモード時間:405usec ユーザモード時間:10795usec 全体(A〜J) timeGetTime()による時間:74msec カーネルモード時間:6645usec ユーザモード時間:71510usec
247 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 12:10:39.48 ID:fHtgnGrJ.net] 仕事が出来ないから、タダで手取り足取り協力してくれってか
248 名前:185 [2016/12/02(金) 13:02:57.14 ID:H1x5ETqP.net] 本件、私としては以下の結論に至りました。 ○timeGetTime()は信頼できる。 ○GetThreadTime()は信用できない (ティック間切り上げ的な傾向あり。理由不明。)。 ○timeGetTime()を基準に>>212 のような方法をとるほかない。 もう一度GetThreadTime()はどうしても信用ならず、 他に有用な代替手段もないため、 >>212 の方法が限界である旨を報告することにします。 何人かの真剣に助言して下さった方々、 本当にありがとうございました。
249 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 13:27:24.15 ID:bjzW9gj9.net] >>228 ドラスレの木屋さんも、timeGetTimeのこと調べてたな
250 名前:デフォルトの名無しさん [2016/12/02(金) 14:04:58.11 ID:ELslSS33.net] timeGetTimeやめてQueryPerformanceCounterを使ったら?
251 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 14:15:28.80 ID:ocojT6FV.net] 内容のアホさからして オバケじゃないことは確実
252 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 14:17:49.26 ID:6Vgvdyao.net] あらかじめtimeBeginPeriodも呼んでおかないと精度変わる
253 名前:デフォルトの名無しさん [2016/12/02(金) 14:21:54.01 ID:ELslSS33.net] 静的領域に書き込みすると、コピーオンライトが発生し、 動的領域を確保すると、最初とおよび足りない時はOSで確保と初期化があると思う それが1回目が遅い理由な気がする
254 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 14:30:05.73 ID:LG3SGwVv.net] 質問者はアレだが それはそうと、どうでも良いことをいうのはやめたほうが良いだろう 実時間とスレッド時間が食い違うって話だから 1回目が遅いとかそういう話ではない
255 名前:デフォルトの名無しさん [2016/12/02(金) 17:49:56.46 ID:EDk65fqO.net] 結局>>237 すら教えてあげなかったんだな。
256 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 18:15:57.54 ID:2Jj/uLxs.net] 質問者のアプローチや解釈が正しいのかが分からないのに、憶測で質問者回答者とも上から目線で やりあってる状況にまず疑問を抱いた方がいい。 そしてそれら以下の書き込みしかできないID:EDk65fqOはクソ中のクソだと認識した方がいい。
257 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 22:19:54.42 ID:rH7Be8WN.net] 最初からGetThreadTimesは約1/64秒の精度しか無いって分かっていたはずなのにね。 平均とっても意味がないってことが改めて分かったことだけが成果か。
258 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 23:51:36.19 ID:DveiiCO5.net] >>247 とか>>249 とか、全然関係ないことじゃん。
259 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 10:51:33.05 ID:YdYTZThj.net] OSがどうやってカーネルモードやユーザーモードの時間を計測しているのか想像できないのかねえ オーバーヘッドが高いやり方は採用できないと分かりそうなもんだが
260 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 11:08:29.93 ID:JHScEEfz.net] 触発されてGetThreadTimes=NtQueryInformationThread調べたんだけど”スレッド”の中身が興味深かった 質問者糞だから詳細は書かないがw
261 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 20:00:37.46 ID:6jC0i+kE.net] 俺もほんとはGetThreadTimesの特性知ってるけど、 質問者が土下座しないと教えてやらねぇw
262 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 20:35:28.76 ID:xp0AwakX.net] GO
263 名前:デフォルトの名無しさん mailto:sage [2016/12/03(土) 20:36:25.77 ID:xp0AwakX.net] the old new thing
264 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 11:31:12.68 ID:8oIVw/6i.net] Windows10ってCOMポート番号は最大何番までなんでしょうか?
265 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 11:37:47.55 ID:NE4G8kum.net] com1〜com256まで
266 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:08:20.93 ID:HYzaL+1F.net] 昔、レジストリから認識してるポート名を取得するサンプルあったな。 MSDNだったかな
267 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:22:02.41 ID:SxgHpTya.net] select欲しい
268 名前:261 mailto:sage [2016/12/04(日) 16:50:15.73 ID:8oIVw/6i.net] >>262 >>263 ありがとうございました!
269 名前:デフォルトの名無しさん [2016/12/09(金) 00:46:48.41 ID:WzSsU1Dc.net] WM_CHARでWPARAMに入ってくるコード一覧どっかない? 普通のキーならそのままだが、Back SpaceとかCtrl+Vとかのコードが知りたい。
270 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/09(金) 01:04:26.73 ID:IirsZJ4E.net] >>266 キーが押されてるかどうかの確認は、WM_KEYDOWNを使う。 「仮想キーコード一覧」で検索。 ただし、Ctrl,Shift,Altはmodifiersと呼ばれ、特別扱い。CtrlとShiftは GetKeyState(VK_SHIFT) < 0 GetKeyState(VK_CONTROL) < 0 で確認でき、AltはWM_NCKEYDOWNで確認できる。
271 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/09(金) 01:07:15.74 ID:IirsZJ4E.net] 訂正。 × AltはWM_NCKEYDOWNで確認できる。 ○ AltはWM_SYSKEYDOWNで確認できる。
272 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:09:14.26 ID:UWkfYPy/.net] プログラム実行中のログテキストをエディットコントロールに出力しようと思ったのですが、 32KB制限があり実用できないことが分かりました。 リッチエディットではそのような制限はないようなので、 特に問題なければこれでいこうかと考えているのですが、 他に良い方法があればご教示ください。
273 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:14:54.27 ID:cpVlzpwx.net] >>269 つ AllocConsole
274 名前:デフォルトの名無しさん mailto:sage [2016/12/12(月) 20:17:01.65 ID:dREO/TsY.net] EM_SETLIMITTEXT
275 名前:269 mailto:sage [2016/12/12(月) 20:41:35.46 ID:UWkfYPy/.net] >>270 ありがとうございます。 今回は検索機能とかも付けたいので、エディット系コントロールを利用することにします。 >>271 ありがとうございます。 これで通常のエディットコントロールで32KB以上を扱えます。 助かりました!
276 名前:デフォルトの名無しさん mailto:sage [2016/12/13(火) 09:08:32.63 ID:GC6m09wL.net] >>272 検索が必要ならリッチエディット
277 名前:269 mailto:sage [2016/12/13(火) 21:50:24.46 ID:EhPW3kvE.net] >>273 リッチエディットで実装を進めていて、あとは検索機能だけ、というところまで作れたんですが、 まさかリッチエディット自体に検索機能があったとは・・・! ここでお聞きしてよかったです。 ありがとうございました!
278 名前:デフォルトの名無しさん [2016/12/19(月) 05:43:50.59 ID:qsdLnaaR.net] paint.netのツールウィンドウみたいなやつってどうやって表示するの? ウィンドウスタイルを色々試してみたけどあれと同じようなウィンドウが出ない。
279 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 07:17:38.33 ID:jpBVYjvn.net] 拡張ウィンドウスタイル使え。
280 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:46:04.62 ID:qsdLnaaR.net] >>276 ありがとう。 拡張スタイル使ってもやっぱり無理だ。 思い通りに動かない。 数年前からずっと謎なんだよなこれ。 動作上問題が少ないから我慢してたんだけども。 それっぽいウインドウは出るものの、paint.netのように全ウインドウがアクティブ状態にならない。 【参考画像】news.softpedia.com/images/extra/WINDOWS3/large/paint.net/paint.net%20interface.jpg paint.netを実際に使ってるとよく分かるんだが、 参考画像のようにメインのウインドウもツール用のウインドウも常にアクティブな状態が維持される。 しかし、拡張スタイルでWS_EX_TOOLWINDOWを指定してもアクティブなウインドウは常に1つ。 メインのウインドウをクリックすればツール用ウインドウは非アクティブになり、 ツール用ウインドウをクリックすればメインウインドウは非アクティブになる。 非常に気持ちが悪い。 確かにWS_EX_TOOLWINDOWを利用すればメインウインドウより常に前面になり、 タスクバーにも表示されず、非常にpaint.netのツールウインドウと似たような挙動になるが、 このアクティブ/非アクティブに関しては挙動が全く違う。 ちなみにアクティブ/非アクティブの判断はタイトルバーの色で判断している。 さらに参考画像のツールウインドウのような右上の正方形の閉じるボタンの表示のさせかたも分からない。 ・・・と思ったら出てきたわ。 www.catch22.net/tuts/docking-toolbars-part-1 やっと出てきた。 WS_EX_TOOLWINDOWで検索してもノイズが多くてなかなか出てこなかった。 (ノイズ = MSDNのウインドウスタイルの一覧をコピペしただけのゴミサイト) ノイズゴミサイトマジで迷惑。 嫌がらせでしかない。
281 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:50:28.70 ID:qsdLnaaR.net] 結局今回のカギはGoogle画像検索。 ふと「サンプル載せてるサイトの半数くらいはスクショも載せてるのではないか」と思い、 例の拡張スタイルで画像検索。 俺がやりたいのと同じ状況になってる画像を見つけて開いたらビンゴ。 画像検索なんて今まで思いもよらなかったよ。 文字検索するとノイズゴミサイトばかり出てきてどうにもならなかった。
282 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:52:55.75 ID:qsdLnaaR.net] MSDNのコピペサイト作ってるゴミ共は早く死ねばいいのにな。 役に立たないどころか大迷惑。 最近流行りの質の低いキュレーションサイト()と同レベル。
283 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 00:02:24.24 ID:tFkwVopE.net] >>275 の意味がまったくわからなkったわww
284 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 06:12:08.47 ID:ADGhogoA.net] google personal blocklistでかたっぱしからブロックしてる xxxユーザー会もノイズ源だね
285 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 09:20:12.73 ID:F0IdvAwo.net] 顔写真ブロックは必須 おまえらキモ面なのに何故あんな目立つ場所に配置すんだ
286 名前:デフォルトの名無しさん [2016/12/20(火) 12:55:43.49 ID:lAXr92yw.net] >>278 おめ 興奮は伝わったが もちつけ
287 名前:デフォルトの名無しさん [2016/12/20(火) 13:00:10.44 ID:lAXr92yw.net] >>279 はてぶのことですねわかります
288 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 16:58:42.80 ID:WXAyO/1W.net] >>277 そういうときはいっそそのソフト解析したら? Paint.NETなら簡単に逆コンパイルできるし、Spy++とか使うだけでもある程度わかる
289 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 17:33:10.55 ID:Sq2CbWR0.net] OSSのソフトを逆コンパイルするの?
290 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 17:44:58.45 ID:F0IdvAwo.net] 今はちがうだろ
291 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 18:45:47.25 ID:lAXr92yw.net] 新手のアフィか
292 名前:デフォルトの名無しさん mailto:sage [2016/12/20(火) 19:12:59.79 ID:F0IdvAwo.net] アフィだったのかよ。新手すぎてアフィの影すら俺には見えん
293 名前:デフォルトの名無しさん [2016/12/20(火) 22:05:37.09 ID:JPbALvOm.net] MSDNのコピペサイト全般のことだろう>アフィ
294 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:04:08.51 ID:HCdO29Rc.net] 質問 writefile関数を使用してint型で、データ保存ができません。同じ悩み持ったことある人いらっしゃいませんか。
295 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:09:18.76 ID:GvkBvmPc.net] int Data = 123456;; DWORD writeLen; WriteFile(hFile,&Data,sizeof(Data),&writeLen,NULL); こういうことだろ?
296 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 01:10:40.03 ID:kLgQ2k1v.net] 変数のアドレスをwritefileにわたさないとだめ。数値そのままわたしてるんでしょ
297 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 21:06:02.77 ID:HCdO29Rc.net] >>292 >>293 ありがとうございます。引数としてアドレスを渡さないといけないのですね。試してみます!
298 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 08:34:56.43 ID:tk15BRot.net] msdn 関数名 でググる癖をつけよう
299 名前:デフォルトの名無しさん [2016/12/22(木) 12:50:31.88 ID:y+mdv7YD.net] -jp もお忘れなく
300 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 13:04:48.47 ID:hYDEOt1H.net] どうしてこういう訳そのままずっと放置してんだろうな > 関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。 > If the function fails, the return value is zero. To get extended error information, call GetLastError.
301 名前:デフォルトの名無しさん [2016/12/22(木) 18:24:16.26 ID:zHNnrJEM.net] >>296 なんで付けるの? 誤訳トラップにハマりたいの? 俺は誤訳トラップどころか英語版と日本語版で引数違うトラップにハマったことがあるけども。 日本語版を穴が空くほど見て確認したけど何日経ってもコンパイルが通らず、 何の気なしに英語版開いたら引数の数が違って、 英語版見ながら修正したら一発でコンパイル通ったわ。
302 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:39:46.34 ID:hYDEOt1H.net] >>298 +jp じゃなくて -jp
303 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:47:30.93 ID:YVr1LIe6.net] >>298 今時どんな開発環境使ってるんだよ w VisualStudio なら関数名 + '(' を入力した時点でプロトタイプが表示されるだろ
304 名前:デフォルトの名無しさん [2016/12/22(木) 18:55:29.30 ID:zHNnrJEM.net] >>299 ごめんなさいwww >>300 その当時はVector辺りで見つけてきた適当なテキストエディタとBCCだったよ。
305 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 19:02:14.56 ID:tk15BRot.net] >>301 C言語を始めよう!
306 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 22:46:25.55 ID:+nnZ9oR0.net] レポートタイプのリストビューをクリックしたら、その行のデータに対応する内容を 別の窓に詳細表示するというような動作をしているのですが、クリック時は NM_CLICK を処理してクリックされた行を nmLv->iItem メンバを参照して知ることができます。 オペレーションとしてはマウスだけではなくキーボード操作でリストビューの選択行を 次々と移動させることも多いので、LVN_KEYDOWN も処理して上記と同様の動作を させたいのですが、LVN_KEYDOWN 処理時は nmLv->iItem の中身が不定です。 LVN_KEYDOWN 処理時に ListView_GetNextItem で LVNI_ALL | LVNI_SELECTED を 指定して選択行を調べると、キーボードを押して選択行を変更する前の選択行が 得られてしまいます。 この辺は、一旦メッセージループを回すなどしてから現在の選択行を得ること自体は 可能と言
307 名前:ヲば可能なのですが、ここまでしないとダメなのかという疑問があります。 LVN_KEYDOWN 処理時、もしくはキーボード操作で選択行を変更した際、簡潔に 現在の選択行を得る方法はありますでしょうか? [] [ここ壊れてます]
308 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 23:02:45.31 ID:hYDEOt1H.net] LVN_ITEMCHANGED
309 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 14:54:42.80 ID:qGVMhgWM.net] 質問です。 win10 x64 windows がキャッシュしてる dns の名前解決結果の一部を書き換えることは可能ですか? または、名前解決の最中に結果をいじるようなフックは出来ませんか? 例えば、example.com の ttl を長めに書き換える、とかです。 よろしくお願いします。
310 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/23(金) 15:00:49.80 ID:3xdKhrkh.net] >>305 デバッグ特権があれば、別のプロセスのプロセスメモリーにアクセスすることも可能。
311 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:29:20.66 ID:Kb3OsEli.net] 対象アプリ限られてくるけどAPIフックすりゃ簡単に結果改竄はできるな キャッシュ改竄はフィルタードライバあてる面倒なのしか思いつかない
312 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:36:22.73 ID:5J5pLbD7.net] 以下の処理を実装したく、助言をお願いします。 ダブルクリックや右クリ開くなどで、ファイルを開く際に 関連付けの有無に関わらず、そのファイルのパスを取得したい。 ShellProcあたりのフックかと考えましたが、パスをどうやって 調べるのか分かりません。 どうぞ宜しくお願いします。
313 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 15:54:43.63 ID:Kb3OsEli.net] 目的次第だがShellProcは違うんじゃないか explorer.exeに対してShellExecuteあたりのフックか?
314 名前:デフォルトの名無しさん [2016/12/23(金) 15:59:09.98 ID:5tPECy1o.net] >>305 proxy arp
315 名前:305 mailto:sage [2016/12/23(金) 16:14:48.81 ID:sqLqmtwC.net] >>305 , 306 レスありがとうございます。 DLL注入やアタッチのよるDNS改ざんは確かにできそうですね。 検討してみます。 ちなみに、プロセスは基本的には chrome です。 >>307 できればフィルタードライバの設計を、おおざっぱでもいいので教えて頂けませんか? (ドライバのコーディングは、ほぼ経験が無く、ネットワークそのものの知識はあるものの、windows内部での扱いやAPIはまったく知識が無いです) ちなみに、VPNによる仮想アダプタと、複数のネットワークカード(アダプタ)があるのですが、それでも対応可能でしょうか? (直感的には、特定アダプタに対するフィルターだと、アダプタの優先度に左右されそう。アダプタ依存にはしたくないです)
316 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 16:17:28.56 ID:gpKoKuI/.net] >>304 解決しました。 どうもありがとうございました。
317 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 16:45:40.87 ID:Kb3OsEli.net] >>311 WDKサンプルのこのあたりが参考になるのかな NDIS 6.0 Filter Driver Windows Filtering Platform Packet Modification Sample
318 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:41:05.18 ID:AXa0yhpU.net] >>313 ありがとうございます。参考にさせて頂きます。
319 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 20:58:07.38 ID:3KzFEnUI.net] >>314 きっとおまえがやりたいことはchrome拡張でonbeforerequestいじれば解決する・・・
320 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 22:10:16.80 ID:n7UGfNqJ.net] iniファイルから文字列を読み込むGetPrivateProfileString()なんですが、 セミコロン以下のコメント文まで読み込んでしまいます。 コメント文は読み込まないようにできないでしょうか? それとも自分でコメント文を削除するしかないでしょうか?
321 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 00:55:07.08 ID:cwwyPIk6.net] 同一行にコメントはwindows的にアウト
322 名前:316 mailto:sage [2016/12/26(月) 01:06:56.36 ID:CvSBnmkv.net] >>317 なるほど! ありがとうございました!
323 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 08:40:18.91 ID:I+2Q+LPS.net] コメントを勘違いしてるんじゃね?
324 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 21:20:51.81 ID:SUV7MStA.net] セミコロン付けたらコメントになるって言うけどよー あれ実際は特別扱いなんかしてなくて、例えば ;abc=def にしたら「;abc」って名前になるから「abc」に一致しなくなるだけじゃないかと疑ってる
325 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 21:34:05.02 ID:sfc5Nc1U.net] じゃあ「;abc」で試してみればよくね?
326 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 22:12:12.96 ID:ffv778mh.net] セミコロンは行頭にある時だけを特別扱いしているみたいだ
327 名前:316 mailto:sage [2016/12/29(木) 11:37:53.16 ID:E1SACFDz.net] 使ってるエディタが.iniの同一行コメントもコメント色に変換してくれるので、誤解してしまいました。 気を付けます。
328 名前:デフォルトの名無しさん mailto:age [2016/12/30(金) 13:34:08.58 ID:qor2kyvR.net] winsockの関数フックしたいんですけどインポートアドレステーブル上の ws2_32.dllの関数だけ取得できません。どうしたら? ttp://up2.cache.kouploader.jp/koups19399.txt このコードは 自身のロードしたDLLの関数名を列挙するだけのシンプルなものですが、 やはりwinsockの関数名だけ取得できないです。 ImageDirectoryEntryToData()の第3引数を IMAGE_DIRECTORY_ENTRY_IATや IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えても取得できませんでした(そもそも関数がnull返してくる
329 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:46:15.25 ID:ymKNG2iV.net] WSAStartupは成功してんの?
330 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:47:50.05 ID:LToUj4mC.net] 名無しだからcontinueですっ飛ばしてんだろ
331 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/12/30(金) 14:07:12.37 ID:nsN9rWIv.net] GetLastError()を調べてみよ。
332 名前:324 mailto:sage [2016/12/30(金) 14:41:23.26 ID:qor2kyvR.net] >>325 成功しているようです >>326 関数名が名無しということですか? >>327 どのタイミングでですか? if(IMAGE_SNAP_BY_ORDINAL(pThunkData->u1.Ordinal)) winsockの関数だけこのif文が真になります。 ttp://i.imgur.com/jWNmlgm.png デバッガでIAT覗くと、正しい関数名ではないが、2つの関数らしきもの?が表示されていて これがWSAStartup()/WSACleanup()に対応するものだと思われます 他のDLLでは関数名が正しく表示されます。 これが、関数名が名無しということならどう対処するのかご教示頂きたいです。 海外のフォーラムの似たような質問では ImageDirectoryEntryToData()の第3引数を IMAGE_DIRECTORY_ENTRY_DELAY_IMPORTに変えて成功したと書かれていたんですけどね、成功しませんでした。
333 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 15:38:47.57 ID:LToUj4mC.net] >>328 関数名は名前あるけど、インポートが名無し
334 名前:デフォルトの名無しさん [2016/12/30(金) 15:39:26.81 ID:Q3tvxZdg.net] マクロというオチ
335 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 15:40:45.50 ID:LToUj4mC.net] 対処は名前比較じゃなくてアドレス比較
336 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 19:08:50.21 ID:qor2kyvR.net] >>331 ヒントありがとうございました。解決しました PIMAGE_THUNK_DATA pThunkData = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->OriginalFirstThunk); PIMAGE_THUNK_DATA pRealThunk = (PIMAGE_THUNK_DATA)((PBYTE)hmodCaller + pImportDesc->FirstThunk); while(pThunkData->u1.Function){ FARPROC pfnImportedFunc = (FARPROC)(pRealThunk->u1.Function); ・・・ 上記のIAT上の関数アドレスと、 LoadLibrary()&GetProcAddress()で取得したwinsock関数のアドレス を比較し一致したものを書き換えたら成功しました。 ttp://blog.techlab-xe.net/wp-content/uploads/2014/05/pe-format-import-func-list.png これそもそも 文字列比較より アドレス比較を用いる方法のほうが正確なやりかたですよね?
337 名前:デフォルトの名無しさん [2017/01/21(土) 17:55:42.90 ID:0py1wTB0.net] CreateProcess関数の質問です。この関数で開いた外部プロセスを、操作しようとしたらハンドルされていない例外エラー発生したことある人いますか? エラーメッセの オブジェクト参照がオブジェクトインスタンスに設定されていませんの意味もいまいちわからずです。悩んでいます。 どなたかヒントをくれたら幸いですm(__)m