Buradasınız

INTEL İŞLEMCİLERE YÖNELİK BİR UNASSEMBLER TASARIMI

AN UNASSEMBLER DESIGN FOR THE INTEL PROCESSORS

Journal Name:

Publication Year:

Abstract (2. Language): 
Software reverse engineering is a discipline of generating the system of abstracts and design information by analyzing the effects, functions, behaviors and documents of the software codes on hardware components. Assembler, unassembler, virtual simulators and debuggers can be listed as software reverse engineering tools. In this study, an unassembler application is developed for translating various-length machine codes, which belong to Intel microprocessor instruction set, into the symbolic form of the machine language. This application is designed both for 32-bit Intel microprocessor architectures while it can also be used for compilers. It is an open source software with the capabilities of translating table-based in-line codes and offering a certain hierarchy for the procedure. In addition, updating the software is also possible for future considerations. With its nature of working both as an assembler and an unassembler, this software brings a different perspective and depth to the existing table-based unassembler applications which are only used for certification and description.
Abstract (Original Language): 
Yazılım tersine mühendisliği; yazılım kodlarının donanım bileşenleri üzerindeki etkilerini, işlevlerini, davranış ve belgelerini analiz ederek sistem soyutlarını ve tasarım bilgilerini oluşturan bir tersine mühendislik disiplinidir. Çevirici (assembler), tersine çevirici (unassembler), sanal simülatörler ve hata ayıklayıcılar (debugger) birer yazılım tersine mühendislik araçlarıdır. Bu çalışmada, Intel mikroişlemci komut kümesine ait farklı uzunluklardaki makine kodlarını sembolik dile dönüştüren bir tersine çevirici uygulaması geliştirilmiştir. Bu uygulama, 32-bitlik Intel işlemci mimarisinde kullanılan, aynı zamanda derleyicilere yönelik, sembolik dilden makine kodlarına çevrimde, güncellenebilen ve belli bir hiyerarşi sunan açık kaynak kodlu, tablo tabanlı satır-içi kod çevrimi yapabilen bir yazılımdır. Hem assembler hem de unassembler olarak çalışan bu yazılım, sadece belgelendirme ve açıklama mahiyetindeki mevcut tablo tabanlı unassembler uygulamalarına farklı bir bakış açısı ve derinlik getirmiştir.
19
28

REFERENCES

References: 

1. Chikofsky, E.J. ve Cross J.H., “Reverse
Engineering and Design Recovery: A
Taxonomy”, IEEE Software, Cilt 7, No 1, 13-
17, 1990.
2. Younis, M.B, ve Tutunji T., “Reverse
Engineering Course at Philadelphia University in
Jordan”, European Journal of Engineering
Education, Cilt 37, No 1, 83-95, 2012.
3. Ali, M.R., “Why Teach Reverse Engineering”,
ACM SIGSOFT Software Engineering Notes,
Cilt 30, No 4, 1-4, 2005.
4. Arbone, C., Ditu, B., Craciun, S. ve Badea, D.,
“Model-Driven Inline Assembler Generator for
Retargetable Compilers”, Control Systems and
Computer Science (CSCS), 2013 19th
International Conference on Digital Object
Identifier, Bucharest, Romania, 71-76, 2013.
B. Dökme, N. Topaloğlu Intel İşlemcilere Yönelik Bir Unassembler Tasarımı
28 Gazi Üniv. Müh. Mim. Fak. Der. Cilt 30, No 1, 2015
5. Golden, G. R., “A Highly Immersive Approach to
Teaching Reverse Engineering”, Proceedings of
the 2nd Conference on Cyber Security
Experimentation and Test, Berkeley, CA, USA
1-1, 2009.
6. Paleari, R., Martignoni, L.M., Roglia, G.F. ve
Bruschi, D., “N-version Disassembly:
Differential Testing of x86 Unassemblers”,
Proceedings of the 19th International
symposium on Software testing and analysis
(ISSTA), Trento, Italy, 265-274, 2010.
7. Jamthagen, C., Lantz, P. ve Hell, M., “A New
Instruction Overlapping Technique for Antidisassembly
and Obfuscation of x86 Binaries”,
Proceedings of the 2013 IEEE Workshop on
Anti-malware Testing Research (WATER’13),
Montreal, Canada, 25-33, 2013.
8. Topaloğlu, N. ve Gürdal, O., “A Highly
Interactive PC Based Simulator Tool for
Teaching Microprocessor Architecture and
Assembly Language Programming”, Journal of
Elektronika ir Elektrotechnika, Cilt 98, No 2,
53-58, 2010.
9. Cifuentes, C., “An Environment for the Reverse
Engineering of Executable Programs”, 2nd Asia
Pasific Software Engineering Conference
(APSEC’95), Washington, DC, USA, 410-419,
1995.
10. İnternet: Intel Corporation, “IA-32 Intel®
Architecture Software Developer’s Manual”,
Intel Corporation, Denver, USA,
http://flint.cs.yale.edu/cs422/doc/24547112.pdf
2003.
11. İnternet: Intel Corporation, “Intel® 64 and IA-32
Architectures Software Developer’s Manual”,
Intel Corporation, Denver, USA,
http://www.intel.com/content/dam/www/public/u
s/en/documents/manuals/64-ia-32 architecturessoftware-
developer-manual-325462.pdf , Bölüm
3, 2013.
12. İnternet: The Netwide Assembler:
http://www.nasm.us/, 2013.
13. Ma, W., "Design and Testing of a CPU
Emulator", Texas A&M University, Microsoft
Research Technical Report, United States of
America, 1-12, 2009.
14. Hsieh, W., "Reverse-Engineering Instruction
Encodings", 2002 USENIX Annual Technical
Conference, Monterey, USA, 133-145, 2002.
15. Paleari, R., “N-version Disassembly: Differential
Testing of x86 Unassemblers” International
Symposium on Software Testing and Analysis
(ISSTA 2010), Trento, Italy, 1-10, 2010.
16. Fadıl, S., “Mikroişlemciler için Genelleştirilmiş
Assembly Derleyici” Elektrik-Elektronik-
Bilgisayar Mühendisliği 10. Ulusal Kongresi,
İstanbul, 523-526, 2003.
17. Payer, M., “Fast Binary Translation: Translation
Efficiency and Runtime Efficiency”, 2nd
Workshop on Architectural and
Microarchitectural Support for Binary
Translation (AMAS-BT'09), Austin, Texas, USA,
2009.
18. Sridhar, S., Shapiro, J.S. ve Bungale, P.P.,
“HDTrans: A Low-overhead Dynamic
Translator”, SIGARCH Computer
Architecture News, Cilt 35, No 1, 135–140,
2007.
19. Chen, Wen-Ke, Lerner, S., Chaiken, R. ve
Gillies, D.M., “Mojo: A Dynamic Optimization
System”, In ACM Workshop Feedbackdirected
Dyn. Opt. (FDDO-3), 2000.
20. Olszewski, M., Cutler, J. ve Steffan, J.G.
“Judostm: A Dynamic Binary-rewriting
Approach to Software Transactional Memory”.
In PACT ’07, Washington DC, USA, 365–375,
2007.
21. İnternet: www.pcsistem.net/unassembler,2013.
22. Brey, B.B., “The Intel Microprocessors:
Architectures, Programming and Interfacing”
(Eighth Edition), Prentice Hall, USA, June 2008.

Thank you for copying data from http://www.arastirmax.com