複製鏈接
請複製以下鏈接發送給好友

call

(注入外部EXE程序從外部調用函數的技術)

鎖定
CALL指REMOTE CALL、遊戲CALL,指一種注入外部EXE程序從外部調用函數的技術。
找CALL一般使用OD等工具,而CALL的使用一般需要編寫複雜的彙編代碼。
中文名
call
編    寫
複雜的彙編代碼
讀    取
外部CALL讀取命令行
列    出
所有已運行進程的命令行參數

call代碼介紹

找CALL一般使用OD等工具,而CALL的使用一般需要編寫複雜的彙編代碼,在快手(AAuto Quicker) 中推出了一種通用CALL技術,可以象聲明WIN API一樣聲明CALL.下面是一個簡單的示例:
//外部CALL讀取命令行
//列出所有已運行進程的命令行參數
import winex;
io.open()
//遍歷所有窗口
for hwnd,title,theadId,processId in winex.each( ) {
if(title != "") //如果標題不為空
{
//在外部EXE進程創建函數
GetCommandLine = raw.remoteApi(processId,"string()","Kernel32.dll","GetCommandLineA")
str = GetCommandLine()
選擇q 基礎公共編程上篇 選擇q 基礎公共編程上篇
io.print(processId,title,str)
}
}

callDOS命令

微軟DOS命令集中的常用內部命令, 用於從批處理程序調用另一個批處理程序。

call語法形式

CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批處理程序所需的命令行信息。

call使用幫助

如果命令擴展被啓用,CALL 會如下改變:CALL 命令現在將卷標當作 CALL 的目標接受。語法是:CALL:label arguments一個新的批文件上下文由指定的參數所創建,控制在卷標被指定後傳遞到語句。您必須通過達到批腳本文件末兩次來 "exit" 兩次。第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次會退出批腳本。鍵入 GOTO /?,參看 GOTO :EOF 擴展的描述,此描述允許您從一個批腳本返回。另外,批腳本文本參數參照(%0、%1、等等)已如下改變:
批腳本里的 %* 指出所有的參數(如 %1 %2 %3 %4 %5 ...)
批參數(%n)的替代已被增強。您可以使用以下語法:
%~1 - 刪除引號("),擴充 %1
%~f1 - 將 %1 擴充到一個完全合格的路徑名
%~d1 - 僅將 %1 擴充到一個驅動器號
%~p1 - 僅將 %1 擴充到一個路徑
%~n1 - 僅將 %1 擴充到一個文件名
%~x1 - 僅將 %1 擴充到一個文件擴展名
%~s1 - 擴充的路徑指含有短名
%~a1 - 將 %1 擴充到文件屬性
%~t1 - 將 %1 擴充到文件的日期/時間
%~z1 - 將 %1 擴充到文件的大小
%~$PATH : 1 - 查找列在 PATH 環境變量的目錄,並將 %1 擴充到找到的第一個完全合格的名稱。如果環境變量名未被定義,或者沒有找到文件,此組合鍵會擴充到空字符串
可以組合修定符來取得多重結果:
%~dp1 - 只將 %1 擴展到驅動器號和路徑
%~nx1 - 只將 %1 擴展到文件名和擴展名
%~dp$PATH:1 - 在列在 PATH 環境變量中的目錄裏查找 %1,並擴展到找到的第一個文件的驅動器號和路徑。
%~ftza1 - 將 %1 擴展到類似 DIR 的輸出行。
在上面的例子中,%1 和 PATH 可以被其他有效數值替換。
%~ 語法被一個有效參數號碼終止。%~ 修定符不能跟 %*使用

call關鍵文字

(調用)
用於將程序的執行交給其他的代碼段,通常是一個子例程,同時保存必要的信息,從而使被調用段執行完畢後返回到調用點繼續執行。
描述
將控制權傳遞給 Sub 過程或 Function 過程。
語法
[Call] name [argumentlist]
Call 語句語法有以下部分:
部分 描述
Call 可選關鍵字。如果指定此關鍵字,則必須用括號把 argumentlist 括起來。例如:
Call MyProc(0)
name 必選。要調用的過程名。
argumentlist 可選。傳遞給過程的變量、數組表達式列表,用逗號分隔每一項。説明在調用過程時,不必使用 Call 關鍵字。然而,如果使用 Call 關鍵字調用要求參數的過程,則必須用括號將 argumentlist 括起來。如果省略 Call 關鍵字,那麼必須也同時省略 argumentlist 參數兩邊的括號。使用 Call 語法調用內部函數或使用用户自定義函數,函數返回值都會被放棄。