ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. mhcjbn4oyj44ziwcu yqq udsss. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-mhcjbn4oyj44ziwcu yqq udsss. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° mhcjbn4oyj44ziwcu yqq udsss. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Установка Auto PY to EXE

Установка Ρ‡Π΅Ρ€Π΅Π· pip

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Установка с GitHub

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ установку Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с GitHub. Для установки Auto PY to EXE с GitHub Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitHub.

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ВСкущая вСрсия Auto PY to EXE 2.9.0 ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½Π° установлСна Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Auto PY to EXE, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с GUI:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Auto PY to EXE

ΠŸΡ€ΠΎΡ†Π΅ΡΡ прСобразования

Π¨Π°Π³ 1. ДобавляСм мСстополоТСниС Ρ„Π°ΠΉΠ»Π°

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ДобавляСм мСстополоТСниС Ρ„Π°ΠΉΠ»Π°

Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» мСстополоТСниС основного Ρ„Π°ΠΉΠ»Π° Python ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π΄Π΅ΡΡŒ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Python. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с GUI, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки. О создании этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь: Build a Sorting Algorithm Visualizer in Python

Π¨Π°Π³ 2. Π’Ρ‹Π±ΠΎΡ€ Β«One DirectoryΒ» ΠΈΠ»ΠΈ Β«One FileΒ»

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

One directory ΠΈΠ»ΠΈ One file

Π¨Π°Π³ 3. Π’Ρ‹Π±ΠΎΡ€ Β«Console BasedΒ» ΠΈΠ»ΠΈ Β«Window BasedΒ»

ПослС этого Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ прилоТСния: консольноС (Console Based) ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ½Π½ΠΎΠ΅ (Window Based). Если Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«Window BasedΒ», Ρ‚ΠΎ это скроСт вСсь ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ прилоТСния. Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Β«Console BasedΒ». Если Ρƒ вас ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с GUI ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, Ρ‚ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Window BasedΒ». Π― Π²Ρ‹Π±Ρ€Π°Π» Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠΎΡ‘ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ GUI.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Console Based ΠΈΠ»ΠΈ Window Based

Π¨Π°Π³ 4. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ для прСобразования

Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса придётся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ.

Папка с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ открытия ΠΏΠ°ΠΏΠΊΠΈ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Python Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² исполняСмый Ρ„Π°ΠΉΠ». Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π±Π΅Π· нСобходимости установки Python.

РСсурсы

На ΠΏΡ€Π°Π²Π°Ρ… Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹

Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ для всСх, Π² Ρ‚ΠΎΠΌ числС, ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²! VDS с посуточной ΠΎΠΏΠ»Π°Ρ‚ΠΎΠΉ Π½Π° Π±Π°Π·Π΅ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… процСссоров AMD EPYC ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° основС NVMe дисков ΠΎΡ‚ Intel для размСщСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² любой слоТности, создавайтС ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСрвСра Π² ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΠΈΠΊΠΎΠ²!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ BAT Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. 4 bat save. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-4 bat save. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 4 bat save. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ BAT Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π² Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ.

Если послС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚ΠΎ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: запускаСтся ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Firefox ΠΈ ΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ запрос, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠΊΠ°Π·Π°Π½. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ систСмС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊ Π½Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ:

Π”Π»ΠΈΠ½Π½Ρ‹e ΠΈΠΌΠ΅Π½Π° Π² bat-Ρ„Π°ΠΉΠ»Π°Ρ…

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π—Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΈΡ… ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ. ΠŸΡ€Π°Π²ΠΈΠ»Π° создания ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡˆΠ΅ΡΡ‚ΡŒ символов ΠΈΠΌΠ΅Π½ΠΈ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², послС ΠΈΠΌΠ΅Π½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа

. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΏΠΊΠΈ Program Files ΠΈ Sound Club Ρƒ мСня Π² СдинствСнном числС, получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Но этот способ Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ приходится ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ порядковыС Π½ΠΎΠΌΠ΅Ρ€Π°. Битуация с Program files Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ. Мало Ρƒ ΠΊΠΎΠ³ΠΎ встрСтится Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° систСмном дискС. Но Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Mozilla Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π£ вас получится нСсколько ΠΏΠ°ΠΏΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ для Π½ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚

ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² bat-Ρ„Π°ΠΉΠ»Π°Ρ…

ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π½ΠΎ Π½Π΅ с Ρ‚Π΅ΠΌΠΈ способами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚. Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’Π°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ сработаСт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ссли ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ справку ΠΏΠΎ Π½Π΅ΠΉ ( start /? ), Ρ‚ΠΎ Π² справкС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΈΠ΄Ρ‘Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΈ ΠΎΠ½ ΠΊΠ°ΠΊ Ρ€Π°Π· Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π΅Π³ΠΎ всё ΠΆΠ΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΡƒΡ‚), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡΡ Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΆΠ΅ сработаСт ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ всСх ΠΈΠΌΡ‘Π½ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ запуск установлСнной Π² систСмС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Defraggler.exe. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ строки, указывая ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ rem Π² Π½Π°Ρ‡Π°Π»Π΅ строки. ВсС BAT Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠΊΠ½Π΅ консоли. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ исчСзало ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ exit.

Запуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· bat-Ρ„Π°ΠΉΠ»Π°

Π­Ρ‚ΠΎ Π½Π΅ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмС, Π½ΠΎ Π² качСствС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Если Π΅ΡΡ‚ΡŒ Ρ†Π΅Π»ΡŒ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ BAT Ρ„Π°ΠΉΠ» Π²Π΅Π·Π΄Π΅ ΠΈ всСгда, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ путями:

Π’Π°ΠΊΠΆΠ΅ я ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Π² BAT Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅:

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² bat-Ρ„Π°ΠΉΠ»Π°Ρ… с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ просто Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, Π° Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ запускС. НапримСр, ΡΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ свСрнутой:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. 8 cmd start. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-8 cmd start. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8 cmd start. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ прилоТСния Π² Ρ‚ΠΈΡ…ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° инсталятора, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π³ΠΎΡΡ для установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€:

запускаСтС Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° устанавливаСтся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ практичСски Π±Π΅Π· вашСго участия. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ список ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ‚ΠΈΡ…ΠΎΠΉ установки ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° пСрСустановкС систСмы. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎ Ρ‚ΠΈΡ…ΡƒΡŽ установку ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BAT Ρ„Π°ΠΉΠ»ΠΎΠ². МоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π² Π΅ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ запускС. Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ этим способом ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сайтов. ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° вСсь Ρ‚Π²ΠΎΠΉ инструмСнтарий ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ всСго ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ:

ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ всС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… комбинациях ΠΈ сочСтаниях.

Но Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ: всё, Ρ‡Ρ‚ΠΎ касаСтся выполнСния запускаСмой Π² Π±Π°Ρ‚Π½ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ с Π½Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС.

Наткнулся Π΅Ρ‰Ρ‘ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ BAT Π² EXE, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅: Advanced Bat To Exe Converter

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ исполняСмый Ρ„Π°ΠΉΠ» ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ исполняСмый Ρ„Π°ΠΉΠ»? Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, с Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструкций ΠΈΠ»ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° вашСм ПК. Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх соврСмСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй ассоциируСт ΠΈΡ… с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² Windows EXE.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ EXE-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ установкС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΠ»ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° вашСм ПК, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ EXE. Если Π²Ρ‹ создаСтС собствСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π²Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный исполняСмый Ρ„Π°ΠΉΠ» для запуска, установки ΠΈΠ»ΠΈ распространСния. Если Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± исполняСмых Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Executable File Featured. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Executable File Featured. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Executable File Featured. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Риски исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (EXE)

Когда Π²Ρ‹ запускаСтС исполняСмый Ρ„Π°ΠΉΠ», Π²Ρ‹ Π΄Π°Π΅Ρ‚Π΅ Π΅ΠΌΡƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ содСрТащихся Π² Π½Π΅ΠΌ инструкций. Π’Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ любоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΎΡ‚ простых сцСнариСв ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк Π΄ΠΎ слоТного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ строк ΠΊΠΎΠ΄Π°.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рисках. Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² исходном ΠΊΠΎΠ΄Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Malware. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Malware. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Malware. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠ»ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²ΠΎ внСшний источник. Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ врСдоносного ПО, созданного, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ€Π΅Π΄ Π·Π° ваш счСт.

