
Reverify nima qiladi
Reverify ikkilik tahlil jarayonida gallyutsinatsiyalarni kamaytirishga mo‘ljallangan, sun’iy intellekt yordamidagi reverse engineering vositalari to‘plamidir. Til modelining qayta tiklangan natijasiga ishonish o‘rniga, Reverify uni gipoteza sifatida ko‘rib, haqiqiy ikkilik fayl bilan tekshiradi.
Ish jarayoni oddiy: model taklif qiladi, deterministik vositalar esa tekshiradi. Reverify baytlarni disassemblerdan o‘tkazishi, andozalarni skanerlashi, bajariluvchi formatlarni tahlil qilishi, satrlarni ajratib olishi, kodni emulyatsiya qilishi va uzatish formatlarini tekshirishi mumkin. Tekshirilgan da’vo kuzatilgan dalillar bilan birga uchta natijadan birini oladi: VERIFIED, REFUTED yoki INCONCLUSIVE.
Reverify’dan faqat ruxsat etilgan reverse engineering ishlari uchun foydalaning: masalan, zararli dasturlar tahlili, CTF topshiriqlari, o‘zaro ishlash tadqiqotlari hamda o‘zingizga tegishli yoki tekshirishga ruxsatingiz bo‘lgan dasturiy ta’minot.
Asosiy imkoniyatlar
- Deterministik tekshiruv: Da’volar sun’iy intellekt yaratgan izoh asosida qabul qilinmaydi, balki maqsadli ikkilik faylda kuzatilgan baytlar bilan solishtirib baholanadi.
- Bajariluvchi fayllarni tahlil qilish: PE, ELF va Mach-O fayllarini, jumladan arxitektura, kirish nuqtasi, bo‘limlar, importlar va qo‘llab-quvvatlanadigan eksportlarni tekshiring.
- Disassembling va emulyatsiya: Faol backend imkoniyatlariga qarab x86, x64, ARM va ARM64 kodlarini tahlil qiling.
- Andoza va satrlar tahlili:
??joker belgilaridan foydalanib AOB andozalarini skanerlang hamda ofsetlari bilan ASCII yoki UTF-16LE satrlarini ajratib oling. - Protokollarni tekshirish: Sxema talab qilmasdan Protobuf va TLV ma’lumotlarini dekodlang.
- Reverse engineering yordamchi vositalari: Frida hook’larini yarating, tekislangan hex dump’larni hosil qiling hamda ikkilik farqlar yoki patch’lar yarating.
- Agentlar bilan integratsiya: Reverify’ni Claude Code va Cursor kabi vositalar uchun Model Context Protocol serveri sifatida ishga tushiring.
- Sof Python zaxira rejimi: Asosiy paket Ghidra yoki majburiy native tahlil dvigat04larisiz ishlaydi.
O‘rnatish va sozlash
Sof Python yadrosini o‘rnatish
CLI va MCP serverini PyPI’dan o‘rnating:
pip install reverify
Bu sof Python yadrosini taqdim etadi va boshlashning eng oddiy usulidir.
Ixtiyoriy yetuk dvigatellarni o‘rnatish
Kengaytirilgan tahlil, disassembling va emulyatsiya uchun to‘liq qo‘shimchani o‘rnating:
pip install "reverify[full]"
To‘liq o‘rnatish Reverify’ga disassembling uchun Capstone, protsessor emulyatsiyasi uchun Unicorn hamda PE, ELF va Mach-O tahlili uchun LIEF dan foydalanish imkonini beradi. Bu paketlar mavjud bo‘lmasa, Reverify sof Python implementatsiyasiga qaytadi.
Qaysi dvigatellar faol ekanini tekshiring:
reverify backends
Checkout’dan to‘g‘ridan-to‘g‘ri ishga tushirish
Repository’dan paketni o‘rnatmasdan ham foydalanish mumkin:
python reverify/cli.py auto sample.bin --json
python reverify/cli.py parse-pe sample.exe --json
python reverify/cli.py disasm 90505831C0C3 --arch x86_64
Ikkilik faylni dastlabki tahlil qilish
Fayl formatini va arxitekturasini aniqlash, bo‘limlarni tekshirish hamda muhim satrlarni ko‘rsatish uchun auto buyrug‘idan boshlang:
reverify auto sample.bin --json
--json opsiyasi natijani boshqa skript, CI vazifasi yoki AI agenti dasturiy ravishda qayta ishlashi kerak bo‘lganda foydalidir.
Bajariluvchi fayllarni maqsadli tahlil qilish uchun PE, ELF yoki Mach-O fayllarida parse buyrug‘idan foydalaning:
reverify parse sample.bin --json
Windows bajariluvchi fayli uchun maxsus PE parseri PE32 yoki PE32+ header’lari, importlar va eksportlarni tekshirishi mumkin:
reverify parse-pe sample.exe --json
Xom baytlarni disassembling qilish
disasm buyrug‘i o‘n oltilik ko‘rinishdagi mashina kodini dekodlashi mumkin. Ushbu misol qisqa x86-64 ketma-ketligini tahlil qiladi:
reverify disasm 90505831C0C3 --arch x86_64
Disassembling taklif qilingan instruksiyalar ketma-ketligi baytlarga mos kelishini tekshirishda foydalidir. Reverify kodni ikkilik fayl bo‘limidan ham disassemble qilishi mumkin, bu esa da’volarni model yaratgan alohida talqinga emas, fayl tarkibiga bog‘lash imkonini beradi.
Tekshiruv siklidan foydalanish
Reverify da’vosi ikkilik fayl haqidagi tuzilmali gipotezadir. verify buyrug‘i da’voni baholaydi va vosita kuzatgan dalillar bilan birga uning holatini qaytaradi.
Instruksiyalar ketma-ketligini tekshirish
Quyidagi da’vo 4096 ofsetidagi baytlar push, mov va sub bilan boshlanadigan funksiya prologiga dekodlanishini tekshiradi:
reverify verify sample.bin --claim '{
"kind": "instructions",
"offset": 4096,
"mnemonics": ["push", "mov", "sub"],
"note": "function prologue"
}'
Reverify taklif qilingan talqinni shunchaki takrorlamaydi. U tegishli baytlarni o‘qiydi va disassemble qiladi, so‘ng so‘ralgan mnemonikalar ketma-ketligi dalillar bilan tasdiqlanishi yoki tasdiqlanmasligini bildiradi.
Emulyatsiya natijasini tekshirish
Shuningdek, mashina kodini emulyatorda bajarib, natijadagi registrlarni tekshirish orqali xatti-harakat haqidagi da’voni sinashingiz mumkin:
reverify verify - --claim '{
"kind": "emulate_result",
"code": "b805000000b90300000001c8c3",
"arch": "x86",
"expect_registers": {"eax": 8}
}'
Bu berilgan dastur eax registrini 8 ga teng holatda qoldirishini tekshiradi. Bu instruksiyalar nimani hisoblayotgandek ko‘rinishi haqidagi model tavsifini qabul qilishdan kuchliroq tekshiruvdir.
Mavjud da’vo turlari
Reverify quyidagi da’vo turlarini qo‘llab-quvvatlaydi:
bytes_atko‘rsatilgan joydagi baytlarni tekshiradi.pattern_presentbaytlar namunasi mavjud yoki mavjud emasligini tekshiradi.string_presentikkilik faylda satr mavjudligini tekshiradi.instructionstaklif qilingan ko‘rsatmalar ketma-ketligini tekshiradi.emulate_resultemulyatsiyadan keyingi kutilgan registr natijalarini tekshiradi.protobuf_fieldProtobuf maydoni haqidagi da’voni tekshiradi.pe_importPE importi haqidagi da’voni tekshiradi.
Ommaviy tekshiruv va CI nazorati
Kattaroq tekshiruvlar uchun bir nechta da’voni JSON fayliga joylashtirib, ularni birgalikda tekshiring:
reverify verify sample.bin --claims-file claims.json
Agar biror da’vo rad etilsa, CLI noldan farqli holat kodi bilan yakunlanadi. Bu xususiyat uni CI konveyerlari va avtomatlashtirilgan agent ish jarayonlari uchun mos qiladi: qayta tiklangan tuzilma yoki dasturiy tartib keyingi bosqichda e’lon qilinishidan yoki foydalanilishidan oldin rad etilishi mumkin.
Amaliy ish jarayoni quyidagicha:
- Dastlabki dalillarni to‘plash uchun
auto,parse,stringsyokidisasmdan foydalaning. - Tahlilchi yoki model tor doirada belgilangan da’volarni shakllantirsin.
- Bog‘liq da’volarni JSON faylida saqlang.
verifyni ishga tushiring va har birREFUTEDyokiINCONCLUSIVEnatijani ko‘rib chiqing.- Qayta tiklangan tuzilmani qayta ko‘rib chiqing va qo‘llab-quvvatlangan da’volar kuzatilgan dalillarga asoslanguncha jarayonni takrorlang.
Qo‘shimcha tahlil buyruqlari
Reverify tekshiruv jarayonini qo‘llab-quvvatlaydigan bir nechta maxsus buyruqlarni o‘z ichiga oladi:
- Namunalarni qidirish: Aniq baytlar va
??joker belgilarini o‘z ichiga olgan AOB qidiruvlari uchunpattern-scandan foydalaning. - Satrlarni ajratib olish: ASCII va UTF-16LE satrlarini topish hamda ularning ofsetlarini saqlash uchun
stringsdan foydalaning. - Mikroemulyatsiya: Protsessor registrlari va stek xatti-harakatlarini tekshirish uchun
emulatedan foydalaning. - Sim formatini tahlil qilish: Sxemasiz ma’lumotlarni tahlil qilish uchun
decode-protobufyokidecode-tlvdan foydalaning. - Frida integratsiyasi: Interseptor skriptini yaratish uchun
gen-hookdan foydalaning. - Xom ma’lumotlarni tekshirish: Ikkilik ma’lumotlarning tekislangan ko‘rinishi uchun
hexdumpdan foydalaning. - O‘zgarishlarni tahlil qilish: Ikkilik farqlar va patch yaratish uchun
diff-patchdan foydalaning. - Chegaralarni tekshirish: Fayl tizimi va SSRF chegaralarini himoyaviy tekshirish uchun
audit-boundarydan foydalaning.
Qayta tiklash bilan siklni yakunlash
reconstruct buyrug‘i Reverify’ning yopiq sikl yondashuvini amalga oshiradi: model da’volarni taklif qiladi, deterministik vositalar ularni baholaydi va jarayon asoslangan natijaga erishilguncha takrorlanadi. Bu modeldan to‘liq tuzilma yoki algoritmni so‘rab, uning dastlabki javobini mutlaq to‘g‘ri deb qabul qilishdan afzaldir.
Ishonchli natijalar uchun da’volarni kichik va tekshiriladigan qilib saqlang. Aniq baytlar, qisqa ko‘rsatmalar ketma-ketligi, import qilingan funksiya yoki registr natijasi haqidagi da’voni tekshirish va qayta ko‘rib chiqish butun ikkilik fayl haqidagi keng qamrovli bayondan osonroq.
Reverify’ni AI agentlariga ulash
MCP serverini repository nusxasidan quyidagi buyruq bilan ishga tushiring:
python reverify/mcp_server.py
Keyin Claude Code yoki Cursor kabi MCP bilan mos mijozni serverni ishga tushirish uchun sozlashingiz mumkin. Agent Reverify’ning tahlil, disassemblatsiya, skanerlash va tekshiruv vositalarini bevosita chaqira oladi.
re_verify_claim MCP vositasi agentlarga ayni tekshiruv siklidan foydalanish imkonini beradi. Agent gipotezani yuborishi, VERIFIED, REFUTED yoki INCONCLUSIVE javobini olishi va xulosa haqida xabar berishdan oldin tahlilini qayta ko‘rib chiqishi mumkin.
Ilg‘or maslahatlar
- Avval faol backendlarni tekshiring: Tahlildan oldin Capstone, Unicorn va LIEF mavjudligini bilish uchun
reverify backendsni ishga tushiring. - JSON formatidagi chiqishni afzal ko‘ring: Natijalar skriptlar, agentlar yoki CI tizimlari tomonidan tahlil qilinsa,
--jsondan foydalaning. - Kuzatuvni talqindan ajrating: Yuqori darajadagi izoh yozishdan oldin ofsetlar, baytlar, dekodlangan ko‘rsatmalar va registr holatlarini qayd eting.
- Noaniq natijalarga xolis munosabatda bo‘ling:
INCONCLUSIVEnatija tekshiruvdan o‘tganlikni anglatmaydi. Ko‘proq dalil to‘plang yoki da’voni toraytiring. - Bog‘liq tasdiqlarni guruhlang: Tuzilmaviy va xatti-harakatga oid tekshiruvlarni da’volar fayliga joylashtiring, shunda bitta rad etilgan taxmin avtomatlashtirilgan qayta tiklashni to‘xtata oladi.
- Xatti-harakatga oid da’volar uchun emulyatsiyadan foydalaning: Agar da’vo tartib nima hisoblashini aytsa, faqat disassemblatsiyaga tayanmasdan, kutilgan registr holatini tekshiring.
- Portativlik uchun sof Python zaxira mexanizmidan foydalaning: Asosiy paketdan boshlang, keyin yetuk native dvigatellar talab qilinsa,
reverify[full]ni o‘rnating.
Xulosa
Reverify muhim da’volarning ikkilik faylga nisbatan deterministik tekshiruvlardan o‘tishini talab qilib, AI yordamidagi teskari muhandislikni yanada asosli qiladi. Uning CLI interfeysi tezkor saralash, tahlil, disassemblatsiya, namunalarni qidirish, emulyatsiya va ommaviy tekshiruvni qo‘llab-quvvatlaydi, MCP serveri esa AI agentlariga xuddi shu dalillarga asoslangan ish jarayonidan foydalanish imkonini beradi. Natijada tahlil ishonchli taxminlarga emas, kuzatilgan baytlarga asoslanadi.
Reverify MIT litsenziyasi asosida tarqatiladi va PyPIda mavjud.
