USDT自动充值API接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

最近剖析Internet Explorer历史破绽,遂对VBScript剧本剖析引擎举行研究,详细环境如下:

  • OS版本:Windows 7 Service Pack 1
  • Internet Explorer版本:8.0.7601.17514
  • vbscript.dll版本:5.8.7601.17514

0x01 变量

VBScript中仅有一种数据类型——Variant。其结构界说如下:

typedef struct tagVARIANT {
  union {
    struct {
      VARTYPE vt;
      WORD    wReserved1;
      WORD    wReserved2;
      WORD    wReserved3;
      union {
        LONGLONG     llVal;
        LONG         lVal;
        BYTE         bVal;
        SHORT        iVal;
        FLOAT        fltVal;
        DOUBLE       dblVal;
        VARIANT_BOOL boolVal;
        VARIANT_BOOL __OBSOLETE__VARIANT_BOOL;
        SCODE        scode;
        CY           cyVal;
        DATE         date;
        BSTR         bstrVal;
        IUnknown     *punkVal;
        IDispatch    *pdispVal;
        SAFEARRAY    *parray;
        BYTE         *pbVal;
        SHORT        *piVal;
        LONG         *plVal;
        LONGLONG     *pllVal;
        FLOAT        *pfltVal;
        DOUBLE       *pdblVal;
        VARIANT_BOOL *pboolVal;
        VARIANT_BOOL *__OBSOLETE__VARIANT_PBOOL;
        SCODE        *pscode;
        CY           *pcyVal;
        DATE         *pdate;
        BSTR         *pbstrVal;
        IUnknown     **ppunkVal;
        IDispatch    **ppdispVal;
        SAFEARRAY    **pparray;
        VARIANT      *pvarVal;
        PVOID        byref;
        CHAR         cVal;
        USHORT       uiVal;
        ULONG        ulVal;
        ULONGLONG    ullVal;
        INT          intVal;
        UINT         uintVal;
        DECIMAL      *pdecVal;
        CHAR         *pcVal;
        USHORT       *puiVal;
        ULONG        *pulVal;
        ULONGLONG    *pullVal;
        INT          *pintVal;
        UINT         *puintVal;
        struct {
          PVOID       pvRecord;
          IRecordInfo *pRecInfo;
        } __VARIANT_NAME_4;
      } __VARIANT_NAME_3;
    } __VARIANT_NAME_2;
    DECIMAL decVal;
  } __VARIANT_NAME_1;
} VARIANT;

其中VARTYPE可参阅Microsoft Docs——VARIANT Type Constants。例:

'显式声明
Dim Name,Age,Hex,Pi
Name="Ethon"
Age=27
Hex=&h80000000
Pi=3.1415926

'隐式声明
Hello="ABC123"

赋值对应函数为vbscript!AssignVar,于该函数处设断,查看其参数:

0x400C示意VT_VARIANT

判断pvargSrc—>vt值(详细数值可自行剖析,不赘述),若均不知足,执行如下语句:

简朴来说,即VariantCopyInd(&pvarDest, pvargSrc)——>copy pvarDest to pvarg

隐式声明变量其pvarg全为零:

0x02 数组

数组存储结构由SAFEARRAY界说:

typedef struct tagSAFEARRAY {
  USHORT         cDims;
  USHORT         fFeatures;
  ULONG          cbElements;
  ULONG          cLocks;
  PVOID          pvData;
  SAFEARRAYBOUND rgsabound[1];
} SAFEARRAY;

其中各字段寄义可参阅Microsoft Docs——SAFEARRAY,SAFEARRAYBOUND结构界说如下:

typedef struct tagSAFEARRAYBOUND {
  ULONG cElements;
  LONG  lLbound;
} SAFEARRAYBOUND, *LPSAFEARRAYBOUND;

数组界说及赋值操作:

Dim stu_name(3)

stu_name(0)="Alan"
stu_name(1)="Susan"
stu_name(2)="Lisa"
stu_name(3)="Mary"

VBS中数组下标由0最先,数组元素个数为n+1(Dim array_name(n))。另一种界说数组方式:

Dim stu_name

stu_name=Array("Alan","Susan","Lisa","Mary")

对应函数为vbscript!MakeArray

通报给函数的参数有二——cDims对应维数,VAR对应n。cDims应介于1-64:

先来看一维数组的确立:

rgsabound结构各字段赋值:

之后则直接挪用SafeArrayCreate函数举行确立,各参数寄义可参阅Microsoft Docs——SafeArrayCreate。确立完成:

为数组元素赋值则直接将该元素所在内存偏移通报给vbscript!AssignVar

下面来看看二维数组(Dim stu_name(2,3))确立历程:

,

usdt支付接口

菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

可以看到数组各维巨细于内存中并列存储,之后挪用VAR::PvarGetTypeVal逐一读取为rgsaboundcElements字段赋值:

各维巨细于内存中由最高维——>最低维存储,故读取时首先盘算出v3变量指向最低维巨细所在内存偏移,之后递减。确立完成:

Redim语句用于重新界说数组巨细:

