zoukankan      html  css  js  c++  java
  • 通过C#调用,实现js加密代码的反混淆,并运行js函数

    前一篇我测试了vba调用htmlfile做反混淆,并执行js加密函数的代码。本文换成C#实现。

    联系QQ:564955427

    C#操作JS函数,可以通过ScriptControl组件,但这个组件只能在x86进程下运行。如果在X64下,可以使用Htmlfile组件。

    C#调用com组件需要使用CreateInstance,当然也可以通过调用vb.net中的CreatObject来实现,或者反编译vb.net里面的CreatObject来修改成C#代码,只要解决了这个问题,剩下的就好办了。

    通过调用htmlfile实现所需的功能,具体参考vba代码。

    C#代码不再赘述。

    本文地址:http://www.cnblogs.com/Charltsing/p/CSharpEval.html

    给个测试方法

    eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p;}('(1(){1 4(0){6(0){2 0};2 5};7 3=4();8(3)})();',9,9,'a|function|return|ret|test|123|if|var|alert'.split('|'),0,{}))
    

      

    1. 打开 谷歌 或者 火狐 浏览器
    2. 按 F12 打开控制台
    3. 把代码复制进去
    4. 删除开头 eval 这4个字母
    5. 按回车键 

    结果如下

    "(function(){function test(a){if(a){return a};return 123};var ret=test();alert(ret)})();"
    

      

  • 相关阅读:
    leetcode32 Longest Valid Parentheses 最长有效括号序列
    js的Prototype属性
    一道区间dp和一道字符串
    Cookie和Session
    JS选择器querySelector和~All,三个原生选择器
    module.exports和exports
    Windows7环境下MongoDB安装和配置
    转载:Ajax基础详解&&http填坑2
    Node后台刷评论
    Node 简单爬虫
  • 原文地址:https://www.cnblogs.com/Charltsing/p/CSharpEval.html
Copyright © 2011-2022 走看看