SQL Bağlantısı
1) Projeye ADODB Reference ekliyoruz
Project >Add Reference>.COM > ActiveX Data Objects 2.8 Library ve Tıklıyoruz
2)Public değişkenleri atıyoruz
Kod:
Dim cn As New ADODB.Connection 'Adodb Bağlantısı için Access (cn)
Dim rs As New ADODB.Recordset ' Recordset Editlemek için (rs)
3)SQL ile bağlantı
Local Bağlantı
Kod:
With cn
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='DataBase'"
.Open()
End With
Uzak Bağlantı
Kod:
With cn
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.ConnectionString = "Provider=SQLOLEDB;Data Source='IP';Network Library=DBMSSOCN;Initial Catalog='DataBase';User ID='LoginID';Password='Pass';"
.Open()
End With
DB'ye Yazma / Okuma / Ekleme
1)RST
Kod:
rs.open("SQL Kodumuzu yazıyoruz ( select * ....)",cn,1,3)
rs.close (Önemli yazmazsak hata verir.)
Örnek :
Kod:
rs.open("select * from k_monster",cn,1,3)' Canavarların isimlerini gösteriri
listbox1.items.add(rs.fields("strname").value)'Canavarların isimlerini listbox'a ekler.
rs.close'Kapatıyoruz.
2)EXCUTE
Update , Insert , Exec , Delete..gibi şeyler kullanabiliriz.
Kod:
cn.execute"SQL Script Kodu"
Örnek:
Textbox1 'e yazılan userın authoritysini 0 yapar.
Kod:
cn.execute"Update Userdata Set Authority=0 where struserid=' "& textbox1.text &" ' "
Anti-Cheat Nasıl yapılır ?
1)Login Form Anti-Cheat
Kod:
cn.execute"Update UserData Set Secure=1 where struserid=' "& textbox1.text &" ' "
Biraz Check Örneği Anti-Cheat için
1) Dosya Boyutu Kontrolü EXE ya da TBL için
Kod:
Private Sub FileSizeCheck()
Dim fileDetail As IO.FileInfo
fileDetail = My.Computer.FileSystem.GetFileInfo("KnightOnline.exe")
If fileDetail.Length = "xxx" Then
Else
End If
End Sub
2) Dosya Oluşturma Tarihi Kontrolü EXE ya da TBL için
Kod:
Private Sub FileCreateTimeCheck()
Dim fileDetail As IO.FileInfo
fileDetail = My.Computer.FileSystem.GetFileInfo("KnightOnline.exe")
If fileDetail.CreationTime.Date = "xxx" Then
Else
End If
End Sub
3) KO Aktif mi Kontrolü
Kod:
Private Sub KOActiveCheck()
For Each proc As Process In Process.GetProcessesByName("Knight OnLine Client")
If proc.Responding Then
Else
End If
Next
End Sub
4)Hack amaçlı programlar açık mı kontrol ettirme [CheatEngine gibi] [Basit Metod]
Kod:
Private Sub OtherProcessChecks()
For Each Proc As Process In Process.GetProcesses
If Proc.ProcessName = "Cheat Engine.exe" Or "MYKO Hack.exe" Or "ArtMoney.exe" Then
Else
End If
Next
End Sub
5)KOModule Kontrolü
Kod:
Private Sub KOModuleCheck()
For Each proc As Process In Process.GetProcessesByName("Knight OnLine Client")
If proc.Modules.Count = "12" Then 'Modül sayısına göre kontrol ettiribilirsiniz.
Else
End If
Next
6)KOMemory Kontrolü [İyi bir yöntemdir hack programlarından korunmak için]
Kod:
Private Sub KOMemoryCheck()
For Each proc As Process In Process.GetProcessesByName("Knight OnLine Client")
My.Settings.FirstMemory = proc.VirtualMemorySize64
Next
End Sub