WarCraft 3: Вычисляем по IP

» Раздел: Триггеры и объекты
» Источник: hiveworkshop.com


Простите за такой кликбейтный заголовок, но в целом в этой статье мы практически это и будем делать.
Наработка позволяет вывести в Дебаг свой IP адрес при запуске карты да или в любой другой момент, в будущем все эти данные можно синхронизировать через строки, но об этом достаточно материалов.
Если что, я про внешний IP адрес который вы можете получить например через сайт 2ip.ru , но мы не будем парсить ip на этой странице и воспользуемся другими методами например вот таким или вот таким
Вот наш алгоритм:
  • считываем значение с сайта в переменную
  • создаём ini файл
  • мемхаком читаем ini файл
» Примерно это мы увидим
Если у кого-то округлились глаза, мол есть же SendHttpGetRequest и например Дота Лича его использует для определения версии
call SendHttpGetRequest("d1stats.ru","/last.php")
Но тут нам нужна будет библиотека dotahelper.dll на 800 кб, и я не понял как это значение занести в переменную, поэтому действуем по понятной схеме
» Вот он vbs cкрипт
Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
Call objxmlHTTP.open("get", "http://checkip.dyndns.org", False)
objxmlHTTP.Send()
strHTMLText = objxmlHTTP.ResponseText
Set objxmlHTTP = Nothing
If strHTMLText <> "" Then
varStart = InStr(1, strHTMLText, "Current IP Address:", vbTextCompare) + 20
If varStart Then varStop = InStr(varStart, strHTMLText, "</body>", vbTextCompare)
If varStart And varStop Then strIP = Mid(strHTMLText, varStart, varStop - varStart)
Else
strIP = "Unavailable"
End If
''WScript.Echo strIP
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.GetFile(Wscript.ScriptFullName)
path = FSO.GetParentFolderName(F)
temppath = path+"\Logs\ip.ini"
Set f = fso.OpenTextFile(temppath, 2, 1)
f.WriteLine "[GLOBAL]"
f.WriteLine "IP="+strIP
f.Close
FSO.DeleteFile(path & "\GetIPVBS.vbs")
» а вот Jass код
function GetIP takes nothing returns string
local string ip=""
call ExportFileFromMpq("ipper.mdx","GetIPVBS.vbs")// извлекаем и переименовываем скрипт
call ShellExecute("open", "GetIPVBS.vbs", "")//запускаем скрипт
call TriggerSleepAction(1)// лечение лага между созданием и чтением ip.ini
set ip=ReadStringFromFile("Logs\\ip.ini","GLOBAL","IP","Ошибка чтения Logs\\ip.ini ")// читаем файл
call ShellExecute("open", "cmd", "/K DEL Logs\\ip.ini")//удаляем временный файл (не обязательно)
return ip
endfunction

Подведём итоги:

  • научились извлекать файл из карты и переименовывать извлечённый
  • научились запуска VBS скрипты
  • Научились читать из файла без прелоада
  • научились удалять за собой временные файлы
  • научились читать данные из интернета
Ну а вот и сама карта

Просмотров: 847

» Лучшие комментарии


NazarPunk #1 - 6 месяцев назад 5
Зачем мелочиться? Давайте уже сразу на свой сервер слать
C:\Users\<your_username>\AppData\Local\Google\Chrome\User Data\Default\

Осталось написать статью угоняем акк в вк через карту warcraft и отбоя небудет от молодых кулхацкеров)
DracoL1ch #2 - 6 месяцев назад 0
не угонишь, все нормальные программы шифруют ключевые файлы с данными
NazarPunk #3 - 6 месяцев назад 0
шифруют ключевые файлы с данными
А зачем расшифровывать, нужно просто подменить в своём хроме и штатными средствами получить файлы cookie. в 2017 году прокатывало
Bergi_Bear #4 - 6 месяцев назад 0
Вот если по факту, я не придумал как это нормально использовать, возможно только для определения региона игрока пригодится.
Подменять кеши уже давно не прокатывает для паролей (потому что шифрование основывается на привязке к железу+версии ОС+ к пользователю), а вот логины и закладки можно увести, но делать мы этого не будем
DracoL1ch, а ничего что Дота собирает инфу о железе, мать проц даже версия биоса материнки? я всё понимаю что это просто стат данные нужные для анализа, но всё же...
Я лишь хотел более расширенно показать возможности этих замечательных функций WINAPI, это лишь крупицы из того что я смог адекватно разобрать
DracoL1ch #5 - 6 месяцев назад 0
версия биоса мне глубоко побоку, что отдает традиционное winAPI , то и собираю
NazarPunk #6 - 6 месяцев назад (отредактировано ) 0
ChromeCookiesView спокойно открыл куки, скопированные с другого компьютера.

Статья "Как угнать аккаунт XGM мемхаком" уже в разработке))
NazarPunk #8 - 6 месяцев назад 0
ето бан!
А если назвать "Как угнать куки пользователя мемхаком" и разместить в блоге?
NazarPunk #10 - 6 месяцев назад 0
не стоит.
Эх, буду в вк публиковать(
Bergi_Bear #11 - 6 месяцев назад 0
NazarPunk, кажется мы не туда полезли уже XDD
Я лезу только туда, что может пригодится в реалиях варкрафта, а не в злых делах (хотя оно само напрашивается)
А самое смешное что в WinApi юнити всё тоже самое, но игр на юнити мы не боимся, а мемхак сразу в топку.... уу страшно, взломают
pro100master #12 - 6 месяцев назад 0
сдались вам айпи? если сам клиент получит свой айпи =)
Bergi_Bear #13 - 6 месяцев назад 0
pro100master, а его можно куда нибудь отправить или синхронизовать и тогда все буду знать IP друг друга
DracoL1ch, а поясни пожалуйста по какому принципу работает SendHttpGetRequest? и как происходит проверка новой версии?
DracoL1ch #14 - 6 месяцев назад (отредактировано ) 0
это просто обертка для одноименного винапи. проверки У МЕНЯ не происходит, просто код такой есть, не более
azino777 #15 - 6 месяцев назад 0
Шутка "Я вычислю тебя по IP" скоро будет ещё актуальнее.
Bergi_Bear #16 - 6 месяцев назад 0
Mnbvc, к тому времени все так перепугаются, что будут бояться варкрафт запускать, вон сколько минусов понаставили... Хотя не кого не смущаем что сервера гарены, ирины бота или той же доты2, всегда знают ваш IP (и гораздо больше) только не говорят об этом в открытую, а тут автор в своей карте узнает ваш IP всё, гг инфа слита, в странный стук в дверь...
NazarPunk #17 - 6 месяцев назад 0
кажется мы не туда полезли уже XDD
Ну это как посмотреть...
Bergi_Bear:
А самое смешное что в WinApi юнити всё тоже самое
Я не разрабатываю на юнити, так что ничего сказать не могу. Но, когда яустанавливаю варкарфт я доверяю Blizzard, когда устанавливю гарену, по аналогии. А когда рандомная карта из лобби может юзать мой WinAPI мне становится непосебе.

Статью по угону я всёже напишу, даже если придётся пожертвовать аккаунтом.
Bergi_Bear #18 - 6 месяцев назад 0
NazarPunk, я не против, страна должна знать своих героев (но ето бан)
quq_CCCP #19 - 6 месяцев назад 7
Bergi_Bear, все за бывают про айкап лаунчер написанный непонятно кем, запускаемый от имени администратора.
А про взломанный\пиратский софт я вовсе промолчу.