Paano I-disassemble Ang Programa

Talaan ng mga Nilalaman:

Paano I-disassemble Ang Programa
Paano I-disassemble Ang Programa

Video: Paano I-disassemble Ang Programa

Video: Paano I-disassemble Ang Programa
Video: paano i repair itong speaker system walang power 2024, Abril
Anonim

Sa kurso ng propesyonal na aktibidad, ang isang programmer ay kailangang harapin ang maraming mga sitwasyon na nangangailangan ng kumplikadong pagtatasa ng malalaking mga fragment ng source code o kahit na buong aplikasyon. Ang pagsasaliksik sa mga matagumpay na solusyon at kasanayan, pag-aralan ang naipatupad na mga algorithm, o simpleng paglilipat ng isa pang proyekto sa isang koponan ay madalas na kinakailangan upang mag-disassemble ng isang program na isinulat ng ibang tao.

Paano i-disassemble ang programa
Paano i-disassemble ang programa

Kailangan

  • - programa para sa pagtingin sa source code;
  • - posibleng reverse engineering at mga tool sa kaso.

Panuto

Hakbang 1

Suriin ang daloy ng paglipat ng kontrol ng program na na-parse Kilalanin ang punto ng pagpasok. Ito, halimbawa, ay ang pangunahing pag-andar sa C at C ++, ang simula ng isang hindi pinangalanan na unang antas na bloke ng istraktura, na nagtatapos sa END keyword na may isang tuldok, sa pascal. Simula sa entry point, subaybayan ang lahat ng mga ruta ng mga tawag sa pag-andar, pamamaraan, pamamaraan ng mga klase. Gumuhit ng isang diagram ng daloy ng daloy ng mataas na antas ng kontrol. Upang gawing simple ang prosesong ito, maaari mong gamitin ang iba't ibang mga reverse engineering tool. Pag-aralan ang source code ng mga elemento ng istruktura ng na-parse na programa nang mas detalyado. Gumuhit ng mga diagram ng daloy ng kontrol o daloy ng mga diagram para sa mga indibidwal na pag-andar at pamamaraan.

Hakbang 2

Pag-aralan ang mga stream ng data ng program na na-parse. Tukuyin ang mga istrukturang ginamit upang mag-imbak ng impormasyon at ilipat ito sa pagitan ng mga functional elemento ng application. Tukuyin ang mga snippet ng code na nagko-convert ng data mula sa isang form patungo sa isa pa. Gumawa ng isang listahan ng mga lugar sa programa kung saan natanggap ang impormasyon mula sa panlabas na kapaligiran, pati na rin ang output nito sa kung saan. Ang mga tool sa muling pag-install at mga tool sa kaso (halimbawa, upang bumuo ng isang diagram ng pamana at isang diagram ng dependency) ay makakatulong din sa ganitong uri ng pagtatasa.

Hakbang 3

I-disassemble ang programa, pagkakaroon ng kumpletong pag-unawa sa mga prinsipyo ng pagpapatakbo nito. Sa batayan ng kaalaman tungkol sa daloy ng paglipat ng kontrol sa pagitan ng mga elemento ng istruktura, pati na rin sa loob ng mga ito, kaalaman sa daloy at mga uri ng pagbabago ng data, kilalanin ang pangunahing mga algorithm ng trabaho. Paghiwalayin ang mga algorithm para sa pagpoproseso ng data at kontrol sa interface. Piliin ang mga tipikal na algorithm sa pagproseso at uriin ito. Kilalanin ang mga algorithm batay sa pakikipag-ugnay ng iba't ibang mga bahagi (halimbawa, ang paghahanap ay maaaring magamit parehong malaya at bilang bahagi ng isang uri). Kung kinakailangan, gumuhit ng mga flowchart ng magkakaibang mga antas ng detalye upang mailarawan ang pagpapatakbo ng programa.

Inirerekumendang: