Gamaz 0 Опубликовано 28 мая, 2021 Недавно увидил как зиливают по 1к картинок в папку CREST и людей ничанаиет критить в гиране как удаляешь папку с 0 создаешь всe ок потом опять приходит читер и снова заливает просит шмот и скилы есть вариант без исходов фиксануть как то? ставил папке права READ а она снова создается удалял также не помогает автоматически появляется можно как то в линуксе заблочить создание этой папки или нет сборка PWSOFT 2018 не убирать же создания клана совсем с сервера Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 28 мая, 2021 либо как-то запретить залив в папку CREST как временное решение у меня Дэбиан8 стоит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1d3x 379 Опубликовано 28 мая, 2021 chmod 444/111 либо писать скрипт для клана который запретит менять логотип для клана в течении 30 минут после последнего раза Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 28 мая, 2021 а кто сталкивался с подобным ? я вот думаю поставить флаг i на папку атрибут или как-то ограничить залив с 1 IP не чаще чем раз в час Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 мая, 2021 Забань запись в папку со значками да и все. Без исходов ниче ты там не сделаешь. Кланам кому надо вручную выстави картинки в эту папку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 28 мая, 2021 страно что все кто смотрит на него улетают в криты а он не улетает сам я думал может есть какие-то багнутые картинки от которых криты идут Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 мая, 2021 1 минуту назад, Gamaz сказал: страно что все кто смотрит на него улетают в криты а он не улетает сам я думал может есть какие-то багнутые картинки от которых криты идут Конечно есть, гугли баг "критуем посонов" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 28 мая, 2021 вот такой кстати крит всегда CreateTexture failed(D3DERR_INVALIDCALL). Texture (Param:USize=16,VSize=1,NumMips=1,FirstMip=0,D3DFormat=827611204,Texture=191130f8 History: FD3DTexture::Cache <- FD3DRenderInterface::CacheTexture <- FD3DRenderInterface::HandleCombinedMaterial <- FD3DRenderInterface::SetSimpleMaterial <- FD3DRenderInterface::SetMaterial <- FCanvasUtil::Flush <- FCanvasUtil::BeginPrimitive <- FCanvasUtil::DrawTile <- UCanvas::DrawNormalText <- UCanvas::DrawTextToCanvas <- FDynamicActor::Render <- Actor <- TranslucentRendering <- RenderLevel <- FLevelSceneNode::Render <- FPlayerSceneNode::Render <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoop Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 28 мая, 2021 (изменено) Ну очевидно же, используют баг "критуем посонов" (Param:USize=16,VSize=1 На сервере фикс элементарный просто обработчик поправить пакета на установку картинки. Изменено 28 мая, 2021 пользователем Rogue Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 29 мая, 2021 это он https://zhyk.ru/forum/showthread.php?t=667410 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 29 мая, 2021 (изменено) 15 минут назад, Gamaz сказал: это он https://zhyk.ru/forum/showthread.php?t=667410 да. Тебе в принципе надо просто проверить байты на конкретных позициях которые приехали, чтобы картинка всегда была 16 на 12, а если данные не такие то скипать такую картинку. Изменено 29 мая, 2021 пользователем Rogue Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gamaz 0 Опубликовано 29 мая, 2021 ну исходы нужны же Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 29 мая, 2021 Ну скилловые ребята могут и на компиле сделать, через декомпил класса. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 29 мая, 2021 (изменено) 1. Декомпилим "RequestSetPledgeCrest", в вашем случае он должен быть гдето в net\sf\l2j\gameserver\network\clientpackets. Либо берем из шареных исходников, подозреваю что врядли будут какието бркейченжи. Вопрос: Как декомпилить? Ответ: гугл с запросом "java decompiller" вам поможет 2. В пакете RequestSetPledgeCrest есть два поля, длинна и собственно говоря байтовый массив с картинкой. Скорее всего все проверки на "валидность" там ограничиваються только проверкой длинны. (что-то вроде if (length == 0 || length >256)) 3. В декомпилированом\взятом из исходников классе можно добавить метод проверки на валидность, какойнибудь bool isValidCrestData(byte[] array) 4. в теле метода разбираем полученый байтовый массив на структуру DDS //buf - обычный байтбуффер из array int magic = buf.getInt(); int size = buf.getInt(); int flags = buf.getInt(); int height = buf.getInt(); int width = buf.getInt(); int pitch = buf.getInt(); int depth = buf.getInt(); int mipMapCount = buf.getInt(); int alphaBitDepth = buf.getInt(); int reserved1 = buf.getInt(); int surface = buf.getInt(); int colorSpaceLowValue = buf.getInt(); int colorSpaceHighValue = buf.getInt(); int destBltColorSpaceLowValue = buf.getInt(); int destBltColorSpaceHighValue = buf.getInt(); int srcOverlayColorSpaceLowValue = buf.getInt(); int srcOverlayColorSpaceHighValue = buf.getInt(); int srcBltColorSpaceLowValue = buf.getInt(); int srcBltColorSpaceHighValue = buf.getInt(); int pfSize = buf.getInt(); int pfFlags = buf.getInt(); int pfFourCC = buf.getInt(); int pfRGBBitCount = buf.getInt(); int pfRBitMask = buf.getInt(); int pfGBitMask = buf.getInt(); int pfBBitMask = buf.getInt(); int pfABitMask = buf.getInt(); int ddsCaps1 = buf.getInt(); int ddsCaps2 = buf.getInt(); int ddsCaps3 = buf.getInt(); int ddsCaps4 = buf.getInt(); int textureStage = buf.getInt(); PS. Имена полей условные, структуру взял из сборки которая попалась под руку. 5. Далее проверяяем на валидность int size = 256; if (magic != 0x20534444) { return false; } if (size != 0x7C) { return false; } if (flags != 0x81007) { return false; } if (height % 4 != 0 || height > 64 || height < 4) { return false; } if (width % 4 != 0 || width > 64 || width < 4) { return false; } if (pfFlags != 0x04 || pfFourCC != 0x31545844 || pfSize != 0x20) { return false; } if (mipMapCount != 0x00) { return false; } if (pitch != (size - 0x80)) { return false; } if (depth != 0x00) { return false; } if (ddsCaps1 != 0x00) { return false; } if (ddsCaps2 != 0x00) { return false; } if (ddsCaps3 != 0x00) { return false; } if (ddsCaps4 != 0x00) { return false; } return true PS. Код для примера и понимания сути, фил фри пилить любые удобные обвертки итд 6. Соотвественно после проверок на длинну ( в пакете) вызываем полученый метод isValidCrestData 7. Компилим класс javac'ом обратно, передав в класспас нужные либы ( подозреваю что скопиленого ядра и какогонибудь mysql адаптера будет достаточно), тут уже нужно смотреть по зависимостям в пакете. Изменено 29 мая, 2021 пользователем lvlkoo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deazer 76 Опубликовано 29 мая, 2021 (изменено) учитывая что isValidCrestData(ибо я его и писал) есть только у меня, автору это ни о чем не скажет..... Ты так выражаешься и описываешь, якобы сам это делал. Стыд и срам, а не сообщение. Изменено 29 мая, 2021 пользователем Deazer Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Infinitys 68 Опубликовано 29 мая, 2021 (изменено) смысл вы ему объясняете когда ему нужно готовое решение, что бы за него кто то сделал)) Изменено 29 мая, 2021 пользователем Infinitys Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 29 мая, 2021 Хех, я думал эту уязвимость уже все давно закрыли - ибо в свое время ее активно юзали. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 29 мая, 2021 56 минут назад, Deazer сказал: учитывая что isValidCrestData(ибо я его и писал) есть только у меня, автору это ни о чем не скажет..... Ты так выражаешься и описываешь, якобы сам это делал. Стыд и срам, а не сообщение. Слушай, к чему этот ликбез? Там вполне понятно написано 1 час назад, lvlkoo сказал: структуру взял из сборки которая попалась под руку. С учётом того, что твой декомпил пошел по рукам ещё до того когда я декомпил и правил купленное у тебя ядро - я абсолютно не исключаю того факта что это твой код, написанный тобой, "позаимствованный" у тебя. К тому же в твоей реализации это смотрится намного лучше (вот прям специально посмотрел). Я готов тебе постоянно повторять, что ты ахуенен как разработчик, но максимально хуевен в альтруизме. Очередной пример - эта тема. Если в пример приводят твой код нужно гордиться, а не плескаться жельчью Я нигде не обмолвился словом что это мой код, твой код, чей-то другой код, это пост попытки помощи человеку. Пожалуйста, задумайся наконец-то над этим. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 29 мая, 2021 (изменено) Кстати выше приведенный код корректно проверит только клановые значки, но не значки альянса и тем более не значки на клановый щит (есть ли они в IL я не помню) Изменено 29 мая, 2021 пользователем Gaikotsu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 29 мая, 2021 1 минуту назад, Gaikotsu сказал: Кстати выше приведенный код корректно проверит только клановые значки, но не значки альянса С уважением скину " код господина дизера" для проверки альянсовых значков. Но он опять оборет всех, разплескивая свою желчь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deazer 76 Опубликовано 29 мая, 2021 (изменено) 1 час назад, lvlkoo сказал: Слушай, к чему этот ликбез? Там вполне понятно написано С учётом того, что твой декомпил пошел по рукам ещё до того когда я декомпил и правил купленное у тебя ядро - я абсолютно не исключаю того факта что это твой код, написанный тобой, "позаимствованный" у тебя. К тому же в твоей реализации это смотрится намного лучше (вот прям специально посмотрел). Я готов тебе постоянно повторять, что ты ахуенен как разработчик, но максимально хуевен в альтруизме. Очередной пример - эта тема. Если в пример приводят твой код нужно гордиться, а не плескаться жельчью Я нигде не обмолвился словом что это мой код, твой код, чей-то другой код, это пост попытки помощи человеку. Пожалуйста, задумайся наконец-то над этим. Пиши код сам! Решайте поступившие тебе задачи самостоятельно. С какой радости я должен вообще заниматься альтруизмом, я что Мать Тереза ? Или Махатма Ганди ? Нет, я бы вообще скосил всех тупых, убогих и больных. И если у кого есть мой декомил 2018 года, пусть качают и смотрят самостоятельно. Я ни тебе и ни кому либо еще не разрешал делиться своим кодом или его частями, а тем более публично. Тебе ясен ликбез или нет ? И Вот мое решение, сидите и переписывайте. Нормальное, с комментариями и так далее PS Весь ТВОЙ альтруизм заключается в том что бы просто скопипастить чужой код и высрать его на форуме, что бы очередной даун у тебя заказал "фиксы" которые ты очередной раз спи*шь и продашь чужой труд. Ты не альтруист, ты клоп. Изменено 29 мая, 2021 пользователем Deazer 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ammy 98 Опубликовано 29 мая, 2021 32 минуты назад, Deazer сказал: я что Мать Тереза ? Или Махатма Ганди ? Нет, я бы вообще скосил всех тупых, убогих и больных. Это эмоции или ты на полном серьёзе ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deazer 76 Опубликовано 29 мая, 2021 5 минут назад, ammy сказал: Это эмоции или ты на полном серьёзе ? Ты уметь в флейм нет ? Я делал громадное кол-во публикаций эксклюзивных абсолютно. Это вроде очевидно. Я постоянно анпакаю патчи, я первый шарил актуальные ПТСки, я делалю кучу гайдов и ничего за это никогда не просил. Нет ни кнопок доната, ни просьб о финансовых поддержках. Я полыхаю от того что мой код или работу люди не имеющие к этому ни какого отношения публикуют и даже не понимая о чем речь буквально, пишут ересь выдавая ее за чистую монету. По поводу больных, убогих и тупых - флейм нет ? Слышал про такое нет ? И еще раз повторюсь, ничего не имею против тупых или кривых или собак или любые карбоновые виды жизни. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ammy 98 Опубликовано 29 мая, 2021 Только что, Deazer сказал: Ты уметь в флейм нет ? Я делал громадное кол-во публикаций эксклюзивных абсолютно. Это вроде очевидно. Я постоянно анпакаю патчи, я первый шарил актуальные ПТСки, я делалю кучу гайдов и ничего за это никогда не просил. Нет ни кнопок доната, ни просьб о финансовых поддержках. Я полыхаю от того что мой код или работу люди не имеющие к этому ни какого отношения публикуют и даже не понимая о чем речь буквально, пишут ересь выдавая ее за чистую монету. По поводу больных, убогих и тупых - флейм нет ? Слышал про такое нет ? И еще раз повторюсь, ничего не имею против тупых или кривых или собак или любые карбоновые виды жизни. Я уже старый ))) Надеюсь будет мир во всём мире, а тебя понять можно так как это твой код, твоя структура и твоё потраченное время. Я думаю что ни кто не форуме не претендует на твоё творение, человек просто на просто любыми путями решил помочь (не согласовал с тобой) что выложит твой код а именно декомпил так как он давно уже на руках, так же кстати и 09.20 года на руках классик + ИЛ на зарубежном форуме, могу ошибаться с датой ревизии (+ как заверят пират сборка отвязана). Надеюсь что все на этом форуме будут соблюдать самообладание. p.s всем бобра Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deazer 76 Опубликовано 29 мая, 2021 Это лишняя инфа, код обфусцирован. Собрать его обратно даже если и получиться, работать с ним будет невозможно. Так что тебя ввели в заблуждение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты