2

title- Как я могу удалить сообщение Win7 из exe-файла, на котором появляется это сообщение «Хотите ли вы, чтобы следующая программа от неизвестного издателя внесла изменения на вашем компьютере»?

Я получаю сообщение скорее как

Когда я пытаюсь запустить EXE

EXE является MFTRCRD64.exe

https://github.com/jschicht/MftRcrd

Нажмите зеленый "клон или скачать", затем синий "скачать ZIP"

Я попытался скопировать c:\windows\system32\calc.exe в c:\ab, и попытался скопировать этот exe (MFTRCRD64.exe) в c:\ab. calc.exe (calc.exe от MS), без проблем. Любая программа, которую я пишу и компилирую, не имеет проблем. Но эта программа выскакивает сообщение. Множество программ, написанных мной другими, не выдают сообщения. По какой-то причине этот всплывает это сообщение.

К EXE-файлу не прикреплены потоки, поэтому я не вижу, что его вызывает. Я знаю, что Win XP использовала некоторые меры безопасности, и вы могли удалить поток идентификатора зоны, связанный с файлом, и все было в порядке. Но это другое, это сообщение от UAC (конечно, win7 имеет UAC, а win xp - нет).

Но почти для любого исполняемого файла, который я получаю откуда угодно, я не получаю это сообщение UAC. Но я делаю для этого MFTRCRD64.EXE-файл Так что это должно быть что-то о том, как файл был создан, и мне интересно, смогу ли я изменить его.

C:\ab>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\ab

01/10/2016  12:31 AM    <DIR>          .
01/10/2016  12:31 AM    <DIR>          ..
14/07/2009  02:38 AM           918,528 calc.exe
15/09/2015  09:42 PM         1,099,499 MFTRCRD64.exe
               2 File(s)      2,018,027 bytes
               2 Dir(s)   7,114,272,768 bytes free

C:\ab>calc

C:\ab>MFTRCRD64.exe

C:\ab>streams MFTRCRD64.exe

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com


C:\ab>

Рик делает интересное замечание, что он может пытаться написать куда-то, что ему не разрешено, где вы должны быть администратором. И действительно, я не получаю эту коробку, появляющуюся в командной строке административного командования.

«вы сталкиваетесь с" технологией обнаружения установщика "или IDT из UAC. Он пытается определить, имеет ли дело" установщик ", и если да, то выдает вам это приглашение. Вот две ссылки, о которых вы можете прочитать подробнее и проверить список IDT-методов, чтобы узнать, можете ли вы решить эту проблему. http://answers.microsoft.com/en-us/windows/forum/windows_7-security/uac-message-do-you-want-to-allow-the-following/bea30ad8-9ef8-4897-aab4-841a65f7af71 и http://technet.microsoft.com/en-us/library/cc709628(v=ws.10).aspx "

Ссылка answers.microsoft.com говорит: «Это происходит, когда неизвестные программы (без подписи) пытаются записать данные в защищенные системные папки или параметры реестра, а UAC запрашивает ваше разрешение»

Техническая ссылка говорит

Имя файла включает ключевые слова, такие как "установить", "настройка", "обновить" и т.д. Ключевые слова в следующих полях ресурса управления версиями: поставщик, название компании, название продукта, описание файла, исходное имя файла, внутреннее имя и имя экспорта. Ключевые слова в параллельном манифесте, встроенном в исполняемый файл. Ключевые слова в определенных записях StringTable, связанных в исполняемом файле. Ключевые атрибуты в данных RC связаны в исполняемом файле. Целевые последовательности байтов в исполняемом файле.

Я включил некоторые данные из монитора процессора (я понимаю, что заменил regmon), хотя я не знаю, к каким областям реестра областей папок, к которым он обращается, это может привести (если это вообще произойдет)

http://pastebin.com/raw/A5XC6pEk

Я пытался написать программу ac sharp для записи в область, где вам нужно быть администратором (создание файла c:\program files\abc.aaa), http://pastebin.com/raw/4K28DvzK, но я заметил, что это не так вызвать UAC, который только что сделал исключение неавторизованного доступа.

Я также только что попытался запустить 32-битный exe, который был настроен в имени файла, и он не вызывал его

C:\crp3>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp3

02/10/2016  01:31 PM    <DIR>          .
02/10/2016  01:31 PM    <DIR>          ..
22/02/2014  08:21 PM        12,689,608 a_setup_.exe
15/09/2015  09:42 PM         1,099,499 MFTRCRD64.exe
25/07/2015  01:03 AM            73,216 w.exe
               3 File(s)     13,862,323 bytes
               2 Dir(s)   7,455,793,152 bytes free

C:\crp3>file a_setup_.exe
a_setup_.exe; PE32 executable for MS Windows (GUI) Intel 80386 32-bit

C:\crp3>a_setup_.exe

C:\crp3> :: didn't trigger it
C:\crp3>

дальнейшее дополнение

Я принимаю ответ от Рика и большой вклад Дана, который был в дискуссии.

Однако я хотел бы отметить, что когда я удаляю эту строку RequireAdmin сверху, я не получаю ответа в командной строке, не относящейся к административным или административным вопросам.

Но это не важно. И Рик, и Дэн получили одно и то же сообщение об ошибке.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\harvey>cd \crp4

C:\crp4>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4

02/10/2016  03:51 PM    <DIR>          .
02/10/2016  03:51 PM    <DIR>          ..
02/10/2016  03:15 PM             1,517 changelog.txt
02/10/2016  03:15 PM             1,114 LICENSE.md
02/10/2016  03:15 PM           163,548 MFTRCRD.au3
02/10/2016  03:51 PM         1,222,656 mftrcrd.exe
02/10/2016  03:15 PM           755,712 mftrcrd2.exe
02/10/2016  03:15 PM           792,064 MFTRCRD64.exe
02/10/2016  03:16 PM         1,222,656 MFTRCRDNEW.exe
02/10/2016  03:15 PM           755,712 MFTRCRD_old.exe
02/10/2016  03:47 PM         1,222,656 MFTRCRD_sci.exe
02/10/2016  03:15 PM                 0 readme.txt
              10 File(s)      6,137,635 bytes
               2 Dir(s)   7,346,610,176 bytes free

C:\crp4>mftrcrd.exe

C:\crp4>mftrcrd64.exe

C:\crp4>notepad.exe MFTRCRD.au3

C:\crp4>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4>
C:\crp4>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4>file mftrcrd.exe
mftrcrd.exe; PE32 executable for MS Windows (GUI) Intel 80386 32-bit

C:\crp4>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4

02/10/2016  03:51 PM    <DIR>          .
02/10/2016  03:51 PM    <DIR>          ..
02/10/2016  03:15 PM             1,517 changelog.txt
02/10/2016  03:15 PM             1,114 LICENSE.md
02/10/2016  03:15 PM           163,548 MFTRCRD.au3
02/10/2016  03:51 PM         1,222,656 mftrcrd.exe
02/10/2016  03:15 PM           755,712 mftrcrd2.exe
02/10/2016  03:15 PM           792,064 MFTRCRD64.exe
02/10/2016  03:16 PM         1,222,656 MFTRCRDNEW.exe
02/10/2016  03:15 PM           755,712 MFTRCRD_old.exe
02/10/2016  03:47 PM         1,222,656 MFTRCRD_sci.exe
02/10/2016  03:15 PM                 0 readme.txt
              10 File(s)      6,137,635 bytes
               2 Dir(s)   7,348,428,800 bytes free

C:\crp4>MFTRCRD_sci C?0x100000 -d indxdump=off 4096 -s

C:\crp4>mftr_old.exe C?0x100000 -d indxdump=off 4096 -s
'mftr_old.exe' is not recognized as an internal or external command,
operable program or batch file.

C:\crp4>mftrcrd_old.exe C?0x100000 -d indxdump=off 4096 -s

C:\crp4>md a

C:\crp4>copy mftrcrd.exe
The file cannot be copied onto itself.
        0 file(s) copied.

C:\crp4>copy mftrcrd.exe a
        1 file(s) copied.

C:\crp4>cd a

C:\crp4\a>del mftrcrd.exe

C:\crp4\a>cd ..

C:\crp4>cd a

