如何分析js代码的运行路径?
来源:互联网 发布:php免费商城系统 开源 编辑:程序博客网 时间:2024/05/16 10:25
原文
只是个最基础的想法了。具体的实践稍微复杂一些:
1 如果script是用src引入的,还要用xhr或者json方式来获得text,可能还需要搭个后台代理。
2 如果function是在命名空间的,可以直接递归for in命名空间去挖里面的public函数出来。
3 private的函数我看就算了,私有函数应该对自己负责,我们没有必要非去整人家的私货。
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
function a(x,y,z){return b(x,y)*c(z)};
function b(x,y){return c(x)*c(y)};
function c(x){return x+x};
setTimeout("alert(a(1,2,3))",0)
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
(function (){
window._log=[];
function obj2str(o){
var r = [];
if(typeof o =="string") return "/""+o.replace(/([/'/"//])/g,"//$1").replace(/(/n)/g,"//n").replace(/(/r)/g,"//r").replace(/(/t)/g,"//t")+"/"";
if(typeof o =="undefined") return "undefined";
if(typeof o == "object"){
if(o===null) return "null";
else if(!o.length){
for(var i in o)
r.push(i+":"+obj2str(o[i]))
r="{"+r.join()+"}"
}else{
for(var i =0;i<o.length;i++)
r.push(obj2str(o[i]))
r="["+r.join()+"]"
}
return r;
}
return o.toString();
}
function log(s){
_log.push(s);
}
var s=document.getElementsByTagName("SCRIPT")[0].text;
var r=/function (/w+)/(/g;
var fns=s.match(r);
for(var i=0;i<fns.length;i++){
fn=fns[i].replace(r,"$1")
if (typeof window[fn]=="function"){
window[fn]=(function(org,fn){
return function(){
log("进入:"+fn+"/n调用参数:"+obj2str(arguments));
var r=org.apply(null,arguments);
log("退出:"+fn+"/n返回值"+obj2str(r));
return r
}
})(window[fn],fn)
}
}
})()
setTimeout("alert(window._log.join('//n//n'))",100)
//-->
</SCRIPT>
</BODY>
</HTML>
- 如何分析js代码的运行路径?
- 代码的运行路径
- JS:运行代码的代码
- 如何在网站内 运行 JS 代码
- Android Chromium的标题代码运行路径
- 可以即时运行JS的JS代码
- 如何获得运行程序的路径
- 如何得到jar包的运行路径?
- JS显示当前页面路径的代码
- 在线运行,复制,另存为的js代码
- 运行js代码的两种方式
- 一份代码的运行顺序分析
- 网页运行js代码
- js代码不运行
- c#运行JS代码
- python 运行js代码
- 如何让yylex后的代码运行
- 如何知道代码运行的时长
- 非常强大的文件比较工具:Vimdiff
- 利用UML来理解系统,生成测试
- ReportViewer 数据源更新
- jsp上传图片linux报no such file or directory问题解决方法
- jquery动态执行函数
- 如何分析js代码的运行路径?
- 对CVS,SVN等软件版本管理中Tag,branch,merge的一点理解
- 在页面注册脚本,window.open使弹出的页面显示到屏幕中间
- Android控件组合应用一
- android 内存使用
- ANDROID 手机设置GPRS上网
- struts 标签的实用 大家觉得好用不
- WF4.0 基础篇 (一)开始使用WF
- 联想x201i进入pe蓝屏问题