ΠŸΠ΅Ρ€Π΅Π΄ запуском любого исполняСмого Ρ„Π°ΠΉΠ»Π°, особСнно Ссли ΠΎΠ½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ административныС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Windows Security ΠΈΠ»ΠΈ вашСго собствСнного стороннСго антивирусного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Malwarebytes. Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ слСдуСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· источников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ довСряСтС.

Если Π²Ρ‹ создаСтС собствСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для запуска, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для доступа ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ. Π₯отя Windows ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нСсанкционированный доступ ΠΊ систСмным Ρ„Π°ΠΉΠ»Π°ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UAC, Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свой ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ запуском, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ нанСсти Π²Ρ€Π΅Π΄ Π²Π°ΡˆΠ΅ΠΌΡƒ ПК.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (EXE) Π² Windows

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² Windows, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это нСсколькими способами. Windows автоматичСски распознаСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ EXE-Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ исполняСмый Ρ„Π°ΠΉΠ», поэтому ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ со своСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола, ΠΈΠ· ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Windows, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСню Β«ΠŸΡƒΡΠΊΒ» Windows (для установлСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния) ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows Run EXE. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows Run EXE. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows Run EXE. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows Start EXE. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows Start EXE. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows Start EXE. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Window Start Run. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Window Start Run. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Window Start Run. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows Run Box EXE. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows Run Box EXE. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows Run Box EXE. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows EXE UAC. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows EXE UAC. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows EXE UAC. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows EXE Cant Run. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows EXE Cant Run. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows EXE Cant Run. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² Windows

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ языкС программирования, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Однако Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ захотят ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простыС исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ установщика для установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный мастСр IExpress для этого Π² Windows, Π½ΠΎ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΎΡ‡Π΅Π½ΡŒ староС ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π΅ обновлялось. Π›ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄. Inno Setup ΠΈΠ»ΠΈ, для основных ΡΠ°ΠΌΠΎΡ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ EXE-Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 7-молния.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. 7Zip Created Archive. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-7Zip Created Archive. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7Zip Created Archive. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

EXE-Ρ„Π°ΠΉΠ», созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 7-Zip, Π½Π° самом Π΄Π΅Π»Π΅ являСтся Ρ„Π°ΠΉΠ»ΠΎΠΌ Π°Ρ€Ρ…ΠΈΠ²Π° SFX. Π­Ρ‚ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ EXE автоматичСски ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ всС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для простого развСртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Π½Π΅ бСспокоясь ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… установлСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, созданиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. Windows 7Zip Add To Archive. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-Windows 7Zip Add To Archive. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Windows 7Zip Add To Archive. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. 7Zip Create SFX. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-7Zip Create SFX. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7Zip Create SFX. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π₯отя это Π½Π΅ настоящий EXE-Ρ„Π°ΠΉΠ», ΠΎΠ½ выглядит ΠΈ дСйствуСт ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС исполняСмого Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, созданныС Π²Π°ΠΌΠΈ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ «настоящий» исполняСмый Ρ„Π°ΠΉΠ», Π²Π°ΠΌ потрСбуСтся Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Запуск исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Mac ΠΈΠ»ΠΈ Linux

Π’ΠΎ, ΠΊΠ°ΠΊ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Windows, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux ΠΈΠ»ΠΈ macOS. На этих ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΅ΡΡ‚ΡŒ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ EXE.

Π’ Linux, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, любой Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ исполняСмым, Π½ΠΎ для Π΅Π³ΠΎ запуска Π² качСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с использованиСм chmod трСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° chmod + x file прСдоставит Ρ„Π°ΠΉΠ»Ρƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ file Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π’ macOS Π΅ΡΡ‚ΡŒ нСсколько ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ установлСно ΠΈΠ· App Store, ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ довСряСт, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ это Π² мСню «БистСмныС настройки»> Β«Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ».

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. security and privacy. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-security and privacy. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° security and privacy. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Однако ΠΊΠ°ΠΊ систСма Π½Π° основС Unix macOS ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ chmod, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ большС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… сцСнариСв с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния Terminal. Если Π²Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ сцСнарий Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ chmod + x для Π΅Π³ΠΎ запуска.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эмулятор WINE для Linux ΠΈ macOS для запуска ΠΈ установки EXE-Ρ„Π°ΠΉΠ»ΠΎΠ² Windows Π½Π° этих ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для эмуляции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… инструкций ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Windows, использованиС WINE для запуска EXE-Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ успСха.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, насколько популярноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с WINE, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… WineHQ.

