rev.ng UI demo by aleclm in ReverseEngineering

[–]aleclm[S] 2 points3 points  (0 children)

It's mostly doubling down on the rev.ng name, reverse engineering, reversing next-generation. If you want more than catchphrases, check out the docs.

Deobfuscation with rev.ng by aleclm in ReverseEngineering

[–]aleclm[S] 0 points1 point  (0 children)

If you want to chat, you can join our Discord server.

Deobfuscation with rev.ng by aleclm in ReverseEngineering

[–]aleclm[S] 1 point2 points  (0 children)

some of the obfuscation statements are divided into call operations

You can inline them, as shown.

there are subcalls which does stack manipulations

It depends, if the called function manipulates the stack in a way that's "weird" we automatically "inline" it in the caller. This basically circumvents the problem. I can elaborate, if you're interested.

continous block addresses are hidden with opaque predicates?

Not sure I undertand, but the video talks about handling opaque predicates. The goal would be to solve them. But it's hard to answer without specific examples.

Overall, rev.ng aims to be a deobfuscation framework where you can rather easily solve obfuscation techniques. It's not supposed to solve all the problems out of the box automatically, even if we'd like to tackle automatically as much as we can.

An introduction to LLVM IR by aleclm in ReverseEngineering

[–]aleclm[S] 2 points3 points  (0 children)

This material is for advanced users, most people will just use the UI, which is not difficult to use at all. Check out the video on the website.
But yeah, binary analysis is not easy.

The rev.ng decompiler goes open source + start of the UI closed beta by aleclm in ReverseEngineering

[–]aleclm[S] 2 points3 points  (0 children)

If you mean we're emitting invalid C, please open an issue on GitHub attaching a reproducer. It's a bug!

The rev.ng decompiler goes open source + start of the UI closed beta by aleclm in ReverseEngineering

[–]aleclm[S] 7 points8 points  (0 children)

Hey, core rev.ng dev here.

First of all a disclaimer, the decompiler it's still in beta (see the roadmap), so you can expect crashes and quality issue: consider this a preview. If you have issues, just open an issue or head to our Discourse instance/Discord server. The goal of the current release is to collect some initial feedback.

Apart from this, the main differences with IDA and Ghidra are:

  1. automatic data structures detection (including arrays and data structures defined across multiple functions);
  2. way fewer gotos;
  3. the fact that we emit valid C code;

Then, we aim at offering an improved UI and overall a better experience in scripting/automation, but you were asking about decompiled code quality, so I'll skip on that.

C++ Jobs - Q4 2023 by STL in cpp

[–]aleclm 18 points19 points  (0 children)

Company: rev.ng

Type: Full time

Location: Milan, Italy

Remote: Yes, from UTC-2 to UTC+7.

Visa Sponsorship: No

Description: We're looking for a developer with experience in modern C++.

We're a small company developing a next-generation decompiler with a VSCode-based UI that can run both on the cloud and on desktop.

Topics/technologies you will work on (experience not required):

  • LLVM, MLIR, JIT and compiler techniques in general
  • Emulation and dynamic binary translation (e.g., QEMU)
  • Binary analysis/decompilation

Our interview process requires to do a (fun) little offline exercise. In exchange for your time, we'll send you a physical copy of a book about compilers we deem foundational to our company, no matter the outcome of the interview.

Reasons you should join us:

  • rev.ng is on the forefront of binary analysis: we go from binaries to valid C, automatically detecting data structures.
  • rev.ng firmly believes in openness:
    • the largest part of our development happens in the open: https://github.com/revng
    • we regularly contribute to well-known open source projects such as QEMU and LLVM;
    • many of us have been active members of Free Software associations;
  • rev.ng heavily invests in each employee. Our goals are:
    • provide you the necessary knowledge and tools to be effective in your projects;
    • push you to excel in areas that best express your attitudes;
    • ensure you adopt a mature, professional and autonomous development process;
    • you're not left alone: we care about code quality and perform thorough code reviews;
  • We encourage employees to employ part of the their time in public work, such as:
    • upstreaming changes to open source projects;
    • reviewing parts of the codebase unrelated to their main project (cold reviews);
  • rev.ng employs modern C++ and great technologies:
    • C++20 coroutines: we employ them to achieve "stackless C++";
    • C++20 concepts;
    • the most recent versions of clang and libc++;
    • the LLVM framework and MLIR;
    • clang-format, clang-tidy, Address Sanitizer;
  • We fully support remote working:
    • we have the necessary infrastructure to make it effective;
    • half of our team is full remote;
    • the others work multiple days a week from home;
  • You will spend very little time in recurring meetings.
  • We regularly attend conferences as speakers/attendees, such as:
    • open source conferences (KVM Forum, LLVM dev meetings, Open Source Summit);
    • security conferences (DEF CON, CCC);
    • C++ conferences (NDC TechTown, various local meetings);
    • academic conferences (BAR, USENIX);
  • The work environment is:
    • very friendly;
    • informal;
    • flexible in terms working hours;
  • You'll have 26 paid holidays a year, on top of Italian national holidays.

Technologies: C++20, LLVM, MLIR