C:\crp4\a>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:37 PM    <DIR>          .
02/10/2016  04:37 PM    <DIR>          ..
02/10/2016  04:37 PM    <DIR>          MftRcrd-master
               0 File(s)              0 bytes
               3 Dir(s)   7,346,700,288 bytes free

C:\crp4\a>cd MftRcrd-master

C:\crp4\a\MftRcrd-master>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a\MftRcrd-master

02/10/2016  04:37 PM    <DIR>          .
02/10/2016  04:37 PM    <DIR>          ..
02/10/2016  04:37 PM             1,517 changelog.txt
02/10/2016  04:37 PM             1,114 LICENSE.md
02/10/2016  04:37 PM           163,563 MFTRCRD.au3
02/10/2016  04:37 PM           755,712 MFTRCRD.exe
02/10/2016  04:37 PM           792,064 MFTRCRD64.exe
02/10/2016  04:37 PM                 0 readme.txt
               6 File(s)      1,713,970 bytes
               2 Dir(s)   7,346,700,288 bytes free

C:\crp4\a\MftRcrd-master>move * ..\
C:\crp4\a\MftRcrd-master\changelog.txt
C:\crp4\a\MftRcrd-master\LICENSE.md
C:\crp4\a\MftRcrd-master\MFTRCRD.au3
C:\crp4\a\MftRcrd-master\MFTRCRD.exe
C:\crp4\a\MftRcrd-master\MFTRCRD64.exe
C:\crp4\a\MftRcrd-master\readme.txt
        6 file(s) moved.

C:\crp4\a\MftRcrd-master>cd ..

C:\crp4\a>rmdir /s MftRcrd-master
MftRcrd-master, Are you sure (Y/N)? y

C:\crp4\a>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:37 PM    <DIR>          .
02/10/2016  04:37 PM    <DIR>          ..
02/10/2016  04:37 PM             1,517 changelog.txt
02/10/2016  04:37 PM             1,114 LICENSE.md
02/10/2016  04:37 PM           163,563 MFTRCRD.au3
02/10/2016  04:37 PM           755,712 MFTRCRD.exe
02/10/2016  04:37 PM           792,064 MFTRCRD64.exe
02/10/2016  04:37 PM                 0 readme.txt
               6 File(s)      1,713,970 bytes
               2 Dir(s)   7,346,503,680 bytes free

C:\crp4\a>MFTRCRD.exe

C:\crp4\a>copy MFTRCRD.exe mftrcrd_original.exe
        1 file(s) copied.

C:\crp4\a>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:38 PM    <DIR>          .
02/10/2016  04:38 PM    <DIR>          ..
02/10/2016  04:37 PM             1,517 changelog.txt
02/10/2016  04:37 PM             1,114 LICENSE.md
02/10/2016  04:37 PM           163,563 MFTRCRD.au3
02/10/2016  04:37 PM           755,712 MFTRCRD.exe
02/10/2016  04:37 PM           792,064 MFTRCRD64.exe
02/10/2016  04:37 PM           755,712 mftrcrd_original.exe
02/10/2016  04:37 PM                 0 readme.txt
               7 File(s)      2,469,682 bytes
               2 Dir(s)   7,345,741,824 bytes free

C:\crp4\a>"\Program Files (x86)\AutoIt3\SciTE\SciTE.exe"

C:\crp4\a>del mftrcrd.exe

C:\crp4\a>dir mftrcrd.exe
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

File Not Found

C:\crp4\a>:: opened  mftrcrd.au3, done tools..compile
C:\crp4\a>
C:\crp4\a>dir
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:40 PM    <DIR>          .
02/10/2016  04:40 PM    <DIR>          ..
02/10/2016  04:37 PM             1,517 changelog.txt
02/10/2016  04:37 PM             1,114 LICENSE.md
02/10/2016  04:37 PM           163,563 MFTRCRD.au3
02/10/2016  04:40 PM         1,222,656 MFTRCRD.exe
02/10/2016  04:37 PM           792,064 MFTRCRD64.exe
02/10/2016  04:37 PM           755,712 mftrcrd_original.exe
02/10/2016  04:37 PM                 0 readme.txt
               7 File(s)      2,936,626 bytes
               2 Dir(s)   7,345,045,504 bytes free

