Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
aleclm
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
aleclm
3y ago
> every memory access can cause a synchronous signal (SIGSEGV/SIGBUS) AFAIU you have all the same problems as soon as you translate more than one instruction at a time and allow merging them, which QEMU does, even if just at basic b
32.
▲
by
aleclm
3y ago
> Running O2 optimizations sounds great in theory, but is often not too helpful in practice I cannot stress how important it is to have at your disposal an alias analysis framework and analyses such as LazyValueInfo and ScalarEvolution.
33.
▲
by
aleclm
3y ago
1) Our goal is emitting goto rarely, not excluding them entirely. However, most of the gotos one sees in IDA are due limitations in control-flow recovery, example: switch (x) { case 0: do_0(); // Missing case 1
34.
▲
by
aleclm
3y ago
> the binary code to LLVM IR uplifting loses a lot of context Losing context is good in order to ensure you properly decoupled the frontend from the rest of the pipeline. We don't even keep track of what a "call" instructi
35.
▲
by
aleclm
3y ago
Here you can find some data: https://rev.ng/downloads/bar-2019-slides.pdf
36.
▲
by
aleclm
3y ago
Cool projects, but let me make two observations: 1. Writing a binary analysis tool is an enormous task. Before getting to the useful and new part, you need a lot of infrastructure (e.g., a scalable intermediate representation). Rolling your
37.
▲
by
aleclm
3y ago
> Do you have examples of your decompilation, and how it compares to state of the art that uses other approaches? We don't have any exhaustive comparison, and for sure IDA are better than what we currently produce in many aspects (w
38.
▲
by
aleclm
3y ago
We were aiming at a static binary, but dynamic would be feasible too, with some love. For the wasm runtime, we planned to use this: https://browsix.org/
39.
▲
by
aleclm
3y ago
You can already do that with QEMU: https://wiki.debian.org/QemuUserEmulation However, the code we emit is faster than the one emitted by QEMU. We have a secret plan to use LLVM in QEMU as a tier 2 JIT engine to optimize hot
40.
▲
by
aleclm
3y ago
We wanted to have a demo on our website where you could upload your binary and run it in the browser recompiling to WASM. Feasible, but not a negligible amount of work. About macOS: we can lift any binary for any platform, but we can rec
41.
▲
by
aleclm
3y ago
Exactly. We wanted MIT, but we were infected by the GPLv2 due to the QEMU dependency. So we licensed each file under MIT, but GPLv2 as a whole. QEMU does something similar: https://github.com/qemu/qemu/blob&#x
42.
▲
by
aleclm
3y ago
Hey, rev.ng core dev here. I guess the core difference is that we do not implement the instructions semantics ourselves, but we reuse QEMU. QEMU, when in emulation mode (i.e., not KVM), goes from executable code to an intermediate represent
43.
▲
Cannot install git-lfs: packagecloud.io/github unavailable
(packagecloud.io)
2 points
by
aleclm
4y ago
|
0 comments
44.
▲
by
aleclm
4y ago
rev.ng | Compiler Engineer | Milan HQ or remote UTC-2 to UTC+7 time zones | Full-time | https://rev.ng We're looking for a developer with experience in modern C++. We're developing a next-generation decompiler featurin
45.
▲
Rev.ng decompiler automatically detects linked lists
(twitter.com)
1 points
by
aleclm
4y ago
|
0 comments
46.
▲
by
aleclm
4y ago
> certainly the best static analysis textbook out there During my PhD I really felt stupid reading Muchnick and not getting data-flow analysis. Nielson & Nielson literally saved my PhD and enabled the creation of the company. I'
47.
▲
by
aleclm
4y ago
Compiler theory is a wide topic, here the focus is on static analysis, while the Dragon Book is more wide-spectrum. However, I can tell you that this book is so much better than the Muchnick (Advanced Compiler Design and Implementation). Th
48.
▲
by
aleclm
4y ago
For compiler theory, "Principles of Program Analysis" (by Nielson, Nielson, Hankin). It is so foundational to what we do at rev.ng, that we gift a physical copy of the book to every interviewee, even if they don't pass.
49.
▲
Ask HN: Should I go from CamelCase to snake_case for Python wrappers for C++?
1 points
by
aleclm
4y ago
|
1 comments
50.
▲
by
aleclm
4y ago
> Doesn't HTTP/2 make this mostly obsolete? One of its big features is request multiplexing. HTTP/2 helps with the network layer, but your backend will still handle requests one-by-one. Depending on what you need to do, th
51.
▲
by
aleclm
4y ago
This post is not very robust in its arguments: 1. vulnerability list is not very relevant as a measure if you don't relate to SLOC, features available or something ; 2. having a lot of configuration options for security is far from be
52.
▲
by
aleclm
4y ago
We recently had to design an HTTP API, and we wanted to have as much automatic stuff as possible. I mean: * Autogenerated documentation * Autogenerated wrappers for scripting languages * Autogenerated validator for requests and responses Fo
53.
▲
Show HN: Ncdu, but Uses Sloccount
(github.com)
2 points
by
aleclm
4y ago
|
0 comments
54.
▲
DLA: Automatic Decompilation of Data Structures
(twitter.com)
2 points
by
aleclm
5y ago
|
0 comments
55.
▲
by
aleclm
5y ago
That's exactly the use case.
56.
▲
by
aleclm
5y ago
Yeah, that's what I want to do next.
57.
▲
by
aleclm
5y ago
This is different. The key value of `split-patch` is that you can create as many patches (commits) as you want by doing a single pass over the (potentially large) patchset. If you're willing to do multiple passes over the patchset, you
58.
▲
Show HN: `Git add -p` with multiple buckets
(github.com)
94 points
by
aleclm
5y ago
|
51 comments
59.
▲
VS Code LLVM IR Language Support
(marketplace.visualstudio.com)
1 points
by
aleclm
5y ago
|
0 comments
60.
▲
by
aleclm
5y ago
Usually, to patch a program, a binary patch is enough. Decompiling and recompiling is hard (even that's what we do at rev.ng!) :)
More ›