duangsuse::Echo
729 subscribers
4.31K photos
131 videos
583 files
6.58K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from [DEPRECATED]四月是你未闻的名字。 (Deleted Account)
Forwarded from [DEPRECATED]四月是你未闻的名字。 (Deleted Account)
Forwarded from dnaugsuz
刚才试试x64dbg是无法直接调试elf的🙈不过suse会继续测试支持android的cheatengine,edb。虽然ida支持这种情况;但闭源丧气🌚
Forwarded from Deleted Account
[hcl.pc] 看了一下最近 Linus 喷搞安全的那几封邮件,Linus 对于 Hardening 的东西进内核还是抱有一定的抵触态度
Forwarded from Deleted Account
[Nadebula] 那当然,加固之后就不容易安插私货了……(逃
Forwarded from Deleted Account
[niconiconi] hcl.pc: 一直就抱有抵触态度
Forwarded from Deleted Account
[niconiconi] hcl.pc: 因为 Linus 在原则上从来都拒绝给系统安全提供优先权
Forwarded from Deleted Account
[niconiconi] hcl.pc: 而且原则上要求所有的安全措施都不得在任何程度上影响开发
Forwarded from Deleted Account
[hcl.pc] 他给的理由反正就是这些东西很难调试(Debug)
Forwarded from Deleted Account
[niconiconi] 0day 一出天地灭,赶紧下线保平安
Forwarded from Deleted Account
[niconiconi] 内核做,黑客看,Linus Torvalds 留隐患!
Forwarded from Deleted Account
[hcl.pc] 我没有接触过内核开发,但是我想知道这些 hardening 的东西是否真的很难调试(debug)
Forwarded from Deleted Account
[niconiconi] hcl.pc: 非常困难
Forwarded from Deleted Account
[niconiconi] hcl.pc: 基本上问题都是随机出现
#project 一个还没有推广的项目计划暂时停坑了…
本来设计已经比较明确了,
部分优化,OpCodes,编译器,面向对象,语法糖

设计实现什么的 已经计划好了…

之前一个比较难解决的Lambda in MinVM问题也成功以相对较低的性能损耗设计好了(
当然如果好奇怎么设计的欢迎来问

在做成前不想搞大新闻然后被大佬批判一番…

而且这个也有点“不务正业”的感觉(因为之前的计划并没有完成

主要是因为 不能熬夜 而且学校花掉很多时间 无法供应相应文档编写和实现什么的…

方便大家理解这个项目 我就列一点微小的工作,还有很多漏洞等待弥补:

//Min
def func()
puts
end
func //Function call
//MinVM Assembly
.goto指令会在执行时自动被翻译为jump
goto func_end
:tag func
scope
puts
scope_end
:tag func_end
goto func

//lambda
10.times do i
puts i.toString
end
//MinVM Assembly
.call-x 意味着调用寄存器内对象的方法
.寄存器里存 vector 是参数传递的一种方法(
lambda:
vec-pop
.这个命名冲突还尚待解决…
move __arg0
get __arg0
call-x toString
move-result
puts
move __lambda
new-int 10
goto int_t_init
move __int_t_init_result
vec-new
vec-push __int_t_init_result
vec-push __lambda
goto int_ttimes
duangsuse::Echo
//省略部分 class int def _init(val) @value=val end def times(c) i=@value while i > 0 do invoke c i-- end end end
虽然我不是编译器( 但是我猜一下编译后的:

map-new int_t

.ctor
lambda:
scope int:_init
vec-pop
move __arg0
get int_t
map-add value __arg0
scope_end
move __int:_init
get int_t
map-add int:_init __int:_init
.method times(func)
lambda:
scope
vec-pop
move __self
vec-pop
move __arg0
get __self

:tag while_i_>_0
lambda:
begin __arg0
get __self
map-index value
calc-sub
move __result
get __self
map-move value __result
move __lambda
get __self
map-index value
op-gtz?
if __lambda
:tag while_i_>_0_end
scope_end
map-add int:times __int:times

🙈后面头都晕了
可怜没有更多时间给我去写MinVM了,也没有时间设计编译器了