C:\crp4\a>>MFTRCRD C?0x100000 -d indxdump=off 4096 -s
'C?0x100000' is not recognized as an internal or external command,
operable program or batch file.

C:\crp4\a>MFTRCRD C?0x100000 -d indxdump=off 4096 -s
Access is denied.

C:\crp4\a>head -n 1 mftrcrd.au3
#RequireAdmin

C:\crp4\a>notepad.exe MFTRCRD.au3

C:\crp4\a>:: removed that line
C:\crp4\a>del mftrcrd.exe

C:\crp4\a>dir mftrcrd.exe
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:40 PM         1,222,656 MFTRCRD.exe
               1 File(s)      1,222,656 bytes
               0 Dir(s)   7,345,041,408 bytes free

C:\crp4\a>del mftrcrd.exe
C:\crp4\a\MFTRCRD.exe
Access is denied.

C:\crp4\a>dir mftrcrd.exe
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

File Not Found

C:\crp4\a>:: tools..compile
C:\crp4\a>dir mftrcrd.exe
 Volume in drive C has no label.
 Volume Serial Number is B411-D580

 Directory of C:\crp4\a

02/10/2016  04:43 PM         1,222,656 MFTRCRD.exe
               1 File(s)      1,222,656 bytes
               0 Dir(s)   7,345,041,408 bytes free

C:\crp4\a>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

C:\crp4\a>

added-

removing that #RequireAdmin line and doing `"C:\Program Files (x86)\AutoIt3\Aut2Exe\Aut2exe.exe" /in MFTRCRD.au3 /console` both as Rik suggested, and I reproduce what Rik gets.

1 ответ1

2

Хорошо, чтобы завершить этот вопрос ответом после некоторой диагностики в обсуждении, это краткое изложение.

MFTRCRD64.exe - это расширенный (скомпилированный) скрипт autoit3, который напрямую обращается к жесткому диску. Первая строка в скрипте au3 (см. Загрузку ) - #RequireAdmin . Таким образом, полученный .exe будет требовать повышения прав, что приведет к заданному приглашению.

Следующий вопрос будет, если скрипт может работать без повышения прав (без #RequireAdmin ). После компиляции его как console-exe (что необходимо, в противном случае нет вывода на консоль) в пользовательском режиме появляется сообщение об ошибке Error in function CreateFile for: \\.\C:

Это потому, что скрипт /exe пытается получить доступ к физическому диску. CreateFile('\\.\C') вернет дескриптор, который вы можете использовать в других вызовах API для получения прямого доступа к диску. Однако физический прямой диск разрешен только в том случае, если у вызывающей стороны есть права администратора. Смотрите документацию CreateFile(). Отсюда необходимость #RequireAdmin и последующего запроса UAC.

Вывод из пользовательской консоли (не повышен):

C:\Users\Rik\Downloads\MftRcrd-master\MftRcrd-master>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

Starting MFTRCRD by Joakim Schicht
Version 1.0.0.38

Target offset is: 0x0000000000100000

Filesystem on C: is NTFS
Error in function CreateFile for: \\.\C:

и при повышении:

C:\Users\Rik\Downloads\MftRcrd-master\MftRcrd-master>MFTRCRD C?0x100000 -d indxdump=off 4096 -s

Starting MFTRCRD by Joakim Schicht
Version 1.0.0.38

Target offset is: 0x0000000000100000

Filesystem on C: is NTFS
BytesPerSector:  512
SectorsPerCluster:  8
ReservedSectors:  0
SectorsPerTrack:  63
NumberOfHeads:  255
HiddenSectors:  1028160
TotalSectors:  486442304
LogicalClusterNumberforthefileMFT:  31285383
LogicalClusterNumberforthefileMFTMirr:  874
MFT Record Size: 1024

Found record is not valid:
0000    4d 41 4d 04 a0 dd 00 00  a5 a8 b6 9a 99 b8 aa a9   MAM.............
0010    99 a7 aa aa 99 b7 aa aa  a9 b7 aa aa a9 b7 9a a9   ................
0020    99 97 aa 9a 98 c7 ba bb  89 97 99 99 99 a8 99 8a   ................
etc.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .