通過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)})();"

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM