STMIKBG MATARAM

Situs Online Anak-Anak Bumi Gora

Archive for the ‘Visual Basic’


Menggunakan WMI

Hari ini ada sedikit keisengan yang disarankan sama erwin aka moonbluez and adit` aka nyem yakni bagaimana kita bisa mengakses windows management instrument (WMI) pada komputer remote, Bicara WMI kayaknya baru kali ini, gw jadi penasaran. Setelah gw tanya ke mbah google akhirnya gw ada sedikit bayangan dan yang paling banyak adalah keterkejutan gw, bayangkan dengan WMI kita bisa mendapatkan informasi apapun pada komputer yang menjalankan system operasi windows.

Bayangkan dengan WMI anda bisa melihat proses list, type procesor dan kecepatan processor, keadaan memory, besar kapasitas hardisk yang ada dikomputer dan kemampuan lainnya dengan perintah WQL, contohnya

'untuk melihat process list
Select * From Win32_Process

Dengan berbekal sedikit bahasa pemerograman visual basic anda bisa membuat sebuah tools untuk mengakses WMI seperti contoh dibawah ini

' Full Computer Name
' can be found by right-clicking My Computer,
' then click Properties, then click the Computer Name tab)
' or use the computer's IP address
strComputer = "FullComputerName"
strDomain = "DOMAIN"
Wscript.StdOut.Write "Please enter your user name:"
strUser = Wscript.StdIn.ReadLine
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password:"
strPassword = objPassword.GetPassword()

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, _
    "root\cimv2", _
     strUser, _
     strPassword, _
     "MS_409", _
     "ntlmdomain:" + strDomain)
Set colSwbemObjectSet = _
    objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess in colSWbemObjectSet
    Wscript.Echo "Process Name: " & objProcess.Name
Next

untuk vb.net code seperti dibawah ini

Imports System
Imports System.Management
Public Class RemoteConnect

    Public Overloads Shared Function Main( _
    ByVal args() As String) As Integer
    Dim scope As ManagementScope
        scope = New ManagementScope( _
            "\\FullComputerName\root\cimv2")
        scope.Connect()
    Dim query As ObjectQuery
        query = new ObjectQuery( _
            "SELECT * FROM Win32_OperatingSystem")
    Dim searcher As ManagementObjectSearcher
        searcher = _
            New ManagementObjectSearcher(scope, query)
    Dim queryCollection As ManagementObjectCollection
        queryCollection = searcher.Get()
    Dim m As ManagementObject
        For Each m In queryCollection
            ' Display the remote computer information
            Console.WriteLine("Computer Name : {0}", _
                m("csname"))
            Console.WriteLine("Windows Directory : {0}", _
                m("WindowsDirectory"))
            Console.WriteLine("Operating System: {0}", _
                m("Caption"))
            Console.WriteLine("Version: {0}", m("Version"))
            Console.WriteLine("Manufacturer : {0}", _
                m("Manufacturer"))
        Next
        Return 0
    End Function
End Class

Kemungkinan saat menjalankan WMI tools secara remote anda akan diblok biasanya ada pesan “RPC Server unavailable” untuk troubleshot masalah tersebut anda bisa menonaktifkan windows firewall atau ketik command berikut pada remote komputer Netsh firewall set service RemoteAdmin

Terdapat juga beberapa error seperti “Access denied”, untuk mengatasi masalah ini anda bisa menjalankan secpol.msc dan pada section Local Policies - Security Options - Network access jika diset Guest only anda harus memasukkan ke mode Classic dan restart komputer anda.

AppActivate Statement

Activates an application window.
Syntax
AppActivate title[, wait]
The AppActivate statement syntax has these named arguments

Part

Description

title

Required. String expression specifying the title in the title bar of the application window you want to activate. The task ID returned by the Shell function can be used in place of title to activate an application.

wait

Optional. Boolean value specifying whether the calling application has the focus before activating another. If False (default), the specified application is immediately activated, even if the calling application does not have the focus. If True, the calling application waits until it has the focus, then activates the specified application.

Remarks

The AppActivate statement changes the focus to the named application or window but does not affect whether it is maximized or minimized. Focus moves from the activated application window when the user takes some action to change the focus or close the window. Use the Shell function to start an application and set the window style.

In determining which application to activate, title is compared to the title string of each running application. If there is no exact match, any application whose title string begins with title is activated. If there is more than one instance of the application named by title, one instance is arbitrarily activated.

AppActivate Statement Example

This example illustrates various uses of the AppActivate statement to activate an application window. The Shell statements assume the applications are in the paths specified. On the Macintosh, the default drive name is “HD” and portions of the pathname are separated by colons instead of backslashes.

Dim MyAppID, ReturnValue

AppActivate “Microsoft Word” ‘ Activate Microsoft Word. 

‘ AppActivate can also use the return value of the Shell ‘Function.

MyAppID = Shell(”C:\WORD\WINWORD.EXE”, 1) ‘ Run Microsoft Word.

AppActivate MyAppID ‘ Activate Microsoft Word.

‘ You can also use the return value of the Shell function.

ReturnValue = Shell(”c:\EXCEL\EXCEL.EXE”,1) ‘ Run Microsoft ‘Excel.

AppActivate ReturnValue ‘ Activate Microsoft Excel.

Fungsi untuk menghitung Umur

Kemarin sempat bingung untuk menentukan umur dari semua semua data customer, cukup pusing untuk bermain-main dengan kondisi-kondisi tanggal. Tapi akhirnya ternyata mungkin karena kebodohan saya tidak sadar ternyata divisual basic telah disediakan sebuah class dari object Date.DateDiff

Ok, kita kembali kepokok masalah, bagaimana cara kita mencari jumlah tahun, bulan dan hari dari tanggal lahir seseorang. Untuk studi kasus pertama kita akan melihat code yang menghitung umur ( tahun, bulan dan hari) dibawah ini tanpa menggunakan perintah DateDiff

Public Function ExactAge(BirthDate As Variant) As String
Dim yer As Integer, mon As Integer, d As Integer
Dim dt As Date
Dim sAns As String

If Not IsDate(BirthDate) Then Exit Function
dt = CDate(BirthDate)
If dt > Now Then Exit Function
yer = Year(dt)
mon = Month(dt)
d = Day(dt)
yer = Year(Date) - yer
mon = Month(Date) - mon
d = Day(Date) - d

If Sgn(d) = -1 Then
d = 30 - Abs(d)
mon = mon - 1
End If

If Sgn(mon) = -1 Then
mon = 12 - Abs(mon)
yer = yer - 1
End If

sAns = yer & ” year(s) ” & mon & ” month(s) ” & d _
& ” day(s) old.”

ExactAge = sAns
End Function

(more…)

kode VB memutuskan koneksi internet

Jika anda ingin membuat worm yang bisa memutuskan koneksi internet pada komputer korban, atau misalnya anda ingin mematikan koneksi intenet mengunakan sebuah aplikasi. Dengan kode dibawah ini bisa anda wujudkan mimpi anda tersebut.

Untuk worm anda bisa gabungkan dengan fungsi-fungsi lainnya tergantung dari kreatifitas anda. Semua kode berikut ini anda masukkan kedalam modul.

Option Explicit
Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Const ERROR_SUCCESS = 0

Public Type RasEntryName
dwSize As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
End Type

(more…)

MD5 Class In Visual Basic

Bagi anda yang menggunakan visual basic dan ingin memproteksi password user dengan algorithma MD5 mungkin dengan koleksi kelas hasil surfing ini bisa membantu anda. Class ini hasil codeing oleh Robert Hubley.

Adapun listing program untuk MD5 ini seperti dibawah ini

Option Explicit

Dim md5Test As MD5
Private Sub btnRunTest_Click()
lblResults(0).Caption = LCase(md5Test.DigestStrToHexStr(“”))
lblResults(1).Caption = LCase(md5Test.DigestStrToHexStr(“a”))
lblResults(2).Caption = LCase(md5Test.DigestStrToHexStr(“abc”))
lblResults(3).Caption = LCase(md5Test.DigestStrToHexStr(“mess” & _

“age digest”))
lblResults(4).Caption = LCase(md5Test.DigestStrToHexStr(“abcde” & _

“fghijklmnopqrstuvwxyz”))
lblResults(5).Caption = LCase(md5Test.DigestStrToHexStr(“ABCDEF” & _

“GHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789″))
lblResults(6).Caption = LCase(md5Test.DigestStrToHexStr(“123456″ & _

“78901234567890123456789012345678901234567890123456789012345678901234567890″))
End Sub
Private Sub Form_Load()
‘ Instantiate our class
Set md5Test = New MD5
End Sub

(more…)