放5天假的期間.. 嘗試做了好多VB的東西
可是我最想做的讀記憶體還是學不會
只弄得出偵測遊戲有沒有運行..
我目前做到這樣... (網路上找的)
這個是讀取踩地雷這個程式Address:1005194的Value
將它顯示在Label4上面
由於搞不董這程式碼是在做什麼..
只是照著複製過來
所以運行後Label4一直顯示不正確的數字
如果弄出正確的程式碼
以後我就做得出東西了..
有高手能幫我看一下嗎?
謝謝
Private Sub Timer1_Timer()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "踩地雷")
If hwnd = 0 Then
Label2.Caption = "遊戲未運行"
Else
Label2.Caption = "遊戲已運行"
End If
spa = &H1005194
Label4.Caption = spa
End Sub
Private Function ncnr(lpADDress As Long) As Integer
Dim hwnd As Long
Dim pid As Long
Dim pHandle As Long
Dim spa As Long
hwnd = FindWindow(vbNullString, "踩地雷")
GetWindowThreadProcessId hwnd, pid
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
ReadProcessMemory pHandle, lpADDress, ByVal VarPtr(ncnr), 4, 0&
CloseHandle hProcess
End Function
以下是宣告區
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
- Nov 11 Tue 2014 19:47
求學讀記憶體
- Nov 11 Tue 2014 19:41
何謂DLL
DLL,動態連結函式庫。 一般來說,他是裡面包著特定功能的檔案。 而使用方式,因檔而異。有些是注入,有些是可供其他程式調用。 |
VB->ActiveX DLL
- Nov 11 Tue 2014 19:32
按鍵問題...
我按照赤歇大的做法
他的做法假如輸入0就無法動作
只能輸入1
赤歇大告訴我將interval設定為1
但是我設定為1後用偵錯會有錯誤耶
他就說沒有定義的Sub什麼的
我timer1的程式碼是這樣子寫...
key1 = getVK_KeyCode(Combo1.Text)
Dim keytype As Long
Dim hwn As Long
hwn = FindWindow(vbNullString, "MapleStory")
keytype = MakeKeyLparam(key4, WM_KEYDOWN)
rundll32 "user32.dll", "PostMessageA", hwn, WM_KEYDOWN, key1, keytype
keytype = MakeKeyLparam(key4, WM_KEYUP)
rundll32 "user32.dll", "PostMessageA", hwn, WM_KEYUP,
PostMessage被檔了啊~
不知道用SendKeys會不會被偵測到~
- Nov 11 Tue 2014 19:29
模擬硬體按鍵
WINIO.DLL....
模擬硬體按鍵
還不錯
可以過HS
- Nov 11 Tue 2014 19:28
簡單的AOB寫入VB方式
我就拿 取消怪物死亡特效 來做解釋好了
WriteProcessMemory hProcess, ByVal &H4EADC3, &H3675, 2, 0&
以上是轉好的VB函數
WriteProcessMemory hProcess, ByVal &H4EADC3, &H3675, 2, 0&
紅=代碼前面00去掉
藍=AOB(請反過來填寫例如36 75就寫成75 36)
綠=AOB數量
咖啡=是否為驗證 0=否 1=是
- Nov 11 Tue 2014 19:26
專有名詞?
按鍵精靈:除非你製作出能跟暗箭精靈一樣的軟體出來,否則你只是撰寫腳本,並非真正的寫程式製作外掛
楓之谷ME:除非你製作出能跟ME一樣修改遊戲的記憶體區段,否則只是使用數據本身沒什麼了不起,當然自行開發/製作新數據也算是程式設計(因為CE/ME/其他UCE都是使用組合語言,組合語言是一種低階的程式語言)
Windows API 是屬於 Windows 作業系統其中一部分的動態連結程式庫 ( DLL )。當你無法自行寫入對等程序時,就可使用它們來執行工作。
- Nov 11 Tue 2014 19:23
外掛疑問
有一些楓之谷外掛都是用Visual C++寫成的(例如:楓谷小子)
1.是用什麼方式讓那些功能產生效果?
2.有自動按按鍵的功能,誰能給我那個的C++數據?
3.有快捷鍵(例如:按F1就會啟動)那種要怎麼寫?
感謝C++程式語言的高手回答
- Nov 11 Tue 2014 19:23
BCB副程式調用
1.我的BCB 是要開啟哪一種檔案? A:可以用[file] -> [new] -> [unit],產生新的UNIT,將副程式加於最下方, 再將整個程式用下面的方式包起來,以避免重覆include,不同檔案使用不 同的INCLUDEDFLAG。 #ifndef INCLUDEDFLAG1 #define INCLUDEDFLAG1 .....整個程式 #endif 2.副程式要否要先獨立編譯? A.在主程式include到的檔案,就會自動編譯 3.有基本步驟ㄇ? 簡單介紹可以嗎? 小範例-開啟影像raw data #ifndef FILEFLAG #define FILEFLAG //-------------------------------------------------------------------- #include #include #include #pragma hdrstop //-------------------------------------------------------------------- #pragma package(smart_init) //-----------------Open Raw Data File--------------------------------- void openfile(char* filename,int width,int height,byte** img); //加這一行宣告很有用. //--------------------Open File--------------------------------------- void openfile(char* filename,int width,int height,byte** img) { int i,filesize,x=0,y=0; FILE *fp; byte *data; fp=fopen(filename,"rb"); filesize = width*height; data=(byte*)malloc(sizeof(byte)*filesize); fread(data,1,filesize,fp); for(i=0 ; i { img[y][x++]=data; if(x==width) { y++; x=0; } } free(data); fclose(fp); } //---------------End openfile----------------------------------------- #endif 為什麼要將副程式獨立出來呢?我個人覺得是為了讓程式共享,假設用bcb寫的 程式,寫得很精彩,數千行程式擠在bcb的主程式,當別人要引用你的程式時,還要 把程式找出來,複製貼上,有時程式碼還用到bcb的元件,如果別人用的又不是bcb, 程式遇到bcb元件就沒輒囉,還要另外想辦法更改,實在是麻煩的一件事。 所以程式盡量寫得不依賴應用程式(software independent),像影像處理的演 算法filter,sobel,DCT,wavelet就經常會被使用,如果把它們都寫成一個檔案來 引用,寫一支新的程式就不用重新再編寫這些演算法,直接include就可以囉。不 是很方便嗎?的程式就不用重新再編寫這些演算法,直接include就可以囉。不是很方便嗎? |