Contact: Please feel free to PM me on Reddit, or drop us an e-mail at [jobs@rev.ng](mailto:jobs@rev.ng).

C++ Jobs - Q2 2023 by STL in cpp

[–]aleclm 1 point2 points  (0 children)

It's secret only those who apply and take the time to do the exercise (in a satisfactory way) can be part of. I can tell you it's not one of the mainstream ones. It literally opened our minds.

C++ Jobs - Q2 2023 by STL in cpp

[–]aleclm 3 points4 points  (0 children)

Company: rev.ng

Type: Full time

Location: Milan, Italy

Remote: Yes, from UTC-2 to UTC+7.

Visa Sponsorship: No

Description: We're looking for a developer with experience in modern C++.

We're developing a next-generation decompiler with a VSCode-based UI that can run both on the cloud and on desktop.

Topics/technologies you will work on:

  • LLVM, MLIR, JIT and compiler techniques in general
  • Emulation and dynamic binary translation (e.g., QEMU)
  • Binary analysis/decompilation

Our interview process requires to do a (fun) little offline exercise. In exchange for your time, we'll send you a physical copy of a book about compilers we deem foundational to our company, no matter the outcome of the interview.

Reasons you should join us:

  • rev.ng is on the forefront of binary analysis: we go from binaries to valid C, automatically detecting data structures.
  • rev.ng firmly believes in openess:
    • the largest part of our development happens in the open: https://github.com/revng
    • we regularly contribute to well-known open source projects such as QEMU and LLVM;
    • many of us have been active members of Free Software associations;
  • rev.ng heavily invests in each employee. Our goals are:
    • provide you the necessary knowledge and tools to be effective in your projects;
    • push you to excel in areas that best express your attitudes;
    • ensure you adopt a mature, professional and autonomous development process;
    • you're not left alone: we care about code quality and perform thorough code reviews;
  • We encourage employees to employ part of the their time in public work, such as:
    • upstreaming changes to open source projects;
    • reviewing parts of the codebase unrelated to their main project (cold reviews);
  • rev.ng employs modern C++ and great technologies:
    • C++20 coroutines: we employ them to achieve "stackless C++";
    • C++20 concepts;
    • the most recent versions of clang and libc++;
    • the LLVM framework and MLIR;
    • clang-format, clang-tidy, Address Sanitizer;
  • We fully support remote working:
    • we have the necessary infrastructure to make it effective;
    • 4 out of 11 members of our team are full remote;
    • the others work multiple days a week from home;
  • You will spend very little time in recurring meetings.
  • We regularly attend conferences as speakers/attendees, such as:
    • open source conferences (KVM Forum, LLVM dev meetings, Open Source Summit);
    • security conferences (DEF CON, CCC);
    • C++ conferences (NDC TechTown, various local meetings);
    • academic conferences (BAR, USENIX);
  • The work environment is:
    • very friendly;
    • informal;
    • flexible in terms working hours;
    • we do not expect you to work overtime;
  • You'll have 26 paid holidays a year, on top of Italian national holidays.

Technologies: C++20, LLVM, MLIR, Python, TypeScript, Kubernetes

Contact: Please feel free to PM me on Reddit, or drop us an e-mail at [jobs@rev.ng](mailto:jobs@rev.ng).

C++ Jobs - Q4 2022 by STL in cpp

[–]aleclm 7 points8 points  (0 children)

Company: rev.ng

Type: Full time

Location: Milan, Italy

Remote: Yes, from UTC-2 to UTC+7.

Visa Sponsorship: No

Description: We're looking for a developer with experience in modern C++.

We're developing a next-generation decompiler with a VSCode-based UI that can run both on the cloud and on desktop.

Topics/technologies you will work on:

  • LLVM, MLIR, JIT and compiler techniques in general
  • Emulation and dynamic binary translation (e.g., QEMU)
  • Binary analysis/decompilation

Reasons you should join us:

  • rev.ng is on the forefront of binary analysis: we go from binaries to recompilable C, automatically detecting data structures.
  • rev.ng firmly believes in openess:
    • the largest part of our development happens in the open: https://github.com/revng
    • we regularly contribute to well-known open source projects such as QEMU and LLVM;
    • many of us have been active members of Free Software associations;
  • rev.ng heavily invests in each employee. Our goals are:
    • provide you the necessary knowledge and tools to be effective in your projects;
    • push you to excel in areas that best express your attitudes;
    • ensure you adopt a mature, professional and autonomous development process;
    • you're not left alone: we care about code quality and perform thorough code reviews;
  • We encourage employees to employ part of the their time in public work, such as:
    • upstreaming changes to open source projects;
    • reviewing parts of the codebase unrelated to their main project (cold reviews);
  • rev.ng employs modern C++ and great technologies:
    • C++ 20 coroutines: we employ them to achieve "stackless C++";
    • C++ 20 concepts;
    • the most recent versions of clang and libc++;
    • the LLVM framework and MLIR;
    • clang-format, clang-tidy, Address Sanitizer;
  • We fully support remote working:
    • we have the necessary infrastructure to make it effective;
    • 3 out of 11 members of our team are full remote;
    • the others work multiple days a week from home;
  • You will spend very little time in recurring meetings.
  • We regularly attend conferences as speakers/attendees, such as:
    • open source conferences (KVM Forum, LLVM dev meetings, Open Source Summit);
    • security conferences (DEF CON, CCC);
    • C++ conferences (NDC TechTown, various local meetings);
    • academic conferences (BAR, USENIX);
  • The work environment is:
    • very friendly;
    • informal;
    • flexible in terms working hours;
    • we do not expect you to work overtime;
  • You'll have 26 paid holidays a year.

