zoukankan      html  css  js  c++  java
  • 关于逆向360相关的一点感想

    前两天,在忙一个东西,逆Win10设置默认浏览器的一个算法,

    这个算法是设置Win10操作系统最新版本的默认浏览器,所以肯定是微软自己的算法,360要么有源码,要么逆向出来的。

    因为,涉及到一些不该说的东西,所以我就不贴代码了,微软的那个算法应该是叫CS64吧,应该不是公开的,管他呢,反正我就这么叫了。

    首先,其实我是照着360的代码逆的,但是真的很可怕,360的代码真的很烂,

    不要说什么保护代码,什么手动加密阿什么的,代码写得烂就是写得烂,从编译器编出来的结果就看得出来,就是写得烂,

    360的代码,我逆了6套版本,最后找到了3个公式,来解决了算法的问题,

    但是还是很烂,有很多多余的东西,乱七八糟多余的分支,虽然和微软的代码结构相同,但是明显代码就更烂。

    然后我看了微软的代码。。。超级简洁,

    用微软的代码,我一次就逆出了整个逻辑,优化到了2个公式。

    哎,真的很不一样的。

    前面我猜测了,要么360有源码,要么就是逆向出来的。

    如果360有源码的话,勉强说得过去,毕竟整体代码结构相同,只不过编译出来的汇编代码不完全一样,

    但是我更怀疑,360那边也是逆出来的,他们逆出来之后,根本就没有去考虑算法内部的实现细节,也没有考虑算法各部分的用途,

    结果一段明显没有用的代码,逻辑上,和上下文中,以及各个功能部分都能保证的一块没有用的代码,仍然冠冕堂皇地站在360的代码中。

    有心人,自己去逆那个代码吧,具体是做什么的,具体叫什么,我都说清楚了,只是没贴代码而已。

  • 相关阅读:
    aptana中删除空行
    css预处理的引入与问题
    rsyslog 服务器重启后 发现不能接受到外部日志 只能接受本地日志 关闭防火墙即可
    php访问其他网站接口
    mysql 表查询结果 总行数计算
    linux centos 恢复 还原 备份 Snapper 快照说明
    linux 服务 启动 关闭 列表
    linux yum 安装 卸载
    php7 mysql_pconnect() 缺失 解决方法
    搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
  • 原文地址:https://www.cnblogs.com/suanguade/p/8655229.html
Copyright © 2011-2022 走看看