ايران ويج

نسخه‌ی کامل: در خواست سورس برنامه ی ضد اتوران
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
اگر شما هم لطف کنید اون چند خط رو هم بگید ممنون می شیم
دوست عزیز

ابتدا این کدها رو تو بخش General فرمتون کپی کنید

کد:
Private Const MAX_PATH = 260
Private Const MAXDWORD = &HFFFF
Private Const INVALID_HANDLE_VALUE = -1
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100

Private Type FILETIME
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
  dwFileAttributes As Long
  ftCreationTime As FILETIME
  ftLastAccessTime As FILETIME
  ftLastWriteTime As FILETIME
  nFileSizeHigh As Long
  nFileSizeLow As Long
  dwReserved0 As Long
  dwReserved1 As Long
  cFileName As String * MAX_PATH
  cAlternate As String * 14
End Type

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

سپس این توابع رو هم داخل بخش جنرال فرمتون تعریف کنید

کد:
Function StripNulls(OriginalStr As String) As String
   If (InStr(OriginalStr, Chr(0)) > 0) Then
      OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
   End If
   StripNulls = OriginalStr
End Function

کد:
Function FileDel(adr As String)
SetFileAttributes adr, FILE_ATTRIBUTE_NORMAL
Kill adr
End Function
این تابع برای پیدا کردن فایل و حذف اون به کار می ره
کد:
Function FindFilesAPI(path As String, SearchStr As String, FileCount As Variant, DirCount As Variant)
  Dim FileName As String
  Dim DirName As String
  Dim dirNames() As String
  Dim nDir As Variant
  Dim i As Variant
  Dim hSearch As Long
  Dim WFD As WIN32_FIND_DATA
  Dim Cont As Variant
  If Right(path, 1) <> "\" Then path = path & "\"
    nDir = 0
    ReDim dirNames(nDir)
    Cont = False
    hSearch = FindFirstFile(path & "*", WFD)
    If hSearch <> INVALID_HANDLE_VALUE Then
      Do While Cont
       DirName = StripNulls(WFD.cFileName)
         If (DirName <> ".") And (DirName <> "..") Then
            If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then
              dirNames(nDir) = DirName
              DirCount = DirCount + 1
              nDir = nDir + 1
              ReDim Preserve dirNames(nDir)
            End If
         End If
      Cont = FindNextFile(hSearch, WFD)
     Loop
   Cont = FindClose(hSearch)
End If
hSearch = FindFirstFile(path & SearchStr, WFD)
Cont = True
If hSearch <> INVALID_HANDLE_VALUE Then
    While Cont
       FileName = StripNulls(WFD.cFileName)
          If (FileName <> ".") And (FileName <> "..") Then
            FindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow
            FileCount = FileCount + 1
            FileDel path & FileName
            FDrv = UCase(Left(path, 1))
            FileFuond = path & FileName
          End If
      Cont = FindNextFile(hSearch, WFD)
   Wend
   Cont = FindClose(hSearch)
End If
If nDir > 0 Then
   For i = 0 To nDir - 1
       FindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i) & "\", SearchStr, FileCount, DirCount)
   Next i
End If
End Function
برای فراخوانی تابع بالا می تونید از دستور زیر استفاده کنید

کد:
Dim SearchPath As String, FindStr As String
    Dim FileSize As Variant
    Dim NumFiles As Variant, NumDirs As Variant
    SearchPath = LCase(F(h))
    FindStr = "autorun.inf"
    FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)
از این کد میتونین برای تشخیص اتصال هر چیزی به درگاه usb استفاده کنید

کد:
procedure TForm6.WMDEVICECHANGE(var Msg: TMessage);
const
DBT_DEVICEARRIVAL = $8000;
DBT_DEVICEREMOVECOMPLETE = $8004;
begin
  case Msg.wParam of
    DBT_DEVICEARRIVAL:
    TrayIcon1.BalloonHint:='usb device is connect';
    DBT_DEVICEREMOVECOMPLETE:
    begin
    if k=1 then
     TrayIcon1.BalloonHint:='usb device dissconnect';
    end;
  end;
برنامه آنتی ویروسی که من نوشتم یک پلاگین همراهشه که اتوماتیک مانیتور میکنه وقتی به پورت دستگاهی وصل کنی میتونی از اون استفاده کنی
خود انتی هم میتونی اونارو پاک کنه
لینکش تو امضام این پایین هست
این هم تقریبا همون کدی هست که مبین عزیز قرار دادن ولی برای VB کارها!

این قسمتی از سورس کد برنامه DiDi Usb Protector هست که در اختیار شما قرار می دم.

[attachment=4829]
پچه ها دست گل همتون درد نکنه ممنون از توجه ی گرمتون
با اجازه آقای LORD_Viper باید عرض کنم خیر بهترین راه برای جلوگیری از آتوران ساختن یه فولدر به نام
Autorun.inf هست که باید داخل اون یه فولدر با استفاده از کارکتر غیر مجاز بسازید مثل COM1 این دقیقا کاریه که نرم افزار آتوران ریمور انجام میده
دوست عزیز

با استفاده از روشی که توضیح دادید می شه جلوی انتقال ویروس از کامپیوتر به فلش مموری رو گرفت و روشی که

ما در اینجا توضیح دادیم جلوی انتقال ویروس از فلش مموری به کامپیوتر رو می گیره که این دو کاملا با هم فرق دارند.
سلام جناب Di Di خان
من از کد ها وتوابع شما استفاده کدم ولی از یکی از تابعه ها به دلیل تابع تعریف نشده ایراد میگیره و من برای تعریف کدنش اقدام کردم ولی وقتی انجام می دم پنجره ی وی بی رو میبنده اینم تصویر ایراده
[تصویر:  1274135341.jpg]
بايد تعريف كنيد

اين را به قسمت General اضافه كن
کد:
private Declare Function SetFileAttributes Lib "kernel32.dll" _
Alias "SetFileAttributesA" (ByVal lpFileName As String, _
ByVal dwFileAttributes As Long) As Long
سلام به همه دوستان
یه سوال
در مورد حذف کردن آتوران گفتید ساده ترین روش کد Kill "C:/Autorun.inf"

به برنامه دستور میدیم که توسط کد Kill "C:/Autorun.inf" چنین فایلی رو پاک کنه.

اگه چنین فایلی در یکی از درایو ها موجود نباشه چطور؟ اونقت VB از چنین کدی اشکال میگیره و اجرا نمیکنه.

منظورم اینه که باید چه کدی به برنامه بدیم تا ابتدا درایو هارو سرچ کنه و بعد از پیدا کردن اون فایل حذفشون کنه.

من چنین برنامه ایی نوشتم ولی پر از اشکاله. یعنی تمام پوشه های یک درایو رو سرچ میکنه.

چطور میشه کاری کرد که فقط صفحه اول درایو مثلا درایو C رو سرچ کنه و سراغ پوشه های دیگه نره؟؟

ممنون میشم اگه کمکم کنید.
صفحه‌ها: 1 2 3 4