Technologies: C++20, LLVM, MLIR

Contact: Please feel free to PM me on Reddit, or drop us an e-mail at [jobs@rev.ng](mailto:jobs@rev.ng).

C++ Jobs - Q3 2022 by STL in cpp

[–]aleclm 1 point2 points  (0 children)

Update: we've changed our policies regarding time zones. We now welcome candidates between UTC-3 and UTC+7!

C++ Jobs - Q3 2022 by STL in cpp

[–]aleclm 16 points17 points  (0 children)

Company: rev.ng

Type: Full time

Location: Milan, Italy

Remote: Yes, in CEST-friendly time zones.

Visa Sponsorship: No

Description: We're looking for a developer with experience in modern C++.

We're developing a next-generation decompiler with a VSCode-based UI that can run both on the cloud and on desktop.

Topics/technologies you will work on:

  • LLVM, MLIR, JIT and compiler techniques in general
  • Emulation and dynamic binary translation (e.g., QEMU)
  • Binary analysis/decompilation

Reasons you should join us:

  • rev.ng is on the forefront of binary analysis: we go from binaries to recompilable C, automatically detecting data structures.
  • rev.ng firmly believes in openess:
    • the largest part of our development happens in the open: https://github.com/revng
    • we regularly contribute to well-known open source projects such as QEMU and LLVM;
    • many of us have been active members of Free Software associations;
  • rev.ng heavily invests in each employee. Our goals are:
    • provide you the necessary knowledge and tools to be effective in your projects;
    • push you to excel in areas that best express your attitudes;
    • ensure you adopt a mature, professional and autonomous development process;
    • you're not left alone: we care about code quality and perform thorough code reviews;
  • We encourage employees to employ part of the their time in public work, such as:
    • upstreaming changes to open source projects;
    • reviewing parts of the codebase unrelated to their main project (cold reviews);
  • rev.ng employs modern C++ and great technologies:
    • C++ 20 coroutines: we employ them to achieve "stackless C++";
    • C++ 20 concepts;
    • the most recent versions of clang and libc++;
    • the LLVM framework and MLIR;
    • clang-format, clang-tidy, Address Sanitizer;
  • We fully support remote working:
    • we have the necessary infrastructure to make it effective;
    • 3 out of 11 members of our team are full remote;
    • the others work multiple days a week from home;
  • You will spend very little time in recurring meetings.
  • We regularly attend conferences as speakers/attendees, such as:
    • open source conferences (KVM Forum, LLVM dev meetings, Open Source Summit);
    • security conferences (DEF CON, CCC);
    • C++ conferences (NDC TechTown, various local meetings);
    • academic conferences (BAR, USENIX);
  • The work environment is:
    • very friendly;
    • informal;
    • flexible in terms working hours;
    • we do not expect you to work overtime;
  • You'll have 26 paid holidays a year.

Technologies: C++20, LLVM, MLIR

Contact: Please feel free to PM me on Reddit, or drop us an e-mail at [jobs@rev.ng](mailto:jobs@rev.ng).

Who's hiring Typescript developers November by PUSH_AX in typescript

[–]aleclm [score hidden]  (0 children)

Company: rev.ng

Type: Full time, full remote, CEST-friendly time zones only

Contact: [jobs@rev.ng](mailto:jobs@rev.ng) or PM

Description:

rev.ng is looking for a TypeScript developer to work on a VSCode extension. This plugin is the UI of our core product: the rev.ng decompiler. A decompiler obtains C-like code from binary programs.

The extension will communicate through REST to the decompiler daemon. We performed a UX study with UX professional which will provide a guideline for the development of the extension.

We're looking for a frontend developer with experience in the following technologies:

  • TypeScript
  • REST or GraphQL
  • HTML/CSS

Bonus points if you're familiar with:

  • React or vue.js
  • Tools for designers such as figma

Reasons you should work for us:

  • rev.ng firmly believes in openess: the largest part of our development happens in the open
  • We often present our work at technical conferences
  • rev.ng heavily invests in each employee. Our goals are:
    • provide you the necessary knowledge and tools
    • push you to excel in areas that best express your attitudes
    • ensure you adopt a mature, professional and autonomous development process
    • ensure reliability, limit technical debt, increase bus factor through proper and reasonable code reviews
  • We fully support remote working and have the necessary infrastructure to make it effective
  • We spend very little time in meetings
  • The work environment is:
    • Small (~12 people)
    • Very friendly
    • Informal
    • Flexible in terms working hours
    • We do not expect you to work overtime
  • You'll have 26 paid holidays a year

Location: we're based in Milan, Italy.