Запуск исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Windows 10

Ничто Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, особСнно Ссли Π²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ установщика Windows, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ установку. Однако для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows 10 Ρ„Π°ΠΉΠ»Ρ‹ EXE Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ. Пока Π²Ρ‹ запускаСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· источников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ довСряСтС, исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ бСзопасными.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ рСгулярно выполняСтС сканированиС Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈ, Ссли Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, бСзопасно Π»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ пСсочницы Windows 10 для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Если EXE опасСн, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ Π²Π°ΡˆΡƒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ установку Windows.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ EXE

Бамоизоляция это ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ врСмя ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Π΅ΠΌ всСгда Ρ…ΠΎΡ‚Π΅Π» β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой компилятор.

БСйчас ΠΎΠ½ способСн ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Hello World, Π½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ ΠΏΡ€ΠΎ парсинг ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство компилятора, Π° ΠΏΡ€ΠΎ Ρ‚Π°ΠΊΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ°ΠΊ побайтовая сборка exe Ρ„Π°ΠΉΠ»Π°.

Начало

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ спойлСр? Наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ 2048 Π±Π°ΠΉΡ‚.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с exe Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΡ… структуры. Π‘Π°ΠΌΠΈ ΠΆΠ΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ этом Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ компиляторы, ΠΈ этот процСсс каТСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ магичСским для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Но сСйчас ΠΌΡ‹ с Π²Π°ΠΌΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ!

Для сборки нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°ΠΌ потрСбуСтся любой HEX Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ (Π»ΠΈΡ‡Π½ΠΎ я использовал HxD).

Для старта возьмСм псСвдокод:

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π΅ строки ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ WinAPI. Ѐункция MessageBoxA Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с нашим тСкстом, Π° ExitProcess сообщаСт систСмС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main Π½Π΅Ρ‚ смысла, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, описанныС Π²Ρ‹ΡˆΠ΅.

DOS Header

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ DOS Header, это Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для DOS ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° запуск exe ΠΏΠΎΠ΄ Windows Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½.

Π‘ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ поля я ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ», ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ нулями.

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ этот Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΠΏΠΎΠ»Π΅ e_magic ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ это исполняСмый Ρ„Π°ΠΉΠ», ΠΈ e_lfanew β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° смСщСниС PE-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π° (Π² нашСм Ρ„Π°ΠΉΠ»Π΅ это смСщСниС Ρ€Π°Π²Π½ΠΎ 0x80 = 128 Π±Π°ΠΉΡ‚).

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ извСстна структура Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° DOS Header запишСм Π΅Π΅ Π² наш Ρ„Π°ΠΉΠ».

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π‘Π½Π°Ρ‡Π°Π»Π° я использовал Π»Π΅Π²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ для указания смСщСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный тСкст, приходится ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для удобства Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ скобкС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½ порядок добавлСния Π² Ρ„Π°ΠΉΠ», Π° Π² послСднСй смСщСниС Π² Ρ„Π°ΠΉΠ»Π΅ (Offset) ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ.

НапримСр, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΡ‹ вставляСм ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0x00000000, ΠΈ ΠΎΠ½ Π·Π°ΠΉΠΌΠ΅Ρ‚ 64 Π±Π°ΠΉΡ‚Π° (0x40 Π² 16-Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС), ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΠΎ этому ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0x00000040 ΠΈ Ρ‚.Π΄.

Π“ΠΎΡ‚ΠΎΠ²ΠΎ, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 64 Π±Π°ΠΉΡ‚Π° записали. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ 64, это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ DOS Stub (Π—Π°Π³Π»ΡƒΡˆΠΊΠ°). Π’ΠΎ врСмя запуска ΠΈΠ·-ΠΏΠΎΠ΄ DOS, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Но Π² Ρ†Π΅Π»ΠΎΠΌ, это малСнькая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ΄ DOS которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ наш Stub Π² Ρ„Π°ΠΉΠ» ΠΈ рассмотрим Π΅Π³ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ этот ΠΆΠ΅ ΠΊΠΎΠ΄, Π½ΠΎ ΡƒΠΆΠ΅ Π² дизассСмблированном Π²ΠΈΠ΄Π΅

Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: сначала Π·Π°Π³Π»ΡƒΡˆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΊΠΎΠ΄ΠΎΠΌ 1. Π§Ρ‚ΠΎ отличаСтся ΠΎΡ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (Код 0).

