扩展函数:v_***

录入时间:2014/11/3 11:02:18      最后更新:2014/11/3 11:05:32

v_***属于服务端高级API,可在软件参数设置 advapi代码区域中填写。

合理使用扩展 v_***函数可以最大限度的保护你的软件,v_***函数由客户端通过advapi("v_***")调用,服务端调用之前会效验用户身份,验证没通过的不能获取数据。

 

	
注意:【自定义函数名只能用英文和数字,且必须以v_开头
        有关PHP的语法请参见
	PHP语法   http://www.php100.com/manual/w3school/php/index.asp.html
	PHP手册   http://cn.php.net/distributions/manual/php_manual_zh.chm	
         
	A、简单返回静态数据,不带参数
		客户端调用:
			返回值=tt_advapi("v_自定义函数名")
      
		

function v_自定义函数名(){

return '你想要返回的静态数据';

}

 
B、高级应用,提交参数给服务端【自定义函数】运算后返回值 客户端调用: 返回值1=tt_advapi("v_自定义函数名,参数1,参数2") 最多可传递9个参数

//注:客户端传几个参数过来,服务端相应自定义函数就要写几个参数,因为上边的语句我写了两个参数,所以下边服务端代码我也要写两个参数,$v1就是参数1,$v2就是参数2
function v_自定义函数名($v1,$v2){

//一个简单的运算,即把参数1乘以100,然后加参数2,赋值给一个变量
$tempvar=$v1*100+$v2;
return $tempvar; //把刚才得到的变量值返回给客户端

}

 
举一个简单的调用例子,服务端有两个自定义函数 服务端代码

function v_myfunaaa(){ //静态返回数据

return '我的数据123123';

}

function v_myfunbbb($var1,$var2){ //参数运算后返回数据

//一个简单的运算,即把参数1乘以5,然后加参数2,赋值给一个变量
$tempvar=$var1*5+$var2;
return $tempvar; //把刚才得到的变量值返回给客户端

}

 
客户端调用: 变量A=tt_advapi("v_myfunaaa") 变量B=tt_advapi("v_myfunbbb,100,200") 正常情况下变量A和B的值此时应该是如下 变量A="我的数据123123" 变量B="700" 注:服务端变量代入的算式是 100*5+200

 

如何使用tt_advapi保护软件数据?
    主要有两种方式(命令是死的,人是活的,思路很重要)。

1、这可能是有些用户第一时间想到的,对比返回值是不是等于某个值,不等于的话结束程序或让程序进入错误的执行流程,这种处理方式比较弱,不建议。
 


if tt_advapi("v_isok")<>"正常" then
    Call 关闭程序或执行错误流程
end if
 


 

相对应服务端代码


function v_isok(){

return '正常';

}
 


2、你程序里可能会有一些非常重要字符或数字变量是直接写在程序里的,例如

PS:我这里用中文语法写的例子,就算你不会易语言,是中国人的都应该看的懂吧
 

****** 读内存数据(#人物基址,十六进制到十进制("2F3")) ******
****** 读内存数据(#人物基址,456)) ******


用tt_advapi把这段代码的数据保护起来的写法如下
 

****** 读内存数据(#人物基址,十六进制到十进制(tt_advapi("v_getd1"))) ******
****** 读内存数据(#人物基址,到整数(tt_advapi("v_getd2")))) ******


相对应服务端代码
 


function v_getd1(){

return '2F3';

}

function v_getd2(){

return '456';

}
 

 Copyright 2013-2018 土默特左旗灵盾网络工作室 图图网络验证系统
     蒙ICP备15001097号