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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0731
commetUSBからの起動4解決


commet

リンク

2010/7/31(Sat) 10:00:03|NO.34115

現在あるセキュリティソフトを作成しています。
このソフトはUSB(マイコンピュータ上ではpicoboost(G:)と表示されています)の中に入れて配布
する予定で、USBを差し込むことで使用ができるようにしたいのですが、USBからしか起動できなく
する(いわゆるUSBからコピーすることでUSBがなくても使用できたりすることを防ぐ)方法はあり
ますでしょうか?

簡単な方法としては・・・

SDIR=dirinfo(0) HDIN=strmid(SDIR,0,1) if HDIN="C":end
とすることでCドライブからの起動を防げるなっと考えました。しかしパソコンによってはドラ
イブ名が異なりますし、USBに割り当てられたドライブ名も異なります(GとかHとか)。

HSPソフト起動時にUSBからの起動かどうかを確認できるスクリプトをお教えください。
お願いいたします。



この記事に返信する


ikki

リンク

2010/7/31(Sat) 10:20:21|NO.34120

commetさんの腕前がどのくらいかは知りませんが
HSPでセキュリティソフトを作るのはほぼ困難に近いかと・・・
また、作るにはそのウィルスの特徴を知る必要がありますし・・・
そのことを踏まえた上で作るのならC言語を使うと良いと思います。



inovia

リンク

2010/7/31(Sat) 10:51:52|NO.34130


#include "kernel32.as" // カレントではなくEXEのパスから取得 // (カレントだとパスが動いてしまうため) de = dir_exe // 小文字に変換しつつ、ドライブレターを取得 path = getpath(strmid(de,0,1),16) // 一応チェック(a〜zの範囲かどうか、ネットワークドライブだと\で始まるため) if (peek(path,0)>=0x61)||(peek(path,0)<=0x7A){ // ドライブの種類をチェック // stat = 0 : 不明なドライブ // stat = 1 : ルートディレクトリがない、マウントされていないドライブ // stat = 2 : リムーバブルドライブ(USBメモリ、メモリカード、MO。FDDなど) // stat = 3 : 固定ドライブ(HDDなど) // stat = 4 : ネットワークドライブ // stat = 5 : 光学ドライブ(CDなど) // stat = 6 : RAMディスク GetDriveTypeA path+":\\" if stat=2{ dialog "リムーバブルディスクです" }else{ dialog "リムーバブルディスク以外です" } }else{ // a〜z 以外 }



inovia

リンク

2010/7/31(Sat) 11:17:33|NO.34133

もしくは、GetVolumeInformationAを使用してボリュームシリアル番号で判定する方法。
上で上げたスクリプトはほかのUSBメモリに移動した場合は
意味がなくなってしまうので別の方法で。

以下のスクリプトでボリュームシリアル番号を調べることができます。

#include "kernel32.as" //USBメモリのドライブレター path="H" snum=0 GetVolumeInformationA path+":\\",0,0,varptr(snum),0,0,0,0 mes snum

チェック


#include "kernel32.as" // 対象のボリュームシリアル番号をあらかじめ調べておく必要があります。 snum_chk=-798281842 // カレントではなくEXEのパスから取得 // (カレントだとパスが動いてしまうため) de = dir_exe // 小文字に変換しつつ、ドライブレターを取得 path = getpath(strmid(de,0,1),16) // 一応チェック(a〜zの範囲かどうか、ネットワークドライブだと\で始まるため) if (peek(path,0)>=0x61)||(peek(path,0)<=0x7A){ snum=0 GetVolumeInformationA path+":\\",0,0,varptr(snum),0,0,0,0 // ボリュームシリアル番号をチェック if snum!=snum_chk{ dialog "不正にコピーされました!" }else{ dialog "正しく実行されています!" } }



commet

リンク

2010/7/31(Sat) 19:47:11|NO.34152

皆様ありがとうございました!

セキュリティソフトといっても簡易的なものです。これで完成しました!
また何かありましたらよろしくお願いします。



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