Код Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличатся (ΠΎΡ‚ компилятора ΠΊ компилятору) я сравнивал gcc ΠΈ delphi, Π½ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ смысл ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ.

А Π΅Ρ‰Π΅ Π·Π°Π±Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ строка Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ заканчиваСтся ΠΊΠ°ΠΊ \x0D\x0D\x0A$. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ c++ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ символ \x0A замСняСтся Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ \x0D\x0A. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 3 Π±Π°ΠΉΡ‚Π°: 2 Π±Π°ΠΉΡ‚Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Carriage Return (0x0D) Ρ‡Ρ‚ΠΎ бСссмыслСнно, ΠΈ 1 Π½Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки Line Feed (0x0A). Π’ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи (std::ios::binary) Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ Π½Π΅ происходит.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности записи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Far с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ImpEx:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

NT Header

Бпустя 128 (0x80) Π±Π°ΠΉΡ‚ ΠΌΡ‹ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ NT Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (IMAGE_NT_HEADERS64), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π² сСбС ΠΈ PE Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (IMAGE_OPTIONAL_HEADER64). НСсмотря Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ IMAGE_OPTIONAL_HEADER64 являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x64 ΠΈ x86.

РазбСрСмся Ρ‡Ρ‚ΠΎ хранится Π² этой структурС:

Signature β€” Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ структуры PE Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°

Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ IMAGE_FILE_HEADER ΠΎΠ±Ρ‰ΠΈΠΉ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x86 ΠΈ x64.

Machine β€” Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ для ΠΊΠ°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠΎΠ΄ Π² нашСм случаС для x64
NumberOfSections β€” ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ сСкции Π² Ρ„Π°ΠΉΠ»Π΅ (О сСкциях Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅)
TimeDateStamp β€” Π”Π°Ρ‚Π° создания Ρ„Π°ΠΉΠ»Π°
SizeOfOptionalHeader β€” Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° IMAGE_OPTIONAL_HEADER64, вСдь ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ IMAGE_OPTIONAL_HEADER32.

Characteristics β€” Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ нашСго прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ являСтся исполняСмым (EXECUTABLE_IMAGE) ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ с 2 Π“Π± RAM (LARGE_ADDRESS_AWARE), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Ρ‚ΠΎ нСкоторая информация Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π° (Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°) Π² Ρ„Π°ΠΉΠ» (RELOCS_STRIPPED | LINE_NUMS_STRIPPED | LOCAL_SYMS_STRIPPED).

IMAGE_DATA_DIRECTORY β€” массив записСй ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Π’ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ, сэкономив ΠΏΠ°Ρ€Ρƒ Π±Π°ΠΉΡ‚, Π½ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ всС ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ всС 16 ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π΅ΡΡ‚ΡŒ свой Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт, Π³Π΄Π΅ хранится Π΅Π³ΠΎ содСрТимоС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Export(0) β€” Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ссылку Π½Π° сСгмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ экспортируСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Для нас это Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Ссли Π±Ρ‹ ΠΌΡ‹ создавали DLL. Как это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

Import(1) β€” Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° сСгмСнт с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ функциями ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… DLL. Π’ нашСм случаС значСния VirtualAddress = 0x3000 ΠΈ Size = 0xB8. Π­Ρ‚ΠΎ СдинствСнный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ опишСм.

Resource(2) β€” ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ с рСсурсами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ, ВСкст, Π€Π°ΠΉΠ»Ρ‹ ΠΈ Ρ‚.Π΄.)
ЗначСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ посмотрСли ΠΈΠ· Ρ‡Π΅Π³ΠΎ состоит NT-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, запишСм ΠΈ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΎ адрСсу 0x80.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER64 ΠΈ IMAGE_DATA_DIRECTORY Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π”Π°Π»Π΅Π΅ описываСм всС сСкции нашСго прилоТСния согласно структурС IMAGE_SECTION_HEADER

