http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3078|回复: 5

[其他] winform调用JS出错

[复制链接]
发表于 2013-8-6 18:22:49 | 显示全部楼层 |阅读模式
下面是改装后的JS(照飞哥的方法改的)
  1.             StringBuilder sb = new StringBuilder();
  2.             sb.Append("package aa{ public class JScript{");
  3.             sb.Append("var hexcase = 0;");
  4.             sb.Append("var chrsz   = 8;");
  5.             sb.Append("public static function hex_md5(s){");
  6.             sb.Append("return binl2hex(core_md5(str2binl(s), s.length * chrsz));");
  7.             sb.Append("}");
  8.             sb.Append("public static function core_md5(x, len) {");
  9.             sb.Append("  x[len >> 5] |= 0x80 << ((len) % 32);");
  10.             sb.Append("  x[(((len + 64) >>> 9) << 4) + 14] = len;");
  11.             sb.Append("");
  12.             sb.Append("  var a =  1732584193;");
  13.             sb.Append("  var b = -271733879;");
  14.             sb.Append("  var c = -1732584194;");
  15.             sb.Append("  var d =  271733878;");
  16.             sb.Append("");
  17.             sb.Append("  for(var i = 0; i < x.length; i += 16) {");
  18.             sb.Append("    var olda = a;");
  19.             sb.Append("    var oldb = b;");
  20.             sb.Append("    var oldc = c;");
  21.             sb.Append("    var oldd = d;");
  22.             sb.Append("");
  23.             sb.Append("    a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);");
  24.             sb.Append("    d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);");
  25.             sb.Append("    c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);");
  26.             sb.Append("    b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);");
  27.             sb.Append("    a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);");
  28.             sb.Append("    d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);");
  29.             sb.Append("    c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);");
  30.             sb.Append("    b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);");
  31.             sb.Append("    a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);");
  32.             sb.Append("    d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);");
  33.             sb.Append("    c = md5_ff(c, d, a, b, x[i+10], 17, -42063);");
  34.             sb.Append("    b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);");
  35.             sb.Append("    a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);");
  36.             sb.Append("    d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);");
  37.             sb.Append("    c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);");
  38.             sb.Append("    b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);");
  39.             sb.Append("");
  40.             sb.Append("    a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);");
  41.             sb.Append("    d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);");
  42.             sb.Append("    c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);");
  43.             sb.Append("    b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);");
  44.             sb.Append("    a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);");
  45.             sb.Append("    d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);");
  46.             sb.Append("    c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);");
  47.             sb.Append("    b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);");
  48.             sb.Append("    a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);");
  49.             sb.Append("    d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);");
  50.             sb.Append("    c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);");
  51.             sb.Append("    b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);");
  52.             sb.Append("    a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);");
  53.             sb.Append("    d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);");
  54.             sb.Append("    c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);");
  55. sb.Append("    b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);");
  56. sb.Append("");
  57. sb.Append("    a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);");
  58. sb.Append("    d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);");
  59. sb.Append("    c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);");
  60. sb.Append("    b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);");
  61. sb.Append("    a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);");
  62. sb.Append("    d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);");
  63. sb.Append("    c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);");
  64. sb.Append("    b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);");
  65. sb.Append("    a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);");
  66. sb.Append("    d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);");
  67.             sb.Append("    c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);");
  68.             sb.Append("    b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);");
  69.             sb.Append("    a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);");
  70.             sb.Append("    d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);");
  71.             sb.Append("    c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);");
  72.             sb.Append("    b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);");
  73.             sb.Append("");
  74.             sb.Append("    a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);");
  75.             sb.Append("    d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);");
  76.             sb.Append("    c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);");
  77.             sb.Append("    b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);");
  78.             sb.Append("    a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);");
  79.             sb.Append("    d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);");
  80.             sb.Append("    c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);");
  81.             sb.Append("    b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);");
  82.             sb.Append("    a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);");
  83.             sb.Append("    d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);");
  84.             sb.Append("    c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);");
  85.             sb.Append("    b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);");
  86.             sb.Append("    a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);");
  87.             sb.Append("    d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);");
  88.             sb.Append("    c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);");
  89.             sb.Append("    b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);");
  90.             sb.Append("");
  91.             sb.Append("    a = safe_add(a, olda);");
  92.             sb.Append("    b = safe_add(b, oldb);");
  93.             sb.Append("    c = safe_add(c, oldc);");
  94.             sb.Append("    d = safe_add(d, oldd);");
  95.             sb.Append("  }");
  96.             sb.Append("  return Array(a, b, c, d);");
  97.             sb.Append("}");
  98.             sb.Append("public static function md5_cmn(q, a, b, x, s, t) {");
  99.             sb.Append("  return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);");
  100.             sb.Append("}");
  101.             sb.Append("public static function md5_ff(a, b, c, d, x, s, t) {");
  102.             sb.Append("  return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);");
  103.             sb.Append("}");
  104.             sb.Append("public static function md5_gg(a, b, c, d, x, s, t) {");
  105.             sb.Append("  return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);");
  106.             sb.Append("}");
  107.             sb.Append("public static function md5_hh(a, b, c, d, x, s, t) {");
  108.             sb.Append("  return md5_cmn(b ^ c ^ d, a, b, x, s, t);");
  109.             sb.Append("}");
  110.             sb.Append("public static function md5_ii(a, b, c, d, x, s, t) {");
  111.             sb.Append("  return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);");
  112.             sb.Append("}");
  113.             sb.Append("public static function safe_add(x, y) {");
  114.             sb.Append("  var lsw = (x & 0xFFFF) + (y & 0xFFFF);");
  115.             sb.Append("  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);");
  116.             sb.Append("  return (msw << 16) | (lsw & 0xFFFF);");
  117.             sb.Append("}");
  118.             sb.Append("public static function bit_rol(num, cnt) {");
  119.             sb.Append("  return (num << cnt) | (num >>> (32 - cnt));");
  120.             sb.Append("}");
  121.             sb.Append("public static function str2binl(str) {");
  122.             sb.Append("  var bin = Array();");
  123.             sb.Append("  var mask = (1 << chrsz) - 1;");
  124.             sb.Append("  for(var i = 0; i < str.length * chrsz; i += chrsz) {");
  125.             sb.Append("    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);");
  126.             sb.Append("  }");
  127.             sb.Append("  return bin;");
  128.             sb.Append("}");
  129.             
  130.             sb.Append("public static function binl2hex(binarray) {");
  131.             sb.Append("  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";");
  132.             sb.Append("  var str = "";");
  133.             sb.Append("  for(var i = 0; i < binarray.length * 4; i++) {");
  134.             sb.Append("    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);");
  135.             sb.Append("  }");
  136.             sb.Append("  return str;");
  137.             sb.Append("}");
  138.             sb.Append("var pwmd5log = new Array();");
  139.            
  140.             sb.Append("public static function pwmd5() {");
  141.             sb.Append("  if(!$(pwmd5.arguments[0]) || $(pwmd5.arguments[0]).value == '') {");
  142.             sb.Append("    return;");
  143.             sb.Append("  }");
  144.             sb.Append("  numargs = pwmd5.arguments.length;");
  145.             sb.Append("  for(var i = 0; i < numargs; i++) {");
  146.             sb.Append("    if(!pwmd5log[pwmd5.arguments[i]] || $(pwmd5.arguments[i]).value.length != 32) {");
  147.             sb.Append("      pwmd5log[pwmd5.arguments[i]] = $(pwmd5.arguments[i]).value = hex_md5($(pwmd5.arguments[i]).value);");
  148.             sb.Append("    }");
  149.             sb.Append("  }");
  150.             sb.Append("}");
  151.             sb.Append("}}");
复制代码


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-8-6 18:23:18 | 显示全部楼层
  CompilerParameters parameters = new CompilerParameters();
            parameters.GenerateInMemory = true;
            CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString());
            Assembly assembly = results.CompiledAssembly;
