Neo

1.4K posts

Neo

Neo

@neocanable

半个程序员

Beijing Katılım Nisan 2009
103 Takip Edilen80 Takipçiler
Neo
Neo@neocanable·
tweet from South Korea
English
0
0
0
23
Neo
Neo@neocanable·
my static analysis engine can finally identify basic jumptable/vtable/plt. For a 10MB ELF binary, after two rounds of convergence, it is now capable of fully generating the corresponding Control Flow Graph (CFG) and Data Flow Graph (DFG).#ReverseEngineering #BinaryAnalysis
Neo tweet mediaNeo tweet mediaNeo tweet media
English
0
0
1
34
Neo
Neo@neocanable·
The ARM native static analysis tool I’ve been developing can finally identify jump tables—and while it currently only supports the `rel32` and `compact` types, I’m already quite satisfied. #ReverseEngineering #BinaryAnalysis
English
0
0
1
27
Neo
Neo@neocanable·
I also need an evaluation implementation and pattern matching to identify switch and vtable.
English
0
0
0
26
Neo
Neo@neocanable·
After three months of development, my static analysis engine has finally implemented a variant of minimal SSA in a different form. Now, the results of my br tracking are as follows: (X17 = call:ldr([((X16 = call:adrp(0x6c8088)) + 0x7d8)])) #ReverseEngineering #BinaryAnalysis
English
1
0
0
32
Neo
Neo@neocanable·
花了接近1个月的时间终于搞定了基于armv9的a64全部指令集,3000+条指令,capstone的单元测试全pass。 流程 = ruby dsl -> c const data -> c dissembler -> output 这个过程的总结:大多数时候还是造轮子有成就感
中文
0
0
0
32
Neo
Neo@neocanable·
在处理dsl的时候,开始我还是让AI帮忙生成了不少的,我写基于llvm数据的单元测试,AI帮我写dsl,然后我review AI生成的数据,我的老天爷,写完几个chapter后我再不敢用了,需要调节的bit位太多,我一条一条的单元测试全红让人崩溃!然后就又回到了古法编程。
中文
1
0
0
34
Neo
Neo@neocanable·
为了让garlic decompiler在反编译android上更完善,我开了一个新坑,将native部分也支持反编译,随着持续的深入,才发现这是一个深不见底的大坑,arm A系列芯片全量的情况下,大概是5500+条指令
中文
1
0
0
51
Neo
Neo@neocanable·
然后下面就是:我草你大爷,我哪有时间写单元测试!!!!
中文
0
0
0
23
Neo
Neo@neocanable·
在碎片化比较复杂的软件里,单元测试就是降低输入错误的唯一选择
中文
1
0
0
24
Neo
Neo@neocanable·
@SebAaltonen I’m working on an static analysis engine, sve{2} are hell for me
English
0
0
0
10
Sebastian Aaltonen
Sebastian Aaltonen@SebAaltonen·
I really like the ARM SVE(2) instruction set. Programmer writes SIMD width agnostic code. Single binary works regardless of HW SIMD width (128 to 2048 bits). All instructions have exec masks. Helpers for generating SIMD width agnostic exec masks for loops.
Sebastian Aaltonen tweet media
English
7
24
180
0
Neo
Neo@neocanable·
tweet from Osaka
Svenska
0
0
0
47
Neo
Neo@neocanable·
写了1年多的反编译软件,最多的感受就是其实这些东西是应该在学校里面学的,大学里面有编译原理,有算法,有图论等等,我在大学学这些课的过程中我觉得我周围的有99%的人不知道在学什么,有1%的人能记得里面的几个名词而已,查资料的时候几乎靠谱的都是国外的论文
中文
0
0
0
67
Neo
Neo@neocanable·
我的android的反编译软件还剩一个控制流还原exception的部分,就可以做代码生成了,dalvik的bytecode比起jvm更像汇编,goto goto再goto
Neo tweet media
中文
1
0
0
84
Neo
Neo@neocanable·
去年家里的事情安稳下来后,我开始尝试用c语言写一个java的decompiler,从了解class文件的结构开始,到一步一步把class文件/jar文件转换成有可读性的源码
中文
1
0
0
122