博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用LoadRunner实现加密测试,哇咔咔
阅读量:7025 次
发布时间:2019-06-28

本文共 830 字,大约阅读时间需要 2 分钟。

在进行LoadRunner打压时,有时候请求的参数是加密的,而加密的法则是通过调用一段DLL来生成的。这样通过参数化模拟的打压请求就无法达到预期的效果,这时候就需要调用DLL后,拿到DLL的返回值,用返回值来构造打压请求。那么怎么调用DLL呢?

首先说一下调用DLL需要的条件:

1、 VuGen只能识别标准C编译的DLL 所以使用VC6创建的函数必须在函数开头加上extern "C",它告诉编译器对这个函数按照标准C的方式进行编译。

2、 需要有标准C的导出函数。可以通过Dependency Walker查看:

640?wx_fmt=png&tp=webp&wxfrom=5

满足这两点后,就可以在LoadRunner脚本中调用此DLL了。

调用外部DLL的方法有两种:

 (单个脚本中)在脚本中是使用 lr_load_dll 函数。

 (全局设置,所有脚本)通过修改 mdrv.dat 文件实现。

第一种方法,可以直接通过lr_load_dll函数来实现。

640?wx_fmt=png&tp=webp&wxfrom=5

这样就可以直接保存返回值用户后续的打压参数了。但是这种方法是单个脚本才能用的,其他脚本不能使用。

第二种方法是全局设置,相当于将dll加载到LoadRunner的DLL库中。所有脚本你都可以调用。

1、将需要的DLL拷贝到LoadRunner安装路径的Bin目录下。

2、修改mdrv.dat文件,找到[lrun_api]节点,在后面加上一句:

WINNT_DLLS=XXX.dll

这样,就不用lr_load_dll函数,直接调用XXX.dll里面的函数了。

另外,在具体通过agent打压时,会发现报如下错误:

Error: CCI security error:You are running under secure mode and the function ci_load_dll is not allowed in this mode.

这是由于远程agent打压机无法加载DLL导致的。解决办法是在添加脚本时,将引用的DLL也添加进来。

640?wx_fmt=png&tp=webp&wxfrom=5

转载地址:http://kfsxl.baihongyu.com/

你可能感兴趣的文章
Git与TortoiseGit基本操作
查看>>
他们都没告诉你适配 Android N 需要注意什么
查看>>
[javaSE] 网络编程(概述)
查看>>
一个屌丝程序猿的人生(六)
查看>>
矫正自己的机器人---39
查看>>
还在用ListView?
查看>>
Hibernate基本原理(一)
查看>>
BZOJ3873 : [Ahoi2014]拼图
查看>>
自由中的规则整理笔记
查看>>
利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件
查看>>
fatal error C1853: '<filename>' is not a precompiled header file
查看>>
STUN和TURN技术浅析
查看>>
连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
查看>>
js scheme 打开手机app的方法
查看>>
【Hadoop】HADOOP 总结--思维导图
查看>>
java读写锁实现数据同步访问
查看>>
原生的社交分享
查看>>
delphi IOS 获取电池信息
查看>>
Unity3D 避免玩家作弊
查看>>
springMVC-数据的格式化
查看>>