این نرمافزار، از نمایش hexadecimal، disassembly در نسخههای ۳۲ و ۶۴ بیتی اینتل، تحلیل کد پرونده با قالبهای PE ویژهی ویندوز و ELF ویژهی لینوکس (امکان تحلیل کد و همچنین امکان توسعهی اسکریپتهای مورد نیاز با استفاده از APIهای موجود را فراهم میکند.) پشتیبانی میکند و همچنین امکان مدیریت دستورهای call و jmp از دستورالعملهای اسمبلی در محیط خط فرمان را داراست.
نرمافزار Pyew مانند اکثر نرمافزارهای تحلیل بدافزار و مهندسی معکوس، امکان نمایش نامهای توابع، رشتههای بهکار رفته و سایر مراجع داده را دارد و همچنین از قالبهای OLE2 و PDF و سایر قالبها پشتیبانی میکند و دارای افزونههای بسیاری برای اضافه کردن ویژگیهای بیشتر به این ابزار میباشد.
برای آشنایی با این نرمافزار، فرض میکنیم پروندهای با امضایِ MD5 به صورت b6bd1640dcbd7b81970f8e4606b215e1 در اختیار داریم. برای بازکردن این پرونده از طریق این نرمافزار، به صورت زیر عمل می کنیم:
$ pyew b6bd1640dcbd7b81970f8e4606b215e1
و خروجی به صورت زیر خواهد بود:
PE Information
Sections:
UPX0 0x1000 0x40000 0
UPX1 0x41000 0x2f000 191488
.rsrc 0x70000 0x2000 7680
Entry Point at 0x2ede0
Virtual Address is 0x46f9e0
Code Analysis …
۰۰۰۰ ۴D 5A 50 00 02 00 00 00 04 00 0F 00 FF FF 00 00 MZP………….
۰۰۱۰ B8 00 00 00 00 00 00 00 40 00 1A 00 00 00 00 00 ……..@…….
۰۰۲۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰۳۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۱ ۰۰ ۰۰ …………….
۰۰۴۰ BA 10 00 0E 1F B4 09 CD 21 B8 01 4C CD 21 90 90 ……..!..L.!..
۰۰۵۰ ۵۴ ۶۸ ۶۹ ۷۳ ۲۰ ۷۰ ۷۲ ۶F 67 72 61 6D 20 6D 75 73 This program mus0060 ۷۴ ۲۰ ۶۲ ۶۵ ۲۰ ۷۲ ۷۵ ۶E 20 75 6E 64 65 72 20 57 t be run under W0070 ۶۹ ۶E 33 32 0D 0A 24 37 00 00 00 00 00 00 00 00 in32..$7……..
۰۰۸۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰۹۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰A0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰B0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰C0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰D0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰E0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۰F0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱۰۰ ۵۰ ۴۵ ۰۰ ۰۰ ۴C 01 03 00 EB BF 70 4B 00 00 00 00 PE..L…..pK….
۰۱۱۰ ۰۰ ۰۰ ۰۰ ۰۰ E0 00 8F 81 0B 01 02 19 00 F0 02 00 …………….
۰۱۲۰ ۰۰ ۲۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۴ ۰۰ E0 F9 06 00 00 10 04 00 . …………..
۰۱۳۰ ۰۰ ۰۰ ۰۷ ۰۰ ۰۰ ۰۰ ۴۰ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ ۰۰ ۰۲ ۰۰ ۰۰ ……@………
۰۱۴۰ ۰۴ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۴ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱۵۰ ۰۰ ۲۰ ۰۷ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۲ ۰۰ ۰۰ ۰۰ . …………..
۰۱۶۰ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ ۴۰ ۰۰ ۰۰ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ …..@……….
۰۱۷۰ ۰۰ ۰۰ ۰۰ ۰۰ ۱۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱۸۰ ۴۸ ۱A 07 00 C4 01 00 00 00 00 07 00 48 1A 00 00 H………..H…
۰۱۹۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱A0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱B0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱C0 ۹۸ FB 06 00 18 00 00 00 00 00 00 00 00 00 00 00 …………….
۰۱D0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱E0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ …………….
۰۱F0 ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۰۰ ۵۵ ۵۰ ۵۸ ۳۰ ۰۰ ۰۰ ۰۰ ۰۰ ……..UPX0…
همانطور که مشاهده میشود، با باز کردن یک پروندهی PE در نرمافزار Pyew، این نرمافزار تحلیل کد را آغاز میکند و نام قطعات یا sectionهای پرونده مشخص میشود و اولین قطعه از بخش hexadecimal نیز نمایش داده میشود.
میتوانید کد این پروژه از پیوست برای نسخههای لینوکس ۶۴بیتی با امضای SHA1 بهصورت ۱a390e2cc87d5d6c9a641be965059a4ae17e7ffe بارگیری کنید.
پروندهی پیوست:
pyew-2.0-linux-amd64.tar_.gz
منبع :http://ictc.aeoi.org.ir/
منبع: hackersonlineclub
موسسه نرم افزاری ترسیم رایانه شرق