دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1
نویسندگان: Kim Hazelwood
سری: Synthesis Lectures on Computer Architecture
ISBN (شابک) : 1608454584, 9781608454587
ناشر: Morgan & Claypool Publishers
سال نشر: 2011
تعداد صفحات: 82
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 1 مگابایت
در صورت تبدیل فایل کتاب Dynamic Binary Modification: Tools, Techniques, and Applications به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب اصلاح باینری پویا: ابزارها، تکنیک ها و برنامه ها نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ابزارهای اصلاح باینری پویا یک لایه نرم افزاری را بین یک برنامه کاربردی در حال اجرا و سیستم عامل زیرین تشکیل می دهند و فرصت قدرتمندی را برای بازرسی و تغییر بالقوه هر دستورالعمل برنامه مهمان در سطح کاربر که اجرا می شود را فراهم می کند. ابزارهای ساخته شده بر اساس این فناوری، معماران کامپیوتر را قادر به ساخت شبیه سازها و شبیه سازهای قدرتمند برای کاوش در فضای طراحی، کامپایلرنویسان برای تجزیه و تحلیل و اشکال زدایی کدهای تولید شده توسط کامپایلرهای خود، توسعه دهندگان نرم افزار برای کشف کامل ویژگی ها، تنگناها و عملکرد نرم افزار خود کرده است. و حتی کاربران نهایی برای گسترش عملکرد نرم افزار اختصاصی در حال اجرا بر روی رایانه های خود. امروزه چندین سیستم اصلاح دوتایی پویا به صورت رایگان در دسترس هستند که این قدرت را در اختیار کاربر نهایی قرار می دهند. در حالی که این سیستمها از لحاظ داخلی بسیار پیچیده هستند، آنها این پیچیدگی را با یک API آسان برای یادگیری پنهان میکنند که به کاربر معمولی اجازه میدهد تا نسبتاً سریع افزایش یابد و هر یک از تعدادی ابزار قدرتمند را بسازد. در همین حال، این ابزارها به اندازه کافی قوی هستند تا پایه و اساس محصولات نرم افزاری مورد استفاده امروزی را تشکیل دهند. این کتاب به عنوان یک آغازگر برای محققان علاقه مند به سیستم های اصلاح باینری پویا، ساختار طراحی داخلی آنها و طیف وسیعی از ابزارهایی است که می توان با استفاده از این سیستم ها ساخت. نمونههای عملی ارائهشده در سرتاسر، پایهای محکم برای طراحی و ساخت ابزارهای پیچیدهتر، با قدردانی از تکنیکهای لازم برای قوی و کارآمد ساختن آن ابزارها، تشکیل میدهند. در همین حال، خواننده از طراحی داخلی خود موتورها قدردانی خواهد کرد. فهرست مطالب: اصلاح باینری پویا: بررسی اجمالی / استفاده از یک اصلاح کننده باینری پویا / تجزیه و تحلیل برنامه و اشکال زدایی / اصلاح برنامه فعال / کاوش معماری / سیستم های داخلی پیشرفته / دیدگاه های تاریخی / خلاصه و مشاهدات
Dynamic binary modification tools form a software layer between a running application and the underlying operating system, providing the powerful opportunity to inspect and potentially modify every user-level guest application instruction that executes. Toolkits built upon this technology have enabled computer architects to build powerful simulators and emulators for design-space exploration, compiler writers to analyze and debug the code generated by their compilers, software developers to fully explore the features, bottlenecks, and performance of their software, and even end-users to extend the functionality of proprietary software running on their computers. Several dynamic binary modification systems are freely available today that place this power into the hands of the end user. While these systems are quite complex internally, they mask that complexity with an easy-to-learn API that allows a typical user to ramp up fairly quickly and build any of a number of powerful tools. Meanwhile, these tools are robust enough to form the foundation for software products in use today. This book serves as a primer for researchers interested in dynamic binary modification systems, their internal design structure, and the wide range of tools that can be built leveraging these systems. The hands-on examples presented throughout form a solid foundation for designing and constructing more complex tools, with an appreciation for the techniques necessary to make those tools robust and efficient. Meanwhile, the reader will get an appreciation for the internal design of the engines themselves. Table of Contents: Dynamic Binary Modification: Overview / Using a Dynamic Binary Modifier / Program Analysis and Debugging / Active Program Modification / Architectural Exploration / Advanced System Internals / Historical Perspectives / Summary and Observations
Acknowledgments......Page 13
Dynamic Binary Modification: Overview......Page 15
Utility......Page 16
Functionality......Page 17
System Performance......Page 18
High-Level Summary......Page 19
JIT-Mode Execution......Page 21
Launching the System......Page 22
Complete Process Control......Page 23
Programmable Instrumentation......Page 24
Platform-Specific Behaviors......Page 27
End-User Optimizations......Page 28
Debugging Your Plug-In Tool......Page 29
Program Analysis Examples......Page 31
Parallel Program Analysis......Page 36
Deterministic Replay......Page 37
Customizable Debugging......Page 38
Fine-Grained Instruction Modification......Page 39
Function Replacement......Page 40
Dynamic Optimization......Page 41
Sandboxing and Security Enforcement......Page 43
Simulation......Page 45
Trace Generation......Page 46
Functional Cache Simulation......Page 47
Timing Simulation......Page 48
Emulation......Page 49
Masking Hardware Flaws......Page 50
Binary Translation......Page 51
Design-Space Exploration......Page 52
Modification in Place......Page 53
A Shared Address Space......Page 54
Acquiring Control......Page 55
Storing Modified Code: The Code Cache......Page 56
Forming Traces of Modified Code......Page 57
Code Cache Eviction and Replacement......Page 59
Code Cache Introspection......Page 60
Handling Self-Modifying Code......Page 61
The Emulator......Page 62
Thread-Shared Code Caches......Page 63
Generational Cache Replacement......Page 64
Windows Execution Support......Page 65
Masking Overhead with Parallelism......Page 66
Remaining Challenges......Page 67
Historical Perspectives......Page 69
Summary and Observations......Page 71
Bibliography......Page 73
Author\'s Biography......Page 81