精华内容
下载资源
问答
  • _OS 21.10、适用于树莓派的 ARM 预览版同时发布 Kdenlive 21.12 发布,改善用户的编辑工作流程 ReactOS:开源的 Windows 替代品 开源大新闻 Log4j 漏洞最早由阿里云团队发现 据彭博社报道,Log4j (CVE-2021-44228)...

    整理 | 宋彤彤
    责编 | 屠敏

    开源吞噬世界的趋势下,借助开源软件,基于开源协议,任何人都可以得到项目的源代码,加以学习、修改,甚至是重新分发。关注「开源日报」,一文速览国内外今日的开源大事件吧!

    一分钟速览新闻点!

    • Log4j 漏洞最早由阿里云团队发现
    • HashiCorp 挂牌上市,市值 152 亿美元,成为今年全球市值最高的开源公司
    • 从 Mac App Store 下载的 Xcode 13.2 存在 Bug
    • GitLab 收购开源可观察性分发平台 Opstrace
    • 超 2 亿用户在使用 Android 12 Go 版本
    • Google 工具栏停止支持
    • Go 1.18 Beta1 发布
    • Pop!_OS 21.10、适用于树莓派的 ARM 预览版同时发布
    • Kdenlive 21.12 发布,改善用户的编辑工作流程
    • ReactOS:开源的 Windows 替代品

    开源大新闻

    Log4j 漏洞最早由阿里云团队发现

    据彭博社报道,Log4j (CVE-2021-44228)漏洞最早由阿里云安全团队发现,其员工 Chen Zhaojun 于 11 月 24 日向 Apache 发送了一封邮件,在邮件中他写道,“我想报告一个安全漏洞,这个漏洞将会带来很大的影响。”该邮件详述了黑客可能会如何利用 Log4j 这一广泛使用的软件工具,实现所谓的远程代码控制,这是黑客的梦想,因为他们可以远程接管一台计算机。

    这一消息最终引发了一场修复计算机系统的全球“竞赛”,美国高级网络安全官员将这一发现描述为“重大威胁”。曾经有警告迹象表明,Log4j 可能容易受到攻击,包括在 2016 年黑帽网络安全会议上的一次演讲中也有提到。但是为什么没有修复 Log4j 呢?Curl 的创始人 Stenberg 说道,“似乎 Logj4 的作者真的不明白,即使在突出显示之后,他们的代码中也有一个滴答作响的‘炸弹’。”(彭博社)

    HashiCorp 挂牌上市,市值 152 亿美元,成为今年全球市值最高的开源公司

    近日,开源软件公司 HashiCorp(HCP)正式在美国纳斯达克挂牌上市,成为今年全球市值最高的开源公司。自成立来,红点创投全球基金一直看好 HashiCorp。从 B 轮开始连续四轮支持 HashiCorp,并且在 C 轮领投,一路陪伴这家近年来成长最快的云公司直至 IPO。据悉,HashiCorp, Inc. (HCP) 在其股票定价远高于其范围后筹集了 12 亿美元。(红点News)

    从 Mac App Store 下载的 Xcode 13.2 存在 Bug

    近日,在开发者论坛上有网友发布帖子称,从 Mac App Store 下载更新的 Xcode 13.2 会导致项目无法编译和打包错误。而 Xcode 在尝试构建时只是告诉他,“内部错误:缺少 PackageDescriptionModule - 解析软件包失败”。许多开发人员回复该帖子称也收到了此消息,但目前似乎还没有修复。同时其他开发人员还表示,Xcode 13.2 开始向他发送与 GitHub 证书验证相关的错误。而后 Apple 回复帖子表示正在调查此问题,还称要解决此问题应直接从 Apple Developer 网站的 Releases 部分下载 Xcode 13.2 。

    图片: https://uploader.shimo.im/f/CWe17J6W1jeUdeax.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    图片来源:Developer

    GitLab 收购开源可观察性分发平台 Opstrace

    近日,外媒报道称 GitLab 已收购开源可观察性分发平台 Opstrace,具体交易细节没有公开。现今 GitLab 的估值已接近 110 亿美元,并处于更有利的地位。这一做法是该公司自 10 月 IPO 以来的首次收购,目的是为了抢占集成 DevOps 工具市场的更大份额。GitLab 的产品管理高级总监 Kenny Johnston 表示,“通过收购 Opstrace,GitLab 预计将成为第一个在单个应用程序中包含集成开源可观察性解决方案的公司,该应用程序具有一个用户界面、统一的数据存储和嵌入 DevOps 生命周期的安全性。”GitLab 计划将 Opstrace 集成到其 Monitor 阶段,它将提供给 GitLab 用户基于订阅的 SaaS 产品和自我管理产品。(VentureBeat)

    图片: https://uploader.shimo.im/f/En0IkUctAKSl1QsY.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    图片来源:VentureBeat

    超 2 亿用户在使用 Android 12 Go 版本

    12 月 14 日,谷歌发布博客详细地介绍了 Android 12 (Go 版),2022 年它将面向低端手机推出更快的应用程序启动、更长的电池寿命、更好的共享和更多的隐私控制。Android(Go 版)于 2017 年推出,旨在帮助更多人通过经济实惠的入门级手机访问 Android 和 Google 的精华。今天已有超过 2 亿人使用 Android(Go 版)手机。

    图片: https://uploader.shimo.im/f/SJ5IPYE85ALEPQL1.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    图片来源:Google

    Android 12(Go 版)设备上的应用程序启动速度最多可提高 30%,动画更流畅,同时谷歌团队还创建了 SplashScreen API,以便所有开发人员在用户启动他们的应用程序时都能提供始终如一的流畅体验;Android 12(Go 版)将通过休眠长时间未使用的应用程序来自动节省电池寿命和存储空间,更新后的 Files Go 应用程序也将允许用户在 30 天内恢复文件;同时应用程序共享、设备隐私、数据控制等都有提升,具体详情见附加链接。
    更多详情见:https://blog.google/products/android/introducing-android-12-go-edition/

    Google 工具栏停止支持

    近日,Google 工具栏不再可用于安装。适用于 Internet Explorer 的 Google Toolbar 已停产,要获得最佳的网络效果,可以向谷歌浏览器转移阵地。Google 工具栏的寿命正式定格在了 21 岁生日这天。

    图片: https://uploader.shimo.im/f/lfu5lxw22ikEkv68.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    开源软件专区

    Go 1.18 Beta1 发布

    12 月 14 日,Google 的 Go 编程语言技术负责人 Russ Cox 在 Go 官博宣布 Go 1.18 Beta1 的到来。该版本是 Go 1.18 的第一个预览版,目的是让用户体验后反馈其中的问题。Go 1.18 Beta1 包含了 Go 对使用参数化类型的泛型代码的新支持,而泛型是 Go 1 发布以来最大的一次语法变动。Russ 表示对于任何大型的新功能,用户发现新的 bug 是很常见的,因此他们希望可以谨慎对待泛型,同时一些其他微妙的情况,比如特定类型的递归泛型,已经被推迟到未来的版本。
    下载地址:https://go.dev/dl/#go1.18beta1

    Pop!_OS 21.10 、适用于树莓派的 ARM 预览版同时发布

    12 月 15 日,基于 Ubuntu 21.10 发行版的 Pop!_OS 21.10 正式发布,同时,该公司还发布了适用于树莓派(Raspberry Pi)的 ARM 预览版。Pop!_OS 21.10 最明显的变化是加入了一个新的 Applications Library,因为 System76 试图进一步与虚构的 GNOME 桌面环境保持距离。该公司为 Raspberry Pi 4/400 优化了 Pop!_OS 21.10,这是一款让人们能够学习和探索计算的迷你电脑。Pop!_Pi 能够让 Pop!_OS 适应 Raspberry Pi,为用户提供同样强大的软件工具供您使用。因此,无论使用者是在为机器人编程还是在学习 Rust,都可以享受体验的乐趣!

    图片: https://uploader.shimo.im/f/G9S170w3JhEZElom.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    图片来源:POP

    更多详情见:https://pop.system76.com/

    Kdenlive 21.12 发布,改善用户的编辑工作流程

    12 月 13 日,Kdenlive 团队发布今年最后一个令人激动的 Kdenlive 版本 21.12 ,它带来了大家期待已久的功能,如多机位编辑和滑动修剪模式,能大大改善了用户的编辑工作流程。此版本还带有一个新的基于深度学习的跟踪算法和一个自动魔法降噪过滤器,并能支持多个 Project Bins。同时新的 Kdenlive 在许多方面的增强和修复都得到提升,最明显的是同轨过渡和运动跟踪器。Kdenlive 团队还添加了一个选项,用于在时间线中循环所选剪辑,并且通过按 ESC,用户现在可以在使用编辑工具时默认返回选择模式。

    图片: https://uploader.shimo.im/f/IWno1W18iQ4Hlxjl.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    图片来源:Kdenlive

    详情链接:https://kdenlive.org/en/2021/12/kdenlive-21-12-is-out/


    开源工具推荐

    ReactOS:开源的 Windows 替代品

    ReactOS 是一个开源项目,旨在开发一个高质量的操作系统,与为 Microsoft Windows NT 系列操作系统(NT4、2000、XP、2003、Vista、7)编写的应用程序和驱动程序兼容,它基于 Windows 架构,提供对现有应用程序和驱动程序的支持,是当前占主导地位的消费者操作系统的替代品。ReactOS 主要是由 C 语言编写,部分器件则由 C++ 编写,例如 ReactOS 文件浏览器。

    https://uploader.shimo.im/f/syxz5jOYpkganB62.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU5NTUsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1NjU1LCJ1c2VySWQiOjc0MjE1Mzg0fQ.qJak_yR2aijf-TvD0LAOtQ9FmGoFCSuijtPpkllsylo

    图片来源:GitHub

    ReactOS 项目,虽然目前专注于 Windows Server 2003 的兼容性,但一直在关注与 Windows Vista 和未来 Windows NT 版本的兼容性。目前 ReactOS 还是一个 Alpha 测试版操作系统,并没有开发到稳定版。因此在使用途中它的不稳定因素可能会导致一些问题,也可能会破坏硬盘上的数据。特别建议在虚拟机或没有敏感和关键数据的计算机上测试 ReactOS。具体详情见附加链接。
    GitHub 地址:https://github.com/reactos/reactos

    【欢迎投稿】源码面前,了无秘密。大家还有哪些推荐的开源工具或者开源软件,亦或是想了解的开源资讯,可以投稿至邮箱:tumin@csdn.net。开源世界的一切,由你我共同创造!


    你参与开源有多长时间了?是否通过开源获得过收入?对亲身经历的开源世界有什么样的看法?
    欢迎参与 CSDN 重磅推出的《2021 中国开源开发者年度有奖大调查》活动,惊喜礼品等你拿!

    图片: https://uploader.shimo.im/f/KBiVVSh0Qh3tYa19.jpg!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2Mzk1NTU2NjQsImciOiI1eGtHTVFHelB2SUVHejNYIiwiaWF0IjoxNjM5NTU1MzY0LCJ1c2VySWQiOjc0MjE1Mzg0fQ.whw0JHIM2Ex7qXCDu23uty3UKsZCE69lwUKQR3EZU9Q

    展开全文
  • 我的目标是确保一直是一款很棒的产品,与此同时增加一些别的小功能以使在这个领域脱颖而出。例如,我想增加一个用户自行拍卖域名的功能。虽然这个功能有些平台已经做了,但依旧有很多不完善的地方。针对这些我...

    译者:一只椰子 知识星球链接:https://t.zsxq.com/iAiIyfm

    本文的主人公叫迈克,他在采访里面提到,自动化工具这一法宝已经轻松帮他实现每个月 12.5万美元的利润,对他而言,年入100万美元,根本不是梦。

    1.主人公简介

    我的名字是迈克・卡森,我是一个程序员兼黑客,我的公司网站是http://humbly.com/ projects. html,用来展示我目前所有的项目。大部分人随着年龄越来越大,才渐渐地清楚自己想做什么,而对我而言,当我是一个小孩时,我就已经非常清楚自己喜欢的事物一打造个人项目,这也是我业余时间里不遗余力做的,尤其是当我发现我所做的事情对别人有价值,更加坚定了我的信念。

    file. io是我一年前开始做的一个项目,已经有很多人在使用并认可它的价值,但发展势头和盈利能力远不及park.io. park.io是为一个为人们提供域名抢注服务的网站,尤其是正在快速增长的新域名后缀,比如:.io,.ly,.me。这项服务只有用户在抢到域名时才需要付费。

    2.park.io想法的由来?

    事情起源于:我之前一个项目的域名smile. io 过期了,要等这个域名被释放之后我才能进行再注册,但我不知道是什么时间点会被释放。为此,我写了一个每秒自动检测的脚本,一旦发现这个域名可以再注册,我就会收到邮件通知。

    有一天我和我妻子正在吃晚饭,手机上收到了邮件,邮件显示1分钟以前这个域名被开放出来可以再注册,我急忙打开电脑准备注册,但这个时候还是晚了,域名已经被注册掉了。我很不甘心,我开始思考整个流程并针对性地优化了我的脚本,到后来这个脚本变得非常给力,我基本可以抢注到任何我想注册的域名。通过这次经历,我认为这个需求很普遍,所以,我决定做一次尝试,将它作为一个可以赚钱的服务开放给别人用。

    我用了一周的时间搭建网站一我搭建了前台,用户可以在上面自行完成注册、支付等功能,我没有做任何推广工作,除了在域名抢注成功后在该域名上增加了一个着陆页,直到现在我还在这么做(可参考网址:https://park.io/parked.html?domain=tab.io),用这种方式,很多潜在用户发现了park.io,渐渐地,口口相传,服务上线的第一天我就拿到了几个订单,从那以后的每一天订单都源源不断。

    3.如何投入时间和金钱来打造自己的个人项目?

    其实这更像是一个爱好,我仅仅在业余时间弄一弄,我甚至从一开始都不觉得这是一个真正意义上的点子,park.io这个项目更像是一系列自发的行动+反馈调整。当有些事像爱好一样有趣时,你甚至不会认为它是一个可以赚钱的点子,你会不自觉地投入很多时间和热情在上面。所以不一定要有很明确的点子后才开始行动。

    其次,通过park.io这个网站我学到的另外一件事,适应变化快速做出反应的能力非常重要。我认为下面这句话同样适用于商业竞争:最后能生存下来的物种并不是那些最强壮的,也不是那些最聪明的,而恰恰是那些对变化做出快速反应的。一达尔文。

    我认为初创公司相比大公司有一个巨大的优势一更强的适应能力,正所谓船小好调头。在过去的几年里出现了很多不利于业务发展的因素,但我最后都能根据情况变化有针对地进行调整,项目也因此一直保持了快速增长。

    第三个巨大的优势是,作为程序员我们有能力将项目自动化。任何情况下一旦我发现自己在重复做一些事,我就会努力通过代码让其自动化。我有很多自动化的项目,相当于我拥有一个50人的团队,没日没夜地在后台持续、精准地在运转。park.io预计今年收入会突破100万刀,而干活的自始至终就我一个人,毫无疑问这得益于自动化这一法宝。

    4.如何获取用户推动业务增长?

    我从来没有花钱做过推广,除了有一次在一个域名博客的侧边栏放置了广告花了一点钱,其实也主要是为了搭汕这个博主,推广的成分很小。

    我始终坚信吸引用户最好的手段就是提供优质的服务和产品,所谓好产品自会说话,酒香不怕巷子深。大部分用户都来自我之前提到过的域名着陆页。

    除了以上提到的方法,我用过的渠道还包括:周刊、博客、采访、域名捐赠等等。

    5.那些收入背后的故事

    网站上线后的24个小时内我接到了几个订单,事实上那个时候我对定价并没有什么概念,只是觉得99刀应该是个不错的数字,不过百,也能轻松cover住成本。

    我将整个支付流程也用脚本实现了自动化,这个过程很容易。我的目标是在一年内突破100 万美元收入,今年应该可以实现这个目标。之所以定这个目标是因为我听说一些5%的软件公司可以达到这个数,而且这也是进入PhillylOO 榜单最低的门槛。

    6.park.io未来的目标是什么?

    我的目标是确保它一直是一款很棒的产品,与此同时增加一些别的小功能以使它在这个领域脱颖而出。例如,我想增加一个用户自行拍卖域名的功能。虽然这个功能有些平台已经做了,但依旧有很多不完善的地方。针对这些我考虑过一段时间,也想出了一些有意思的改善方案。

    7.如果能从头来过,你是否会做出一些改变?

    其实,我不确定自己是否会做出改变,因为目前的项目发展情况已经出乎我意料了。相比我有可能做出的改变,下面这些方面我认为是我过去做的比较好的:

    1、适应能力。无论面对多么复杂和困难的环境,始终坚信一定有方法可以解决当前的问

    题。

    2、简单化。其实有很多功能用户反馈说需要,但我没有加上去,因为我认为这些需求偏离了我的主要目标,事实也证明,保持功能简单化非常有助于公司发展。我也根据这一原则优化了app的设计界面,用户很喜欢。事实上我不愿意为了改变而改变,目前的发展情况我已经很满意,似乎没有改变的必要。

    8.还有哪些从你个人角度觉得对业务发展帮助很大的?

    我具备的最大的两个优势是:

    1、团队很小,就我一个人,这意昧着我能很容易适应环境变化、快速行动。这是我相比大公司非常大的优势所在。

    2、作为一个研发型的程序员,我可以将很多任务实现自动化,正如我之前提到的,自动化让我觉得我拥有一个大的团队,无时无刻不在工作。

    9.对于个人黑客你有什么建议吗?

    我的建议可能是不一定等有成型的想法了才能行动,只要发现有意思的事就去做,很可能渐渐地演变为一门生意。我个人也很喜欢单枪匹马干活,因为我始终认为根据变化快速做出反应是作为独立创始人最最重要的素质。同时,正如我之前提到的,作为程序员要尽可能将项目实现自动化。

    另外一些建议是从我个人成长和经历得出的,那就是发现方向不对时要快速放弃,投入下一个,不要因为这个耽误时间。

    英文原文链接:https://www.indiehackers.com/businesses/park-io

    本文同步到「什么值得学」网站,此站精选「知识星球」付费内容。

    本文来源于「生财有术」知识星球,更多精彩内容请扫码订阅。

    在这里插入图片描述

    展开全文
  • 想看付费美女直播视频,但不想花钱,怎么办?

    万次阅读 多人点赞 2019-06-20 09:00:00
    然后其实会发现一个问题,class not found,找了很久,最后才反应过来,因为apk经过加固,必须要用壳的ClassLoader来加载类,因为真正的代码是腾讯加固程序启动后去加载真正的dex文件的。 这里我们可以hook ...

    本文由 蓝师傅_Android 授权投稿
    原文链接:https://www.jianshu.com/p/51dcc24900ba

    前言

    在一个夜黑风高的晚上,我的基友突然给我发了一个叫“xx社区”的app,这是什么玩意?找了一张可以上墙的图

    640?wx_fmt=png

    我凑,是个美女直播软件,迫不及待的我,一阵点点点,发现最亮点的功能是第二个tab页,是类似抖音的短视频,找了一张正经的图,抖音都没这么正经吧。。。

    640?wx_fmt=png

    我去,做的效果跟抖音一毛一样,上下滑动切换视频,聊这个,那我可不困了,在滑动了差不多20个视频之后,出现了这个

    640?wx_fmt=png

    卧槽,这能忍,作为一个Android开发攻城狮,充值是不可能充值的。太晚了,打算明天再破解它的收费功能。于是,第二天很早就起床打开电脑,这篇文章就开始了…

    反编译

    将apk发送到电脑,然后打开jadx-gui传送门,直接选择这个apk,打开,发现源码是这个样子的

    640?wx_fmt=png

    熟悉逆向的朋友们肯定猜到了,这个apk使用了腾讯加固,所以反编译出来只有腾讯加固的几个类,看不到目标源码。那怎么办?
    既然加固了,第一步就是要给它脱壳

    脱壳(需要xposed支持)

    FDex2

    通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出。

    下载安装,在xposedinstaller中勾选模块并重启,然后打开FDex2选择xx社区,然后重启xx社区,即可在对应目录找到dex文件的踪影

    分析代码

    上一步通过FDex2,成功脱壳

    640?wx_fmt=png

    拿到三个dex,依次用jadx-gui打开,根据包名,可以找到对应Activity的位置

    640?wx_fmt=png

    如何得到Activity名称,这个可以用无障碍,也可以直接过滤日志,比如,打开界面,然后日志过滤“start|activity” start u0

    com.one.tomato.ui.StartUpActivity 就是主页了,主页一共有5个tab,每个tab应该对应一个fragment,我们要先找到第二个tab对应的fragment

    640?wx_fmt=png

    看到点击事件,通过命名方式可以猜到这个是底部tab的点击事件,点一下应该会切换显示fragment

    640?wx_fmt=png

    果然不出我所料,第二个tab是PapaTabFragment,搜索一下

    640?wx_fmt=png

    打开看看

    640?wx_fmt=png

    虽然代码被混淆了,但是可以猜到这里是初始化的方法,有头像和收藏图标的点击事件,当然,这个不是重点,哈哈,我们还是要先分析一下什么时候触发这个弹窗,弹窗的条件是播放次数到达到一个值,根据这个条件,快速浏览一下PapaTabFragment这个类,代码不多,只有1千行多一点

    640?wx_fmt=png

    发现疑点,LookTimes是观看时间,VideoPlayCountUtils是播放次数。

    VideoPlayCountUtils 是一个单例,所以看b和c方法

    640?wx_fmt=png

    “video_play_count” 这么明显的字眼,播放次数,这个次数是从PreferencesUtil中获取的,也就是存在sp中

    640?wx_fmt=png

    PreferencesUtil 中的e方法,如果登录信息不为空,就返回信息中的id,空就返回0,所以第一次打开才会是0,可以观看,之后这个LoginInfo不为空了,开始统计观看次数了。

    so,让它总是返回0?

    上代码

    Xposed模块开发基础就不说了,默认你已经会了,不会自己去查一下,Xposed基础不是本文的重点。

    //播放数总返回0,无限制观看

    
     

        private static void hookVideoCount(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
            LogUtil.d(TAG,"hookVideoCount start");

            hook_method("com.one.tomato.utils.PreferencesUtil", loader, "e"new XC_MethodHook() {

                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

                    LogUtil.d(TAG,"beforeHookedMethod hookVideoCount");

                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    LogUtil.d(TAG,"afterHookedMethod 视频次数返回 0 ");
                    param.setResult(0);


                }
            });
        }

    protected static void hook_method(String className, ClassLoader classLoader, String methodName,
                                 Object... parameterTypesAndCallback)
     
    {
            try {
                XposedHelpers.findAndHookMethod(className, classLoader, methodName, parameterTypesAndCallback);
            } catch (Exception e) {
                XposedBridge.log(e);
                xLog(e.getMessage());
            }
        }

    然后其实会发现一个问题,class not found,找了很久,最后才反应过来,因为apk经过加固,必须要用壳的ClassLoader来加载类,因为真正的代码是腾讯加固程序启动后它去加载真正的dex文件的。

    640?wx_fmt=png

    这里我们可以hook TxAppEntry 的 attachBaseContext 方法

    
     

    public static void hookClassLoader(final XC_LoadPackage.LoadPackageParam loadPackageParam){
            if (classLoader == null){

                try {
                    //腾讯加固,需要获取对应classloader
                    XposedHelpers.findAndHookMethod("com.tencent.StubShell.TxAppEntry", loadPackageParam.classLoader,
                            "attachBaseContext", Context.class, new XC_MethodHook() {
                                @Override
                                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                                    super.afterHookedMethod(param);
                                    //获取到Context对象,通过这个对象来获取classloader
                                    Context context = (Context) param.args[0];
                                    //获取classloader,之后hook加固后的就使用这个classloader
                                    TomatoModule.classLoader = context.getClassLoader();
                                    LogUtil.d("成功hook classloader");

                                    hookAD(loadPackageParam, classLoader);

                                    openLog(loadPackageParam, classLoader);

                                    hookVideoCount(loadPackageParam, classLoader);


                                }

                            });
                }catch (Exception e){
                    LogUtil.e(e.getMessage());
                }
            }

        }

    然后安装试了一下,卧槽,真的无限制观看了,我是V8了?

    640?wx_fmt=gif

    确实成功了,效果图就不发了,大家可以动手试试。

    另外,跳过首页广告和打开日志的hook点我也很快找到了

    
     

    //自动跳过广告
        private static void hookAD(XC_LoadPackage.LoadPackageParam param, ClassLoader loader{
            LogUtil.d(TAG,"hook StartUpActivity start");
            hook_method("com.one.tomato.ui.StartUpActivity", loader, "onCreate", Bundle.class, new XC_MethodHook() {

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable 
    {
                    LogUtil.d(TAG,"beforeHookedMethod onCreate");
                    Object object = param.thisObject;
                    LogUtil.d(object.toString());
                    Class<?> aClass = object.getClass();
                    Method[] methods = aClass.getDeclaredMethods();
                    for (Method method : methods) {

                        LogUtil.d(method.getName());
                        if (method.getName().equals("z")){
                            LogUtil.d("自动跳过广告页");
                            method.setAccessible(true);
                            method.invoke(object);

                        }
                    }

                    Toast.makeText((Context) param.thisObject, "xposed并跳过广告,功能正常", Toast.LENGTH_SHORT).show();

                }
            });

        }


        //打开日志开关
        private static void openLog(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
            LogUtil.d(TAG,"hook LogUtil start");
            hook_method("com.one.tomato.utils.LogUtil", loader, "a"int.class,String.class,Object.class, new XC_MethodHook() {

                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable 
    {

                    Object object = param.thisObject;
                    LogUtil.d(object.toString());
                    Class<?> aClass = object.getClass();
                    Method[] methods = aClass.getDeclaredMethods();
                    for (Method method : methods) {
                        LogUtil.d(method.getName());
                        if (method.getName().equals("a")){
                            LogUtil.d("openLog");
                            method.setAccessible(true);
                            method.invoke(object,true);
                            return;

                        }
                    }

                }

            });
        }

    不是很难找,这里就留给大家自己去实践学习了。

    注意:不管xx社区后期是否停止服务(你懂的),本文只是技术分享。

    虽然破解了短视频模块播放次数限制之后,发现播放经常弹出“参数错误”的toast,这TM能忍,继续干。然后看到“我的”界面的次数没有被hook

    640?wx_fmt=png

    说明没有hook彻底,如果应用中其它地方用了这里的 0/30 做判断,那么有可能还会被限制,请继续看:

    640?wx_fmt=png

    首先,打开 MineTabFragment 这个类,这个上一章已经分析过了,”我的“ 那个tab对应 MineTabFragment,然后寻寻觅觅,起初没找到免费观看次数是哪个textview,然后翻到最上面,发现导包的地方有个 import com.one.tomato.utils.VideoPlayCountUtils,顾名思义,就是获取播放次数的类,然后就发现了上图这个调用的地方

    
     

                if (VideoPlayCountUtils.a().b() != -2) {
                    z = false;
                }
                a(z, VideoPlayCountUtils.a().b(), VideoPlayCountUtils.a().c());

    看下 VideoPlayCountUtils.a()

    640?wx_fmt=png

    VideoPlayCountUtils 是一个单例,所以我们直接看 b 方法

    640?wx_fmt=png

    和 c 方法

    640?wx_fmt=png

    看到 video_play_count 没,都是跟播放次数有关,盘它就对了

    
     

        private static void hookVideoCountUtil(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
            hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "b"new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.b --- " + param.getResult());

                }
            });

            hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "c"new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.c --- " + param.getResult());

                }
            });
        }

    先打印两个值看看,build and install 重启xx社区,看log

    640?wx_fmt=png

    28/30,对应就是剩余播放次数和总的可以播放次数。
    上面的原图是29,因为中间手抖播放了一次,所以剩下28,没毛病。。。

    改返回值啦,很简单了,最终代码如下

    
     

        private static void hookVideoCountUtil(XC_LoadPackage.LoadPackageParam param, ClassLoader loader){
            //剩余播放次数
            hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "b"new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.b --- " + param.getResult());
                    param.setResult(1000);
                }
            });

            //总的可以播放次数
            hook_method("com.one.tomato.utils.VideoPlayCountUtils", loader, "c"new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    LogUtil.d(TAG,"afterHookedMethod VideoPlayCountUtils.c --- " + param.getResult());
                    param.setResult(1000);

                }
            });
        }

    重新打开xx社区

    640?wx_fmt=png

    可播放了总次数都是1000,怎么播都不变了

    640?wx_fmt=jpeg

    PS:文章为作者独立观点,仅供技术交流,不代表本公号立场





    推荐阅读
    时隔4年,我的第二本书出版了
    今天送购书福利:满200减100

    Flutter移动端架构实践




    编程·思维·职场
    欢迎扫码关注

    640?wx_fmt=jpeg



      在看也是一种认可640?wx_fmt=gif

    展开全文
  • 代码之PDF版.高清晰

    热门讨论 2008-03-26 21:37:11
    集结了软件设计大师们的见解和思想,三十八位大师级的程序员,一步步讲解他们的项目架构,开发时的种种折中考虑,以及何时必须打破常规,寻求突破. <br>在此套用某达人对此书的评价:(不看《代码之》的十大理由)...
  • 数学之--浅见

    千次阅读 2019-04-02 00:02:01
    “数学之”最初是从2006年起在Google中国的官方博客---谷歌黑板报上连载的系列博客,作者吴军。他的“浪潮之巅”也是很著名的一本书。 数学,文字,和自然语言一样,都是信息的载体,他们之间就存在着关系。这次...

    目录

    第一章,文字和语言vs数字和信息

    第二章:自然语言处理--从规则到统计


    “数学之美”最初是从2006年起在Google中国的官方博客---谷歌黑板报上连载的系列博客,作者吴军。他的“浪潮之巅”也是很著名的一本书。

    数学,文字,和自然语言一样,都是信息的载体,他们之间就存在着关系。这次了解到了“数学之美”,推荐给大家读读。

    第一章,文字和语言vs数字和信息

    • 通信的原理和信息传递的模型

    通信的原理是什么?无疑就是信息的产生,传播,接收和反馈。

    这里面的信息的产生,传播,接收和反馈。与今天的最先进的通信在原理上也没有任何差别。

    文字的起源是因为随着人类文明的增长,人类仅靠大脑已经记不住所有的词汇了,也就如同今天一样,没有人能够记住所有的知识,高效的记录信息的需求便如此产生了。

    中国(迄今发现的)最早的甲骨文出现在几千年前,但是尼罗河流域就有了更高度的文明,古埃及人发明了最早保存信息的方法--用图形记录信息。如古埃及的亚妮的死者之书。

    • 信源编码和最短编码

    著名的美籍俄商物理学家乔治.伽莫夫( George Gamow,1904-1968)在他的科普读物《从- -到无穷大》- -书中讲了这样- -个原始部落中的故事。两个酋长要比一比谁说的数字大,一个酋长想了想,先说了“三”,第二个酋长想了半天,说你赢了。因为在原始部落,物质极其缺乏,超过三的时候很少,他们就称之为“许多”或者叫数不清。

    所以,对于文字的编码问题,是十分重要的问题。毫无疑问,如果我们是十二个手指,今天我们就会是十二进制。数字和其他文字一样,在早期只是承载信息的工具,并不具有任何其他抽象的含义。

    我们的祖先很聪明,他们发明了进位制,及逢十进一。即最先的对数字进行了编码。

    那么是否有文明采用二十进制呢,也就是说他们数完全部的手指和脚趾才开始进位呢?答案是肯定的,这就是玛雅文明。因此,玛雅人的一个世纪,他们称为太阳纪,是四百年。2012年正好是目前这个太阳纪的最后一年,2013年将是新的太阳纪的开始。这是我在墨西哥从研究玛雅文化的教授那里得知的。不知道从何时起,2012年这个太阳纪的最后一年被讹传为世界的最后一年。当然,这是题外话了。

    当今使用的数字,是古印度人发明的,他们发明了包括0在内的10个阿拉伯数字。为什么叫做阿拉伯数字,而不是叫做印度数字呢?原因就在于,古欧洲人将这个功劳归属于去欧洲经商的阿拉伯人。

     

    • 解码和规则,语法

    语言从古代发展到现在的语言,在表达意思上比以前更加的准确,更丰富。也出现了从字母到词法的构词法,是词的编码规则。则词法就是对语言的编码和解码的集合。从数学上讲,对于前者可以有完,备的编解码规则,而后者则不具备这个特性。因此,任何语言都有语法,规则覆盖不到的地方,这些例外或者说不精确性,让我们的语言丰富多彩。虽然正统而教条的语言学家倾向于把这些例外作为“病句”,并且有的人毕其- -生的精力来消灭病句,纯化语言,但是事实证明这种工作是徒劳的。

    聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法图论聚类法、聚类预报法等。

    校验位:校验位又称奇偶校验位(英语:parity bit)是一个表示给定位数的二进制数中1的个数是奇数还是偶数二进制数。奇偶校验位是最简单的错误检测码。

    第二章:自然语言处理--从规则到统计

    • 机器智能

    最早提出机器智能的是计算机科学之父,阿兰·图灵。论什么是计算的机器和智能。图灵并没有给出研究的标准。但是提出了验证机器是否有智能的方法,即让人和机器进行交流,如果人不能够判断出与自己交流的是人还是机器时,就说明这个机器有智能了。此方法被后人称为图灵测试。

    以前的学术界对人工智能和自然语言的理解只在于普遍认知:要让机器完成翻译或者语音识别这样只有人类才能做的事情,就必须让计算机理解自然语言,而做到这一点就必须让计算机有类似于我们人类这样的智能。如一个翻译,一定是了解两门语言的语法,语义等知识,这就是直觉的作用。在人工智能的领域,包括自然语言的处理领域,后来吧这样的方法论称为“鸟飞派”。意思就是只看鸟的飞翔,就可以造出飞机,而不用去了解空气动力学,不需要去了解物理,数学,等知识。

    但是,事实上我们知道,福特兄弟造出飞机,不仅仅是只看鸟的飞行,只依靠仿生学的。而是考的空气动力学等知识。

    在二十世界七十年代,当时的科学家头脑内部是这样认识自然语言的处理的。

    就像我们学习编译原理,一句话内,通过词法分析,能够得到语法分析树,如:

    徐志摩喜欢林徽因。

    一个句子分为主语,动词短语(谓语)和句号三部分,对每一个部分进行分析,得到语法分析树。

    这样的分析根据着一些重写规则。

    句子---->主语谓语句号

    主语---->名词

    谓语---->动词   名词短语

    名词短语---->名词

    名词---->徐志摩

    动词---->喜欢

    名词---->林徽因

    句号---->。

    • 从规则到统计

    自然语言的处理方法,不是简单的对词语的语法分析,通过对规则的解读,便可以达到翻译的效果,在自然语言的底层,还有这人类情感与习惯的存在。

    如,我们在日常生活中,各地不同的习俗会使一句话又不同的含义。

    所以,单单使用规则已经不能够满足时代的发展了。而统计的出现,便是很好的解决对自然语言的处理的办法。新的方法越来越依靠数据的作用和浅显的自然语言的处理的工作。更深的去了解自然语言,就需要通过统计的方法,找出其中的规律,类似于当下的大数据。

     

    这次就解读这么多,下次小二会慢慢解读出更多的知识。谢谢大家!

     

     

     

     

     

     

     

    展开全文
  • 文章目录前言一、Strcpy库函数是什么...通过对C语言中 Strcpy 库函数的自我实现,探索程序的 优化之 ,探索程序的 奥秘! 一、Strcpy库函数是什么? Strcpy库函数作用:实现字符串的复制 strcpy ( char * destinat
  • 《数学之》读书笔记

    万次阅读 2018-05-20 09:58:31
    《数学之》读书笔记 曾经看过吴军博士的《大学之路》,对书中的教育理念十分喜欢,这次有机会拜读《数学之》,读完之后,感觉十分清爽,之前还未曾听说过一本书能将数学,计算机,算法,文化,历史和教育理念...
  • 数据可视化之:经典案例与实践解析

    千次阅读 多人点赞 2019-03-19 11:55:42
    是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度的总和应与所有分出去...
  • 他一生谦逊,很少用自己的名字给他发现的东西命名。不过还是命名了一个最重要的一个常数——e。 No.1: 麦克斯韦方程组(The Maxwell's Equations) 麦克斯韦电磁场理论的要点可以归结为: ...
  • 算法之-[]布莱恩·克里斯汀 汤姆· 格里菲思在线阅读百度网盘下载(d14s)书名:算法之作者:[]布莱恩·克里斯汀 汤姆· 格里菲思格式:EPUB, HTMLZ, PDF书号:9787508686882路径:点击打开出版:中信出版集团排序...
  • 探寻计算机科学之

    千次阅读 2009-10-22 20:06:00
    看到这个题目,你也许会说:“没搞错吧,计算机...因为这些书,会带领你去发现计算机科学世界的。《代码之》英文书名:Beautiful Code, Leading Programmer Explain How They Think出版时间:2009年1月,定价:99元
  • 十大建筑中的数学之

    千次阅读 2018-07-08 20:53:50
    数学,在生活中应用广泛,因而显得平常,建筑则更是普遍存在于视野里,但是如果建筑和数学结合起来,那成果肯定会让你叹为观止。接下来我们来盘点一下,那些具有“数学”的建筑吧!...
  • 数学之—泰勒展开式

    千次阅读 2018-09-24 13:42:34
    发现的,他把这一定理刻画为微积分的基本定理。泰勒定理的严格证明是在定理诞生一个世纪之后,由 柯西 给出的。 2:推导   第一次见到泰勒公式长这样,内心是不是崩溃的?   下面我们就用一种简单的方式来...
  • 数学之系列好文,强烈推荐

    万次阅读 2017-04-22 16:52:29
    数学之系列一 -- 统计语言模型 2006年4月3日 上午 08:15:00 发表者: 吴军, Google 研究员   前言   也 许大家不相信,数学是解决信息检索和自然语言处理的最好工具。能非常清晰地描述这些领域的实际问
  • 感受LiveData 与 ViewModel结合之

    万次阅读 2018-06-19 13:48:19
    发现好多常用的组件分离出了v4包,比如 ViewPager 、 SwipeRefreshLayout ,这里就不多说了。 2.优势 LiveData 是一个可以感知 Activity 、Fragment生命周期的数据容器 。当 LiveData 所持有的数据改变时...
  • 《系统之》读后感

    千次阅读 热门讨论 2017-01-22 20:53:55
    小序我一直认为思考是改变的开始,但是思考什么,如何思考的问题直到我遇到了《系统之》这本书,我才突然明白了,这就是我最缺乏最想要的书了,我关于思考的问题从里面得到了很多的启发,这里给大家分享介绍一下这...
  • 史上最全的投资股指南

    千次阅读 2017-08-14 16:04:40
    ​ ...其实投资没你想的那么复杂,你每天都在投资,比如你把钱放到余额宝,买基金,买股票。...但是每个人投资的方式不同...今天我们聊聊投资股你最关心的3个问题: 1)如何投资股? 2)你的资金安全吗?
  • 手把手带你爬取百度美女图片,Python练手项目!

    万次阅读 多人点赞 2021-04-20 19:41:10
    所以完整流程如下: 分析目标站点 → 请求网站获取数据 → 解析内容 → 保存数据 分析目标站点 快速的分析目标站点就很容易发现百度图库的图片资源是通过AJAX加载的,所以我们要请求的链接并非浏览器地址栏链接,...
  • 数学之--分形几何与建筑形式

    千次阅读 2016-11-17 18:54:37
    分形几何与建筑形式 作者:林小松 吴越 摘要:本文提出了“分形是超越传统的统一与变化原则的全新的建筑形式美的基本法则”的观点;说明了全息论与分形理论的共同特点是它们都研究物体的自相似关系;引用...
  • 前言如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,与研发是有区别的.一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需求实现的逻辑...
  • 发现它是个空的标记接口,连注释都没有。看看它的实现类吧,AbstractAutoServiceRegistration,如图:   从注释中可以看到有这样一句话,“生命周期方法或许非常有用,通常用于服务注册的实现”。而且它...
  • Keynote就是苹果Mac版的PPT,你可以透过制作很多美丽活泼的商务PPT。Keynote的功能虽然比较简约,但该有的功能还是有,操作介面非常容易上手。   9.  个性主义风格PPT、Keynote模板布景主题 收集了8...
  • 被欧美公司垄断的工业软件,中国还有机会吗?

    万次阅读 多人点赞 2020-10-09 17:33:54
    在中国、美国以及世界各地都有很多忠实用户,大家不会由于是来自俄罗斯的开源产品,而不用。TDengine从今年8月开源集群功能至今两个月时间,没有在任何英文媒体或自媒体做过推广和宣传,但现在来自美国的用户数...
  • 《数学之》知识点详细总结

    千次阅读 2017-04-05 17:15:32
    《数学之》知识点详细总结 From`RxNLP`Scofield 未完待续    《数学之》这本书在本科期间电子版上偶尔进行了翻阅,后来有时间了就完整的进行了阅读。出于老习惯,看完一本书后总会去总结书本的知识点层次...
  • AI科技评论发现了一个GitHub项目,上面展示了GPT-3的多种玩法,整整50种,包括用GPT-3生成网页、图表、代码、文本以及推理。其中令人吃惊的是,GPT-3能生成Keras编写的卷积神经网络的代码,还能应对程序员面试、回复...
  • 所以本人根据自己的使用情况写了一个方法指南,经过多次试验,发现它还是很能派上用场的 大致原理就是再添加一次键盘然后再删除掉。 步骤一:点击如图位置-打开“语言首选项” 步骤二:(可以
  • Scratch课堂——数学之-蝴蝶曲线

    千次阅读 2019-03-23 14:32:01
    蝴蝶曲线是美国南密西西比大学坎普尔·费伊(Temple H·Fay)发现的可用极坐标函数表示的蝴蝶型曲线,主要应用于数学及个人计算机领域。20世纪计算机的出现彻底改变了数学研究。计算机不仅成为辅助数学研究的有力工具...
  • 知乎里那些绝美的壁纸在这里!

    万次阅读 2019-03-10 09:25:33
    **喜欢刷知乎的同志们会知道知乎里好看的壁纸有很多,今天笔者就把全爬下来。 问题链接:https://www.zhihu.com/question/308072414/answer/581633043 打开知乎的这个回答下拉右边的滑动框,不难发现这个网页是...
  • 一笔画: 表现绘画过程的

    万次阅读 多人点赞 2018-09-23 23:48:19
    过程信息缺失,让我们感觉绘画只是静止的平面艺术,不会去考虑的形成过程,更不会从形成过程感受到。 虽然绝大多数绘画作品并不以体现过程为首要表现手段,但”过程“却是音乐、舞蹈这类表演艺术主要依赖的...
  • 在至真层面,数学作为物理世界的通用语言可以说当之无愧,的功用和影响力几乎触及所有学科。但在美学层面,数学之却是一个非常模糊的概念,相比“至真”的客观与精准,“至美”则掺杂更多主观因素,而且难以定性...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,649
精华内容 89,459
关键字:

发现它的美