更新时间:2024-05-21 15:33
CALL指REMOTE CALL、游戏CALL,指一种注入外部EXE程序从外部调用函数的技术。
找CALL一般使用OD等工具,而CALL的使用一般需要编写复杂的汇编代码,在快手(AAuto Quicker) 中推出了一种通用CALL技术,可以象声明WIN API一样声明CALL.下面是一个简单的示例:
//外部CALL读取命令行
//列出所有已运行进程的命令行参数
import winex;
io.open()
//遍历所有窗口
for hwnd,title,theadId,processId in winex.each( ) {
{
//在外部EXE进程创建函数
str = GetCommandLine()
io.print(processId,title,str)
}
}
微软DOS命令集中的常用内部命令, 用于从批处理程序调用另一个批处理程序。
CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批处理程序所需的命令行信息。
如果命令扩展被启用,CALL 会如下改变:CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通过达到批脚本文件
批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)
批参数(%n)的替代已被增强。您可以使用以下语法:
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径指含有短名
%~a1 - 将 %1 扩充到文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小
%~ : 1 - 查找列在 PATH 环境变量的目录,并将 %1 扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串
可以组合修定符来取得多重结果:
%~dp1 - 只将 %1 扩展到驱动器号和路径
%~nx1 - 只将 %1 扩展到文件名和扩展名
%~dp:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。
%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。
在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*使用
(调用)
用于将程序的执行交给其他的代码段,通常是一个子例程,同时保存必要的信息,从而使被调用段执行完毕后返回到调用点继续执行。
描述
将控制权传递给 Sub 过程或 Function 过程。
语法
[Call] name [argumentlist]
Call 语句语法有以下部分:
部分 描述
Call 可选关键字。如果指定此关键字,则必须用括号把 argumentlist 括起来。例如:
Call MyProc(0)
name 必选。要调用的过程名。
argumentlist 可选。传递给过程的变量、数组或表达式列表,用逗号分隔每一项。说明在调用过程时,不必使用 Call 关键字。然而,如果使用 Call 关键字调用要求参数的过程,则必须用括号将 argumentlist 括起来。如果省略 Call 关键字,那么必须也同时省略 argumentlist 参数两边的括号。使用 Call 语法调用内部函数或使用用户自定义函数,函数返回值都会被放弃。