TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

revng translates (i386, x86-64, MIPS, ARM, AArch64, s390x) binaries to LLVM IR

124 pointsby davikrover 1 year ago

7 comments

vientover 1 year ago
Usually such things are called lifters. Wonder how this tool compares to other existing LLVM IR lifters, such as remill[0] and rellume[1].<p>0: <a href="https:&#x2F;&#x2F;github.com&#x2F;lifting-bits&#x2F;remill">https:&#x2F;&#x2F;github.com&#x2F;lifting-bits&#x2F;remill</a><p>1: <a href="https:&#x2F;&#x2F;github.com&#x2F;aengelke&#x2F;rellume">https:&#x2F;&#x2F;github.com&#x2F;aengelke&#x2F;rellume</a>
评论 #38978428 未加载
Someoneover 1 year ago
License is weird and unclear to me. <a href="https:&#x2F;&#x2F;github.com&#x2F;revng&#x2F;revng&#x2F;blob&#x2F;develop&#x2F;LICENSE.md">https:&#x2F;&#x2F;github.com&#x2F;revng&#x2F;revng&#x2F;blob&#x2F;develop&#x2F;LICENSE.md</a>:<p><i>“Licensing information<p>Copyright (c) 2015-2017 Alessandro Di Federico &lt;ale@clearmind.me&gt;<p>Copyright (c) 2017-2020 rev.ng Labs Srl &lt;info@rev.ng&gt;<p>The project as a whole is released under the terms of the GNU General Public License, version 2. A copy of this license can be found in LICENSE.gpl.<p>Each individual file, unless otherwise noted, is released under the terms of the MIT License. A copy of this license can be found in LICENSE.mit.”</i><p>Does that paragraph about GPLv2 constitute a version of “unless otherwise noted”?<p>If so, why mention the MIT license at all?<p>If not, doesn’t that mean it effectively is dual licensed? If everything is GPLv2, and I take a single file, that’s still GPLv2, and if if have set of MIT licensed files and group them, the result still is MIT licensed.<p>(Browsing the code, all source files seem to have a MIT header, so, presumably, they mean this to beMIT licensed)<p>Also, it’s not “GPLv2 or later”, but I think you can take the MIT licensed files and rerelease them as GPLv3, if you’d want to (or is the attribution requirement a showstopper there?)
评论 #38977080 未加载
评论 #38976453 未加载
评论 #38976238 未加载
评论 #38975767 未加载
评论 #38975825 未加载
apiover 1 year ago
Wonder if you could use this with binfmt and a cache to create a kind of super-Rosetta for Linux. Any Linux binary not for the host architecture will be translated, and translated binaries are cached somewhere by a hash of the original binary so the translation only has to happen once. All transparent to the user.
评论 #38976202 未加载
评论 #38978512 未加载
xvilkaover 1 year ago
Rizin[1] is also able to uplift native code to the new RzIL, which is based on the BAP Core Theory[2] and is essentially an extension of SMT theories of bitvectors, bitvector-indexed arrays of bitvectors and effects[3].<p>[1] <a href="https:&#x2F;&#x2F;rizin.re&#x2F;" rel="nofollow">https:&#x2F;&#x2F;rizin.re&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;binaryanalysisplatform.github.io&#x2F;bap&#x2F;api&#x2F;master&#x2F;bap-core-theory&#x2F;Bap_core_theory&#x2F;" rel="nofollow">https:&#x2F;&#x2F;binaryanalysisplatform.github.io&#x2F;bap&#x2F;api&#x2F;master&#x2F;bap-...</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;rizinorg&#x2F;rizin&#x2F;blob&#x2F;dev&#x2F;doc&#x2F;rzil.md">https:&#x2F;&#x2F;github.com&#x2F;rizinorg&#x2F;rizin&#x2F;blob&#x2F;dev&#x2F;doc&#x2F;rzil.md</a>
评论 #38979019 未加载
评论 #38979935 未加载
quic_bcainover 1 year ago
Alessandro presented revng at the 2016 llvm Bay area dev conf.<p>video <a href="https:&#x2F;&#x2F;youtu.be&#x2F;5CbuU4KwBCE?si=eUN_UGr7cjat3P8U" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;5CbuU4KwBCE?si=eUN_UGr7cjat3P8U</a><p>slides <a href="https:&#x2F;&#x2F;www.llvm.org&#x2F;devmtg&#x2F;2016-11&#x2F;Slides&#x2F;DiFederico-rev.ng.pdf" rel="nofollow">https:&#x2F;&#x2F;www.llvm.org&#x2F;devmtg&#x2F;2016-11&#x2F;Slides&#x2F;DiFederico-rev.ng...</a>
CharlesWover 1 year ago
Could you, in turn, convert this to Wasm? (I&#x27;m wondering if it&#x27;s possible to convert a macOS command-line tool to run on x86-64.)
评论 #38975846 未加载
评论 #38978488 未加载
评论 #38976036 未加载
saagarjhaover 1 year ago
How’s performance of the translated version?
评论 #38979027 未加载