Π’ нашСм случаС Ρƒ Π½aс Π±ΡƒΠ΄Π΅Ρ‚ 3 сСкции.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Virtual Address (VA) начинаСтся с 1000, Π° Π½Π΅ с нуля я Π½Π΅ знаю, Π½ΠΎ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚ всС компиляторы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я рассматривал. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ 1000 + 3 сСкции * 1000 (SectionAlignment) = 4000 Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ записали Π² SizeOfImage. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти. ВСроятно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выдСлСния мСста ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² памяти.

I β€” Initialized data, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
U β€” Uninitialized data, Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
C β€” Code, содСрТит исполняСмый ΠΊΠΎΠ΄
E β€” Execute, позволяСт ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄
R β€” Read, позволяСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· сСкции
W β€” Write, позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ

.text (.code) β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС исполняСмый ΠΊΠΎΠ΄ (саму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ), Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ CE
.rdata (.rodata) β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ константы, строки ΠΈ Ρ‚.ΠΏ., Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ IR
.data β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ статичСскиС ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Атрибуты IRW
.bss β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ статичСскиС ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, данная сСкция ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ RAW Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ VA Size, благодаря Ρ‡Π΅ΠΌΡƒ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСста Π² Ρ„Π°ΠΉΠ»Π΅. Атрибуты URW
.idata β€” сСкция содСрТащая Π² сСбС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Атрибуты IR

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, сСкции Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΡ€ΠΈ Ρ‡Π΅ΠΌ ΠΊΠ°ΠΊ Π² Ρ„Π°ΠΉΠ»Π΅, Ρ‚Π°ΠΊ ΠΈ Π² памяти. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ³Π΄Π° я мСнял ΠΈΡ… порядок ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пСрСставала Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ извСстно ΠΊΠ°ΠΊΠΈΠ΅ сСкции Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запишСм ΠΈΡ… Π² наш Ρ„Π°ΠΉΠ». Π’ΡƒΡ‚ смСщСниС оканчиваСтся Π½Π° 8 ΠΈ запись Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с сСрСдины Ρ„Π°ΠΉΠ»Π°.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ адрСс для записи Π±ΡƒΠ΄Π΅Ρ‚ 00000200 Ρ‡Ρ‚ΠΎ соотвСтствуСт полю SizeOfHeaders PE-Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Если Π±Ρ‹ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΡΠ΅ΠΊΡ†ΠΈΡŽ, Π° это плюс 40 Π±Π°ΠΉΡ‚, Ρ‚ΠΎ наши Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π½Π΅ ΡƒΠ»ΠΎΠΆΠΈΠ»ΠΈΡΡŒ Π±Ρ‹ Π² 512 (0x200) Π±Π°ΠΉΡ‚ ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ 512+40 = 552 Π±Π°ΠΉΡ‚Π° Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎ FileAlignment, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 1024 (0x400) Π±Π°ΠΉΡ‚Π°. А всС Ρ‡Ρ‚ΠΎ останСтся ΠΎΡ‚ 0x228 (552) Π΄ΠΎ адрСса 0x400 Π½ΡƒΠΆΠ½ΠΎ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ нулями.

ВзглянСм ΠΊΠ°ΠΊ выглядит Π±Π»ΠΎΠΊ сСкций Π² Far:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ запишСм Π² наш Ρ„Π°ΠΉΠ» сами сСкции, Π½ΠΎ Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ нюанс.

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ SizeOfHeaders, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ просто Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ записи ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ сколько Π·Π°ΠΉΠΌΡƒΡ‚ всС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ вмСстС. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ сколько ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ мСста, Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ пустыС (Π½ΡƒΠ»Π΅Π²Ρ‹Π΅) значСния, Π° послС записи всСх Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€.

Но Π² Π΄Π°Π½Π½ΠΎΠΌ случаС я ΡƒΠΆΠ΅ всС рассчитал, поэтому Π±ΡƒΠ΄Π΅ΠΌ сразу Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°.

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ для этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 3 строки, Ρ€ΠΎΠ²Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ 3 послСдниС Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.
ПослСдниС 3 Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ исполнСны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ call.