'界说一维动态数组
Dim MyArray()
'重新界说该数组巨细
ReDim MyArray(3) 
MyArray(0) = "A" 
MyArray(1) = "B"
MyArray(2) = "C"
MyArray(3) = "C"

再次挪用vbscript!MakeArray历程如下:

而在重新界说时加上Preserve要害字用于保留之前元素:

Dim MyArray()
ReDim MyArray(3)
MyArray(0) = "A"
MyArray(1) = "B"
MyArray(2) = "C"
MyArray(3) = "D"
ReDim Preserve MyArray(5)
MyArray(4) = "E"
MyArray(5) = "F"

其对应vbscript!RedimPreserveArray函数:

psaboundNew各字段赋值完成后通报给SafeArrayRedim函数:

0x03 可用于调试时函数

IsEmpty(var)对应vbscript!VbsIsEmpty,其第三个参数对应var。一例:

<!doctype html>
<html lang="en">
<head>
</head>

<body>
<script LANGUAGE="VBScript">
    dim a
    a = &h1234
    IsEmpty(a)
</script>
</body>
</html>

IsObject(var)对应vbscript!VbsIsObject,同样,其第三个参数对应var。一例:

<!doctype html>
<html lang="en">
<head>
</head>

<body>
<script LANGUAGE="VBScript">
    dim a
    a = &h1234
    IsObject(a)
</script>
</body>
</html>

在调试时可借助这两个函数以确定变量值或内存位置。

0x04 VarType函数

<!doctype html>
<html lang="en">
<head>
</head>

<body>
<script LANGUAGE="VBScript">
    dim a
    a = &h1234
    VarType(a)
</script>
</body>
</html>

VarType对应vbscript!VbsVarType,其挪用GetVarType函数获取类型值并完成赋值操作:

参数1用于存储类型值,参数2为VarType参数:

GetVarType函数挪用PvarGetVarVal——判断类型值是否为0x4A0x0C

之后与0x09举行对照,若不是则直接返回工具进而获取vt值:

VbsVarType函数完成最终赋值给参数1操作:

0x05 LenB函数

<!doctype html>
<html lang="en">
<head>
</head>

<body>
<script LANGUAGE="VBScript">
On Error Resume Next
Dim length,a
a=1.12345678901235
length=LenB("Hello")
length=LenB(a)
</script>
</body>
</html>

该函数用于返回存储字符串字节巨细,其对应vbscript!VbsLenB。参数为字符串时,该函数先是call VAR::BstrGetVal,返回pbstrVal

之后call cbLengthBstr返回长度:

参数为变量时, VAR::BstrGetVal函数挪用VAR::PvarConvert,将其内容转换为字符串:

之后再举行盘算:

cbLengthBstr函数功效仅是读取字符串存储位置之前4字节内容,该内容为字符串长度:

0x06 参阅链接

  • Microsoft Docs——SAFEARRAY structure
  • Microsoft Docs——VARIANT structure
  • Microsoft Docs——VARIANT Type Constants
  • Microsoft Docs——SafeArrayCreate
  • Microsoft Docs——DECIMAL structure
usdt收款平台声明:该文看法仅代表作者自己,与本平台无关。转载请注明:usdt充提教程(www.caibao.it):Internet Explorer破绽剖析(三)[上]——VBScript Scripting Engine初探
发布评论

分享到:

欧博亚洲注册(www.aLLbetgame.us):上海杨浦滨江将降生一处全新“文化地标”
5 条回复
  1. 皇冠新现金网
    皇冠新现金网
    (2021-04-02 00:06:14) 1#

    电银付安装教程(dianyinzhifu.com)是官方网上推广平台。在线自动销售电银付激活码、电银付POS机。提供电银付安装教程、电银付使用教程、电银付APP使用教程、电银付APP安装教程、电银付APP下载等技术支持。面对全国推广电银付加盟、电银付大盟主、电银付小盟主业务。很好嘛

  2. FlaCoin收益
    FlaCoin收益
    (2021-04-30 00:01:40) 2#

    USDT线上交易U交所(www.payusdt.vip)是使用TRC-20协议的Usdt官方交易所,开放USDT帐号注册、usdt小额交易、usdt线下现金交易、usdt实名不实名交易、usdt场外担保交易的平台。免费提供场外usdt承兑、低价usdt渠道、Usdt提币免手续费、Usdt交易免手续费。U交所开放usdt otc API接口、支付回调等接口。读者小伙伴在哪里

    1. USDT不用实名买入卖出
      USDT不用实名买入卖出
      (2021-05-16 14:42:28)     

      足球免费贴士免费足球贴士网(www.zq68.vip)是国内最权威的足球赛事报道、预测平台。免费提供赛事直播,免费足球贴士,免费足球推介,免费专家贴士,免费足球推荐,最专业的足球心水网。充电接着看

    2. 皇冠下载
      皇冠下载
      (2021-06-06 08:36:12)     

      Allbet手机版下载www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

      服服服,冲鸭

  3. 皇冠官网手机版
    皇冠官网手机版
    (2021-07-03 00:05:22) 3#

    来晚了,先留名

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。