通过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
给个测试方法
1 | 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. 按回车键
结果如下
1 | "(function(){function test(a){if(a){return a};return 123};var ret=test();alert(ret)})();" |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架