代码运行到这一行的时候就出错 Assembly assembly = results.CompiledAssembly;
        
出错的内容为图片上的内容。详细信息为:

    未处理 System.IO.FileNotFoundException
      Message=未能加载文件或程序集“file:///C:\Users\admin\AppData\Local\Temp\tmnh0rts.dll”或它的某一个依赖项。系统找不到指定的文件。
      Source=mscorlib
      FileName=file:///C:\Users\admin\AppData\Local\Temp\tmnh0rts.dll
      FusionLog==== 预绑定状态信息 ===
    日志: 用户 = admin-PC\admin
    日志: Where-ref 绑定。位置 = C:\Users\admin\AppData\Local\Temp\tmnh0rts.dll
    日志: Appbase = file:///D:/JS加密方式测试/JS加密方式测试/bin/Debug/
    日志: 初始 PrivatePath = NULL
    调用程序集: (Unknown)。
    ===
    日志: 此绑定从 LoadFrom 加载上下文开始。
    警告: 将不在 LoadFrom 上下文中探测本机映像。仅在默认加载上下文中探测本机映像,例如,使用 Assembly.Load()。
    日志: 未找到应用程序配置文件。
    日志: 使用主机配置文件:
    日志: 使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config 的计算机配置文件。
    日志: 尝试下载新的 URL file:///C:/Users/admin/AppData/Local/Temp/tmnh0rts.dll。

      StackTrace:
           在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
           在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
           在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
           在 System.Reflection.Assembly.Load(AssemblyName assemblyRef, Evidence assemblySecurity)
           在 System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly()
           在 JS加密方式测试.Form1.button1_Click(Object sender, EventArgs e) 位置 D:\JS加密方式测试\JS加密方式测试\Form1.cs:行号 205
           在 System.Windows.Forms.Control.OnClick(EventArgs e)
           在 System.Windows.Forms.Button.OnClick(EventArgs e)
           在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           在 System.Windows.Forms.Control.WndProc(Message& m)
           在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
           在 System.Windows.Forms.Button.WndProc(Message& m)
           在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
           在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           在 System.Windows.Forms.Application.Run(Form mainForm)
           在 JS加密方式测试.Program.Main() 位置 D:\JS加密方式测试\JS加密方式测试\Program.cs:行号 18
           在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
           在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
           在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           在 System.Threading.ThreadHelper.ThreadStart()
      InnerException:

求知道的高台贵手帮忙解决一下。小弟在此深深的谢过了。
 楼主| 发表于 2013-8-6 18:24:07 | 显示全部楼层
出错的提示框如图
1.jpg
发表于 2013-8-6 18:57:11 | 显示全部楼层
CompilerParameters parameters = new CompilerParameters();
            parameters.GenerateInMemory = true;
            CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString());
            Assembly assembly = results.CompiledAssembly;
这里面写的是Js文件的路径,你写的是什么呀,怎么会出现Dll的。
 楼主| 发表于 2013-8-6 19:35:38 | 显示全部楼层
站长苏飞 发表于 2013-8-6 18:57
CompilerParameters parameters = new CompilerParameters();
            parameters.GenerateInMemory = ...

下面这段JS代码是可以运行的,所以我就挺想不通为什么会报错的,而且报的错还完全不知所谓。
  1. StringBuilder sb = new StringBuilder();
  2.        sb.Append("package aa{ public class JScript {");
  3.           sb.Append("public      static function gettirm(){");
  4.          sb.Append("return new Date().getTime()");
  5.       sb.Append("}");
  6.      sb.Append("}}");
复制代码
发表于 2013-8-7 16:44:38 | 显示全部楼层
不好意思,现在没时间帮你看,等我上班了一定帮你看看,我会记得回来看的,请楼主放心。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-2 21:34

© 2014-2021

快速回复 返回顶部 返回列表