Но скаТСм Ρ‚Π°ΠΊ, Ссли Π±Ρ‹ это Π±Ρ‹Π»Π° Π½Π΅ функция main, Π° подфункция слСдовало Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ.

А Π²ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 3 Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, Π½ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹. НапримСр, Ссли Π±Ρ‹ ΠΌΡ‹ использовали Π½Π΅ MessageBoxA, Π° printf Ρ‚ΠΎ Π±Π΅Π· этих строк ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π±Ρ‹ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Богласно соглашСнию ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… для 64-разрядных систСм MSDN, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 4 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² рСгистрах RCX, RDX, R8, R9. Если ΠΎΠ½ΠΈ Ρ‚ΡƒΠ΄Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ числом с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. А ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· стСк.

По ΠΈΠ΄Π΅Π΅ Ссли ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ 2 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· рСгистры ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΈΡ… Π΄Π²Π° мСста Π² стСкС, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈ нСобходимости функция ΠΌΠΎΠ³Π»Π° ΡΠΊΠΈΠ½ΡƒΡ‚ΡŒ рСгистры Π² стСк. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ эти рСгистры Π² исходном состоянии.

Π’Π°ΠΊ Π²ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΉ всСго 1 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΎΠ½Π° всС Ρ€Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ всС 4 мСста Π² стСкС, хотя Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ, ΠΏΠΎ количСству Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сСбя странно Π²Π΅Π»Π°, всСгда Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 8 Π±Π°ΠΉΡ‚ * 4 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° = 32(0x20) Π±Π°ΠΉΡ‚, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ хотя Π±Ρ‹ 1 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

Рассмотрим Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° с Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ наши Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹:

rcx = 0
rdx = Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ адрСс строки Π² памяти ImageBase + Sections[«.rdata»].VirtualAddress + Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ строки ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° сСкции, строка читаСтся Π΄ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π°
r8 = Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ
r9 = 64(0x40) MB_ICONINFORMATION, Π·Π½Π°Ρ‡ΠΎΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

А Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MessageBoxA, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ всС Ρ‚Π°ΠΊ просто. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ компиляторы ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π§Π΅ΠΌ мСньшС Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚Π΅ΠΌ большС Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π»Π΅Π·Π΅Ρ‚ Π² кэш процСссора, соотвСтствСнно, Π±ΡƒΠ΄Π΅Ρ‚ мСньшС ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² кэша, ΠΏΠΎΠ΄Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈ Π²Ρ‹ΡˆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ процСссора ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Intel 64 and IA-32 Architectures Software Developer’s Manuals.

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ адрСсу, Π½ΠΎ это заняло Π±Ρ‹ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ (1 ΠΎΠΏΠΊΠΎΠ΄ + 8 адрСс = 9 Π±Π°ΠΉΡ‚), Π° с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ адрСсом ΠΊΠΎΠΌΠ°Π½Π΄Π° call Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго 6 Π±Π°ΠΉΡ‚.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° эту магию ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅: rip + 0x203E, это Π½ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ адрСсу, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ нашим смСщСниСм.

Π― подсмотрСл Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ ΡƒΠ·Π½Π°Π» адрСса Π½ΡƒΠΆΠ½Ρ‹Ρ… Π½Π°ΠΌ смСщСний. Для MessageBoxA это 0x3068, Π° для ExitProcess это 0x3098.

ΠŸΠΎΡ€Π° ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ магию Π² Π½Π°ΡƒΠΊΡƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠΊΠΎΠ΄ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² процСссор, ΠΎΠ½ высчитываСт Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρƒ ΠΈ прибавляСт ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ адрСсу инструкции (RIP). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ RIP Π²Π½ΡƒΡ‚Ρ€ΠΈ инструкции, этот адрСс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½Π΅Ρ† Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ инструкции / Π½Π°Ρ‡Π°Π»ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ.
Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ call смСщСниС Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ call это 002A Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π² памяти этот адрСс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Sections[«.text»].VirtualAddress, Ρ‚.Π΅. 0x1000. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, RIP для нашСго call Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 102A. НуТный Π½Π°ΠΌ адрСс для MessageBoxA находится ΠΏΠΎ адрСсу 0x3068. Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ 0x3068 β€” 0x102A = 0x203E. Для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ адрСса всС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ 0x1000 + 0x0037 = 0x1037, 0x3098 β€” 0x1037 = 0x2061.

