wnagzihxa1n

wnagzihxa1n

iOS/Android Security

© 2021

浏览器安全周报 2019.04.08 - 2019.04.12

PJ0写的Chrome沙箱逃逸分析文章

  • https://googleprojectzero.blogspot.com/2019/04/virtually-unlimited-memory-escaping.html

微软放出了基于Chromium的EDGE版本,emmmmmmmm,挖Chakra的大佬们是不是要换一个引擎搞了?

  • https://www.microsoftedgeinsider.com/en-us/download

这周看的比较杂,跟着b站上面的JS视频学着,一百多节课,现在还在基础区,一点五倍速,之前没有系统的学习过JS,所以现在仔细的跟着这种培训视频完整的学习一下,底子还是要扎实

编译原理也是在b站上面学的,还在学,两倍速,那个老师实在是讲的太慢了

(怎么感觉我上b站都是在学习,我的吉他指弹,做菜,切水果这些也是)

跟着V8官方博客学习了CodeStubAssembler的语法

  • https://v8.dev/docs/csa-builtins

这篇文章里的代码在我这里其实是跑不起来的,可能是版本问题吧,我改了好几处,但是还是有一个地方有问题,我后来改了一下逻辑,跑起来了

第一处:
SimpleInstallFunction(math, "is42", Builtins::kMathIs42, 1, true);
=>
SimpleInstallFunction(isolate_, math, "is42", Builtins::kMathIs42, 1, true);

第二处:
TFJ(MathIs42, 1, kX)
=>
TFJ(MathIs42, 1, kReceiver, kX)

第三处一直报错,我改成恒成立了:
var_result.Bind(SelectBooleanConstant(SmiEqual(number, SmiConstant(42))));
=>
var_result.Bind(SelectBooleanConstant(SmiEqual(SmiConstant(42), SmiConstant(42))));

仔细的读了读代码之后,对之前看的CSA代码突然有了不一样的理解,之前看的实在是太糊了

接下来再把之前的几个洞(比如Crbug-821137)CSA代码看看,之前看的一知半解的

再看了一遍R大关于学习JS引擎的回答,真厉害啊!

(听说R大是在玄武?)

这里放几个R大的回答:

RednaxelaFX写的文章/回答的导航帖

  • https://zhuanlan.zhihu.com/p/25042028

新手上路学习JavaScript引擎实现——路线图

  • https://zhuanlan.zhihu.com/p/20505562

各JavaScript引擎的简介,及相关资料/博客收集帖

  • https://hllvm-group.iteye.com/group/topic/37596

学习编程语言与编译优化的一个书单

  • https://zhuanlan.zhihu.com/p/20130808

R大的这几个链接里的内容真是常看常新,我实在是太垃圾了

(我是绝对不会说我最近还在b站上面学习C++的!)

还在看R大的一个回答,关于JIT算法

有哪些常用 JIT 算法?

  • https://www.zhihu.com/question/54748092/answer/141903877

最后再扯几句别的:

是不是觉得我今天放了很多学习的资料?

不是我之前不放啊,真的是我不知道该看什么,很多资料不敢看,因为东一块西一块的,看了也不知道有什么用,导致了学习进度缓慢

现在我想通了,不管是什么资料,强行先看下来,书读百遍其义自现,刚毕业两年我还有的是时间,走你!

现在的计划还是先把编译原理啃下来,同时JS和C++怎么也得学到进阶的部分,如R大说的,先跟着《自制编程语言》走一波,把这玩意的框架理解了,都有哪些部分,每部分的作用是什么,代码如何实现,都用到哪些算法,再去自己实现一个,读一些轻量级的引擎学习理解别人的实现思路

感谢R大!

(零基础,组里没浏览器大佬带,年底搞不出东西等于卷铺盖,差不多算是置之死地而后生,感觉现在学习的时候动力挺足的,希望能一直像现在这样打鸡血的状态!)