HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0106
ayasaHSPでwin32apiを使用したとき。20未解決


ayasa

リンク

2012/1/6(Fri) 19:46:28|NO.44126

hspでwin32api関数を呼びだした時、関数が成功したとき、その値はどこに入るのですか?たとえばOpenProcess()を使用したとき、取得したハンドルはどこに入るのでしょうか。



この記事に返信する


inovia

リンク

2012/1/6(Fri) 20:22:56|NO.44128


#include "kernel32.as" OpenProcess p1, p2, p3 hProcess = stat


#uselib "kernel32.dll" #func OpenProcess "OpenProcess" sptr,sptr,sptr OpenProcess p1, p2, p3 hProcess = stat
の場合はstatに返ってきますし。

#uselib "kernel32.dll" #cfunc OpenProcess "OpenProcess" sptr,sptr,sptr hProcess = OpenProcess(p1, p2, p3)
#cfunc を使った場合は直接渡すこともできます。



ayasa

リンク

2012/1/6(Fri) 20:47:47|NO.44129

#uselib "kernel32.dll"
#cfunc OpenProcess "OpenProcess" sptr,sptr,sptr
hprocess = OpenProcess (PROCESS_ALL_ACCESS, TRUE, "*******.EXE")
mes hprocess

これって間違いでしょうか?



てれてれ

リンク

2012/1/6(Fri) 21:18:33|NO.44130

何がしたいのかよくわからないです。


#uselib "user32.dll" #func GetWindowThreadProcessId "GetWindowThreadProcessId" int , var #uselib "kernel32.dll" #cfunc OpenProcess "OpenProcess" sptr,sptr,sptr #define PROCESS_ALL_ACCESS $001F0FFF #define TRUE $00000001 GetWindowThreadProcessId hwnd, pid ; プロセス識別子(pid)を取得 hprocess = OpenProcess (PROCESS_ALL_ACCESS, TRUE, pid) mes hprocess
OpenProcessの用法を勘違いしてるような・・・



ヂオン

リンク

2012/1/6(Fri) 21:33:34|NO.44134

exeファイルをプログラムから実行したいのなら。
CreateProcess を 使う事になると思います。
OpenProcess はすでに実行されているプロセスのアクセス権を得るために使用されます。



ayasa

リンク

2012/1/6(Fri) 22:09:04|NO.44140

OpenProcess はすでに実行されているプロセスのアクセス権を得るために使用されます。とありますが、どう書けばできますか?



てれてれ

リンク

2012/1/6(Fri) 22:12:40|NO.44141

あなたがプロセスのアクセス権を得て、結果として何がしたいのかわかりません。
具体的に説明してください。



ayasa

リンク

2012/1/7(Sat) 08:53:33|NO.44152

VECTORで公式に配布されているツール「うさみみはりけ〜ん」http://www.vector.co.jp/soft/win95/prog/se375830.html  の処理を自動化させようと思いまして。WriteProcessMemoryはメモリ操作を簡単にしてくれるdllを先輩方が公開してくださっているので、uselibのみで後は簡単にできました。しかし、プロセスのメモリ属性が読みとりのみだと書き込みできませんので、WriteProcessMemory関数が失敗します。ですので書き込み属性を加える方法を探しております。 しかしwin32apiの書き方となると、私のスキルでは少々ややこしいもので、この掲示板の方たちなら知ってらっしゃると思い質問させていただきました。  あつかましいとは思いますがどうか私にご教授いただけるとありがたいです。 



てれてれ

リンク

2012/1/7(Sat) 12:55:23|NO.44154

ゲームの不正利用の手助け等はしたく無いので、
何のためにメモリの改竄を行いたいのか理由を教えて下さい。



ayasa

リンク

2012/1/7(Sat) 14:51:41|NO.44159

結局hspではできないんですかね。  やはりマイナー言語には限界あるんですね。



ayasa

リンク

2012/1/7(Sat) 15:00:01|NO.44160

うさみみはりけ〜んにもアクセス属性変更の機能あるんですけど、イチイチ面倒なのでワンクリックでできるよう自動化させたいってのがあります。うさみみ自体がゲームのメモリを変更するためにあるようなものですね。



てれてれ

リンク

2012/1/7(Sat) 15:03:22|NO.44161

結論から言えば可能です。
しかし、そのような利用方法をするとわかった以上、私からお教え出来る事は何もございません。



ayasa

リンク

2012/1/7(Sat) 15:48:06|NO.44162

そこをなんとか!



XBG|YAMANOTE231103(携帯端末)

リンク

2012/1/7(Sat) 16:31:14|NO.44163

>そこを何とか!
思いっきりタブー発言したぞ今。
仕方がないから独学で頑張れ。



check

リンク

2012/1/7(Sat) 22:06:14|NO.44173

うさみみの作者にでも聞いてみればいいんじゃね?
メモリ操作をHSPでやろうとする時点で限界があると思うけどな。



てれてれ

リンク

2012/1/7(Sat) 22:22:40|NO.44174

>メモリ操作をHSPでやろうとする時点で限界があると思うけどな。
普通にWindows APIで可能ですよ。



check

リンク

2012/1/7(Sat) 22:39:24|NO.44175

じゃあ訂正するわ
メモリ操作をHSPでやろうとする時点で限界がある ×
メモリ操作をHSPでやろうとするととても面倒 ○



てれてれ

リンク

2012/1/7(Sat) 22:50:35|NO.44177

というかAPIを使い始めたらもう他の言語と大差無いと思いますけど・・・



ザーメン

リンク

2012/1/7(Sat) 23:36:44|NO.44178

まぁHSPでAPI使うとなると、マクロの定義とか構造体を与えるのとかめんどくさそうでしょう。
sdimでなんとかなるんじゃねとかおもっても、アライメントとかめんどくさいですし。



てれてれ

リンク

2012/1/7(Sat) 23:51:35|NO.44179

>まぁHSPでAPI使うとなると、マクロの定義とか構造体を与えるのとかめんどくさそうでしょう。
確かにそれはよくありますねー。



ayasa

リンク

2012/1/8(Sun) 01:21:36|NO.44182

投稿者です。メモリ操作はwriteprocessmemory呼び出して普通にできたのですが、openprocessを使って書き込み属性くわえるプログラム書いたら動かなかったので、
どこがおかしいのかわからずに最終的に質問みたいな流れでした。



ONION software Copyright 1997-2023(c) All rights reserved.