TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

x86 Disassembly

102 点作者 infinity大约 10 年前

5 条评论

awhitworth大约 10 年前
It&#x27;s funny to see this link come up on HN, because I wrote this book (or much of it) years ago as a college student. I was taking some courses on microprocessor architectures and assembly code, and was in the middle of reading Reversing by Eldad Eilam (which had just come out at the time). I had a mantra back then that the best way to learn a subject was to try and teach it, so I wrote this and several other wikibooks as sort of a study aide for my classes. This also explains why the material appears to cover barely a semester&#x27;s worth of material and why my name (&quot;Whiteknight&quot;) doesn&#x27;t appear in the edit history after graduation in 2008.<p>Despite the relatively thin and incomplete coverage of the material, I&#x27;ve heard from several people over the years who appreciated the work as a nice introduction to the topic and even once received a job offer because of it (which didn&#x27;t work out, for a variety of reasons). All things considered, if I had to change anything it would be the title to make it a little more focused. It&#x27;s not really a book about disassembly so much as it is an introduction to what high-level language features look like when translated into non-optimized x86 assembly code. Find me a short, catchy title that accurately describes that, and you win some kind of prize.<p>I doubt I&#x27;ll ever get back to this book either. I haven&#x27;t worked with this material at all since school, and don&#x27;t feel like I have up-to-date knowledge of the subject. Unless somebody else wants to jump in and fill it out, it will probably stay the way you see it now.<p>I&#x27;m glad to see that this book is still around and I&#x27;m glad that people are benefiting from it in some small way. I know it doesn&#x27;t cover nearly what would be needed for a real book on the subject (I do still recommend Eilam&#x27;s Reversing for book-o-philes) but I think it should be a decent stepping stone to pique interest and get people moving on towards more in-depth treatments.
tptacek大约 10 年前
Write a disassembler at least once. It&#x27;s much easier than you think it is (even with X86) --- it&#x27;s essentially a file format parser --- and very illuminating.
评论 #9322723 未加载
评论 #9321997 未加载
评论 #9322027 未加载
评论 #9322255 未加载
xvilka大约 10 年前
This book is missing very actively developed reverse engineering framework radare2 [1], which is supporting not only x86&#x2F;x86_64 but also arm, mips, ppc, avr, arc, 8051, TI tms320c55x family and even more!<p>[1] <a href="http:&#x2F;&#x2F;rada.re&#x2F;" rel="nofollow">http:&#x2F;&#x2F;rada.re&#x2F;</a>
评论 #9322645 未加载
indutny大约 10 年前
And here is a JS x86 disassembler: <a href="https:&#x2F;&#x2F;github.com&#x2F;indutny&#x2F;disasm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;indutny&#x2F;disasm</a> . It is incomplete, but shows how the basics works.
calibraxis大约 10 年前
Why does `push eax` perform &quot;much faster&quot; than the following?<p><pre><code> sub esp, 4 mov DWORD PTR SS:[esp], eax </code></pre> A brief skim of Intel&#x27;s &quot;Software Developer’s Manual&quot; (particularly ch. 6 on stacks), didn&#x27;t seem to find an answer.<p>While hitting the ALU just for `sub` might be an extra step, doesn&#x27;t hitting RAM make that a drop in the bucket? (`sub` may account for less than 1%?) Or is there some caching going on, so RAM may be updated in the background?<p>(I&#x27;m not an assembly programmer; very ignorant of what&#x27;s happening.)
评论 #9322696 未加载
评论 #9322642 未加载
评论 #9322317 未加载
评论 #9323591 未加载