vb.net 关于javascript

verybelial 2014-11-12 11:45:48
我用HttpWebRequest做一个网页访问. 但他的首页是以下javascript脚本来跳转到对应的网页.脚本是自动生成.每次都不同.

javascript如下(已经格式化过.本来就一行的) :
<script>
var mr = "",
nr = "",
qr, or = new Array(),
pr;
function kr(lr) {
for (qr = 0; qr < pr.length; qr++) or[qr] = pr.charCodeAt(qr);
qr = 52;
while (qr >= 1) {
or[qr] = ( - (( - or[qr]) & 0xff)) & 0xff;
or[qr] = (or[qr] + 35) & 0xff;
qr--;
}
qr = 1;
while (true) {
if (qr > 53) break;
or[qr] = ((((or[qr] ^ 52) - 138) & 0xff) >> 1) | (((((or[qr] ^ 52) - 138) & 0xff) << 7) & 0xff);
qr++;
}
qr = "qr=2;while(qr<=51){or[qr]=(((or[qr]+188)&0xff)+114)&0xff;or[qr]=((or[qr]<<2)&0xff)|(or[qr]>>6);qr++;}";
eval(qr);
pr = "";
for (qr = 1; qr < or.length - 1; qr++) if (qr % 6) pr += String.fromCharCode(or[qr] ^ lr);
eval(pr);
}
pr = "3\xb3O\xd9\xd6ZmN\xb9Z\xd4Uv\xd9\xb0Y\xd30\xc8\xbb:2\xcf\xd6\x97\xd5NPU\xe7\x801h\xad\xd33\xb9\xb3\xb3\xbb0\xd9\x1b\xd3\xba\xbb\xe2TIU\xda\xd5%Z}";
kr(91);
</script>


VB.net有什么办法得到它跳转的结果.求大神指点.小弟感激不尽
...全文
216 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2014-11-13
  • 打赏
  • 举报
回复
可以借助ScriptControl运行js代码,不用转换了 http://www.oksvn.com/Article/Detail-15.shtml
verybelial 2014-11-13
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
要先引用下scriptcontrol
第4行的AddCode那里的代码.有很多分号和引号不知道是不是这个原因
verybelial 2014-11-13
  • 打赏
  • 举报
回复
已经引用了的.就是加代码时出错了...
宝_爸 2014-11-13
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
可以借助ScriptControl运行js代码,不用转换了 http://www.oksvn.com/Article/Detail-15.shtml
学习了,javascript的网站,我一般都用WebBrowser Control.
threenewbee 2014-11-13
  • 打赏
  • 举报
回复
要先引用下scriptcontrol
verybelial 2014-11-13
  • 打赏
  • 举报
回复
在AddCode就出错了
verybelial 2014-11-13
  • 打赏
  • 举报
回复
我没用过这插件.怎么试都错误................帮看下是不是这样写
         Dim script As New ScriptControl

        script.Language = "JScript"

        script.Reset()

        script.AddCode("var mr="""",nr="""",qr,or=new Array(),pr;function kr(lr){for(qr=0;qr<pr.length;qr++)or[qr]=pr.charCodeAt(qr);qr=52;while(qr>=1){or[qr]=(-((-or[qr])&0xff))&0xff;or[qr]=(or[qr]+35)&0xff;qr--;}qr=1;while(true){if(qr>53)break;or[qr]=((((or[qr]^52)-138)&0xff)>>1)|(((((or[qr]^52)-138)&0xff)<<7)&0xff);qr++;}qr=""qr=2;while(qr<=51){or[qr]=(((or[qr]+188)&0xff)+114)&0xff;or[qr]=((or[qr]<<2)&0xff)|(or[qr]>>6);qr++;}"";eval(qr);pr="""";for(qr=1;qr<or.length-1;qr++)if(qr%6)pr+=String.fromCharCode(or[qr]^lr);eval(pr);}pr=""3\xb3O\xd9\xd6ZmN\xb9Z\xd4Uv\xd9\xb0Y\xd30\xc8\xbb:2\xcf\xd6\x97\xd5NPU\xe7\x801h\xad\xd33\xb9\xb3\xb3\xbb0\xd9\x1b\xd3\xba\xbb\xe2TIU\xda\xd5%Z}"";kr(91);")

        Dim result As Object


        result = script.Eval("")

        Console.WriteLine(result)
同学们都觉得太贵了,那我就降低点。 '调用示例 Debug.Print(stringToHex(des_crypt("MinqfDesTest", "mimi9924", 1))) '加密 Debug.Print(des_crypt("MinqfDesTest", hexToString("3F2DFAAC155A9D5A"), 0)) '解密 这两天要做个VB程序访问PHP的Web服务,传输内容用DES加密算法加密。做的时候发现VB.net带的DES加密算法和我PHP里的不一样,PHP已经是成型产品,不能修改,于是就把PHP里的加密算法翻译了一遍。一天一夜,真不容易。主要问题出在PHP里在做位运算的时候截断数据,搞的我VB.net里费了好大劲。 PHP的算法来自这个网站: http://www.tero.co.uk/des/code.php 修改的时候偷了个懒,2个参数省略了。有同学要用的话自己去加,也没什么难度了。 他提供了PHP、Perl、Javascript三个版本。我在修改的时候主要是用他的PHP版本测试的,PHP版的没问题,其他两版本稍作修改(应该没有PHP中截断数据的问题)应该也没问题的。 Delphi的同学可以找找这个加密算法也有Delphi版的。 费了很大精力搞这东西,佛祖的真经也要用紫金钵盂换的,发到CSDN上,供同学们使用。 觉得贵的同学请飘过,第一天晚上搞到4点,第二天一天,晚上又到2点,才调试完毕。所以,觉得贵的自己翻译去。 时间仓促,有可能还会有问题,如果有同学找到问题,请提出来,不胜感激。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