ИмСнно эти смСщСния ΠΌΡ‹ ΠΈ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… ассСмблСра.

Π₯очСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ всСго лишь 4 строки Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° содСрТат вСсь наш ΠΊΠΎΠ΄ Π½Π° ассСмблСрС. А всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π½ΡƒΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ FileAlignment. ПослСднСй строкой Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ нулями Π±ΡƒΠ΄Π΅Ρ‚ 0x000003F0, послС ΠΈΠ΄Π΅Ρ‚ 0x00000400, Π½ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ. Π˜Ρ‚ΠΎΠ³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ ΡƒΠΆΠ΅ 1024 Π±Π°ΠΉΡ‚Π°, наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° вСсит ΡƒΠΆΠ΅ Ρ†Π΅Π»Ρ‹ΠΉ ΠšΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚! ΠžΡΡ‚Π°Π»ΠΎΡΡŒ совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

Π­Ρ‚ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самая простая сСкция. ΠœΡ‹ просто ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ сюда Π΄Π²Π΅ строки Π΄ΠΎΠ±ΠΈΠ² нулями Π΄ΠΎ 512 Π±Π°ΠΉΡ‚.

Ну Π²ΠΎΡ‚ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ послСдняя сСкция, которая описываСт ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ нас ΠΆΠ΄Π΅Ρ‚ новая структура IMAGE_IMPORT_DESCRIPTOR

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 2 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Напомним:

Π£ нас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 2 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π° Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ. ПослСдняя структура заполняСтся нулями.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° самих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ:

Π”Π°Π»Π΅Π΅ опишСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ user32:

ПолС Name ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° 0x303C Ссли ΠΌΡ‹ посмотрим Ρ‡ΡƒΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΠΎ адрСсу 0x063C находится Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Β«user32.dll\0Β».

Β«00 00 4D 65 73 73 61 67 65 42 6F 78 41 00 00 00Β»

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 2 Π±Π°ΠΉΡ‚Π° нас Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ ΠΈ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ. А Π²ΠΎΡ‚ дальшС ΠΈΠ΄Π΅Ρ‚ строка с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ Π½ΡƒΠ»Π΅ΠΌ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ «\0\0MessageBoxA\0».

ΠŸΡ€ΠΈ этом IAT ссылаСтся Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ IAT структуру, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅Π΅ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ адрСса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НапримСр, для ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи 0x3068 Π² памяти Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ значСния 0x0668 Π² Ρ„Π°ΠΉΠ»Π΅. Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ адрСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MessageBoxA Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ систСмой ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² call Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

И послСдний кусочСк ΠΏΠ°Π·Π»Π°, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° kernel32. И Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒ нулями Π΄ΠΎ SectionAlignment.

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ‡Ρ‚ΠΎ Far смог ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ:

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! ВсС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΎΡΡŒ, Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш Ρ„Π°ΠΉΠ» Π³ΠΎΡ‚ΠΎΠ² ΠΊ запуску.
Барабанная Π΄Ρ€ΠΎΠ±ΡŒβ€¦

Π€ΠΈΠ½Π°Π»

ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. image loader. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² windows. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Auto PY to EXE.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ, ΠΌΡ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ!

Π€Π°ΠΉΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2 Кб = Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ 512 Π±Π°ΠΉΡ‚ + 3 сСкции ΠΏΠΎ 512 Π±Π°ΠΉΡ‚.

Число 512(0x200) Π½ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ FileAlignment, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Или квСст Ρ‡ΡƒΡ‚ΡŒ слоТнСС. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ² Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ MessageBox. Для этого придСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π²Ρ‹Π·ΠΎΠ², ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс (0x3068 β€” RIP).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ достаточно скомканной, Π΅ΠΉ Π±Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 3 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй: Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°.

Если ΠΊΡ‚ΠΎ-Ρ‚ΠΎ собрал свой exe Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΉ Ρ‚Ρ€ΡƒΠ΄ Π±Ρ‹Π» Π½Π΅ напрасСн.

Π”ΡƒΠΌΠ°ΡŽ Π² скором Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ELF Ρ„Π°ΠΉΠ» ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, интСрСсна Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ такая ΡΡ‚Π°Ρ‚ΡŒΡ?)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *