Бред

Ответить в тред Ответить в тред
Аноним 27/12/20 Вск 23:39:03 2363633061
sshot-001.png 8Кб, 980x58
980x58
Помогите написать скрипт на питоне.
Суть в том, чтоб изменить значение в файле .dll c 1200 на 1500

Есть код:
import fileinput, string, sys


def replaceLineInFile(fileName, sourceText, replaceText):
file = open(fileName, "rb")
text = file.read()
file.close()
file = open(fileName, "wb")
file.write(text.replace(sourceText, replaceText))
file.close()
print("All went well, the modifications are done")


new_camera_distance_value = bytes(input("Enter new camera distance value:"), encoding="ascii")
replaceLineInFile("client.dll", b'1200', new_camera_distance_value)

Но он меняет все значения 1200 на 1500 а мне надо только чтоб пикрил

Аноним 27/12/20 Вск 23:40:24 2363634162
Если че, это для отдаления камеры в доте. Эта хуйня, которую сделалспиздил и немного изменил я, меняет несколько значений. Все работает, но посох знает за что те другие значения 1200 отвечают
Аноним 27/12/20 Вск 23:41:09 2363634833
Бамп
Аноним 27/12/20 Вск 23:42:28 2363636014
Бамп
Аноним 27/12/20 Вск 23:43:49 2363637175
Я нихуя не понимаю в питоне и в кодинге в целом
Аноним 27/12/20 Вск 23:45:10 2363638446
Что интересно, сколько дотеров долбоебов которые шарят в питоне не могут додуматься это сделать, а вручную ебашат через нотпад++
Аноним 27/12/20 Вск 23:46:22 2363639507
не понял какого хуя у тебя там какие-то символы в тексте отображаются как NUL. Пробелы там или что?
Аноним 27/12/20 Вск 23:47:01 2363640028
Аноним 27/12/20 Вск 23:47:27 2363640459
>>236363306 (OP)
>file = open(fileName, "rb")
>text = file.read()
>file.close()
Зачем ты это делаешь?
Аноним 27/12/20 Вск 23:47:56 23636409410
>>236364002
так бля, скопируй этот кусок текста и меняй не чисто число, а этот кусок текста "чтототам 1200" на "чтототам 1500"
Аноним 27/12/20 Вск 23:49:18 23636422211
>>236363306 (OP)
Регуляркой вытащи то самое место из строки, да и дело с концом
Аноним 27/12/20 Вск 23:49:58 23636430212
>>236364094
Меня эти NULL сбивают. И это "чтототам" через пробел написано. Оно будет работать?
Аноним 27/12/20 Вск 23:50:22 23636433313
>>236364222
Нихуя не понял. Я вообще ноль в питоне
Аноним 27/12/20 Вск 23:51:14 23636440914
1609102271487.webm 1254Кб, 1464x610, 00:00:03
1464x610
Угораю с треда. Продолжайте.
Если бы оп хотел решить свою проблему, спросил бы в питон-треде в /prg
Аноним 27/12/20 Вск 23:51:48 23636444915
>>236364409
Я нигде кроме б никогда не сидел хо-хо-хо
Аноним 27/12/20 Вск 23:52:10 23636447716
Ты кодировку файла не знаешь, и при записи в файл питон поменяет кодировку на стандартную, и игра пошлет этот файл нахуй. Выясни кодировку и потом указывай её при открытии файла
Аноним 27/12/20 Вск 23:52:16 23636448817
>>236364302
ну убери отображение символов и скопируй текст. Сам догадаешься потихоньку как справиться. Пробелы учитывай
Аноним 27/12/20 Вск 23:52:56 23636453718
27/12/20 Вск 23:54:32 23636468519
>>236363306 (OP)
Ну заменяй не b'1200' на b'1500', а b'Maximum visible distance\0\0\0\01200' на 'Maximum visible distance\0\0\0\01500'
Аноним 27/12/20 Вск 23:56:00 23636483520
>>236364685
Щас попробую и отпишусь
Аноним 27/12/20 Вск 23:56:20 23636486721
>>236364685
Говорю же, при записи инфы в файл питон все эти NULL похерит, и игра тупо не сможет его прочитать
Аноним 27/12/20 Вск 23:56:33 23636488422
>>236364685
вот оно как. \0 оказывается там
Аноним 27/12/20 Вск 23:56:51 23636490823
>>236364867
У меня было такое, когда я World of Goo русифицировал
Аноним 27/12/20 Вск 23:57:37 23636497624
>>236364867
Тот код котрый в оппосте работает, но он меняет ВСЕ значения 1200 на 1500, а мне нудо только одно
Аноним 27/12/20 Вск 23:57:59 23636500925
Аноним 28/12/20 Пнд 00:01:23 23636528126
И что мне делать?
28/12/20 Пнд 00:02:17 23636534827
2020-12-2800-01[...].png 13Кб, 723x374
723x374
Аноним 28/12/20 Пнд 00:04:42 23636553428
>>236365348
Ты можешь мне помочь и написать код так, чтоб менялось конкретно значение Maximum visible distance с 1200 на 1500?
Аноним 28/12/20 Пнд 00:05:55 23636562529
ну блять теперь всем двачом будем тебе решать такую задачу тупую. А нахуя это надо?
Аноним 28/12/20 Пнд 00:08:03 23636578230
>>236365625
Чтоб изменять дальность камеры в дота2 за 2 щелчка, без пердолинга с нотпадами и поиском значения. Хочу выложить на форум и поделиться с игроками
Аноним 28/12/20 Пнд 00:09:13 23636587731
1609103350719.mp4 1720Кб, 614x432, 00:00:13
614x432
Аноним 28/12/20 Пнд 00:09:33 23636590232
>>236363306 (OP)
долбоеб, DLL - компилятся, замена значения не поможет
Аноним 28/12/20 Пнд 00:10:01 23636593733
>>236365902
че высрал то ебать, чел не позорься
Аноним 28/12/20 Пнд 00:10:22 23636595634
>>236365782
разве изменения конфиг-файла асинхронно влияет на запущенную игру? при запуске же только скорее всего
Аноним 28/12/20 Пнд 00:10:23 23636595935
re.sub
Аноним 28/12/20 Пнд 00:10:24 23636596136
1609103423477.webm 217Кб, 640x480, 00:00:02
640x480
Аноним 28/12/20 Пнд 00:11:03 23636601137
>>236365937
Не бухти, хорошо пошутил, по-моему.
28/12/20 Пнд 00:11:33 23636603938
>>236363306 (OP)
Обратись по опреденному адресу и замени там где надо,еблан
Ты просто читаешь весь файл
Аноним 28/12/20 Пнд 00:11:35 23636604139
28/12/20 Пнд 00:12:07 23636608140
2020-12-2800-11[...].png 31Кб, 1884x629
1884x629
>>236365534
Да, я наебался там

replace(b'Maximum visible distance\x00\x00\x00\x001200', b'Maximum visible distance\x00\x00\x00\x001500')

Должно работать
Аноним 28/12/20 Пнд 00:12:29 23636610341
>>236365956
Зависит от игры. Некоторые особенно яркие игры вроде Fallout 3-4 читают конфиг тысячи раз.
28/12/20 Пнд 00:12:42 23636611842
>>236366039
Предугадывая вопрос
Чтобы узнать адрес открой дллку в хекс эдиторе
010 editor,например
Аноним 28/12/20 Пнд 00:13:00 23636613343
>>236365956
После любого микроапдейта, который выходит почти каждый день значение сбивается на стандартное 1200
Аноним 28/12/20 Пнд 00:13:45 23636617644
>>236366081
У меня написано в коде replaceLineInfile, а у тебя просто replace
28/12/20 Пнд 00:16:42 23636634345
>>236366176
Это там, где у тебя `text.replace`. Вот у текста надо такой replace позвать. Всю функцию я за тебя писать не буду.
Аноним 28/12/20 Пнд 00:17:17 23636637546
sshot-002.png 9Кб, 1052x79
1052x79
28/12/20 Пнд 00:17:42 23636639747
>>236366176
Ну или зови replaceLineInFile(твой файл, b'Maximum visible distance\x00\x00\x00\x001200', b'Maximum visible distance\x00\x00\x00\x001500')
Аноним 28/12/20 Пнд 00:20:23 23636657848
у меня ещё вопрос такой:
а челы смогут вообще запускать этот питон-скрипт? у них же не установлено скорее всего нихуя для него. или как там всё устроено?
Аноним 28/12/20 Пнд 00:22:06 23636667449
>>236366397
Я не понимаю...
>>236366578
Ну я напишу что надо скачать питон, закинуть файл .py рядом с файлом client.dll и запустить его. Для удобства создать ярлык на раб. столе
Аноним 28/12/20 Пнд 00:22:21 23636669550
>>236366578
Я больше скажу - если игра запущена, то никакую DLL они не заменят. Она должна быть занята в тот момент, как и exe файл.
>>236365956
> влияет на запущенную игру?
28/12/20 Пнд 00:22:34 23636671551
Аноним 28/12/20 Пнд 00:23:33 23636677752
>>236366375
За отдаление камеры бан дают
28/12/20 Пнд 00:23:48 23636679153
>>236366674


def replaceLineInFile(fileName, sourceText, replaceText):
file = open(fileName, "rb")
text = file.read()
file.close()
file = open(fileName, "wb")
file.write(text.replace(sourceText, replaceText))
file.close()
print("All went well, the modifications are done")


new_camera_distance_value = bytes(input("Enter new camera distance value:"), encoding="ascii")
replaceLineInFile("client.dll", b'Maximum visible distance\x00\x00\x00\x001200', b'Maximum visible distance\x00\x00\x00\x00' + new_camera_distance_value)
Аноним 28/12/20 Пнд 00:24:13 23636681954
>>236366674
вот это был бы твой провал.
вот чел тебе подсказал норм - >>236366715
Аноним 28/12/20 Пнд 00:25:27 23636690655
>>236366791
Так как я похуевил файл клиент.длл, запустил проверку целостности файлов игры. Проверит - отпишусь. Заранее спасибо.
Аноним 28/12/20 Пнд 00:27:07 23636701456
>>236366906
ты даже не догадался сохранить первоначальный вариант на всякий случай
Аноним 28/12/20 Пнд 00:28:06 23636706557
>>236366791
А тут же можно будет ввести нужное значение, правильно? Мне например удобно 1500, кому-то другому 1600
Аноним 28/12/20 Пнд 00:29:28 23636708858
28/12/20 Пнд 00:33:45 23636737159
>>236367065
да, можно, но оригинал я бы на твоём месте сохранял как-нить так

import shutil

def replaceLineInFile(...)
...

new_camera_distance = ...
if not os.path.exists('client.dll'):
shutil.copy2('client.dll', 'client.dll.bak')
print('saved original file to client.dll.bak')
...
28/12/20 Пнд 00:34:11 23636739660
>>236367371
> if not os.path.exists('client.dll.bak')
fix
Аноним 28/12/20 Пнд 00:37:14 23636759461
>>236367371
Мне так стыдно настолько тупые вопросы задавать, даже если это анонимно.
Куда дописать это?
28/12/20 Пнд 00:40:53 23636781862
Аноним 28/12/20 Пнд 00:42:10 23636791163
>>236366791
Смотри. Я запустил, написал 1250 к примеру. Запускаю еще раз, оно не менят, т.к. в файле значение 1250, а оно ищет 1200. Как пофиксить?
Аноним 28/12/20 Пнд 00:44:22 23636805464
28/12/20 Пнд 00:45:16 23636810865
Аноним 28/12/20 Пнд 00:47:21 23636822066
Аноним 28/12/20 Пнд 00:50:19 23636840467
>>236366118
не адрес, а смещение относительно ImageBase.
Аноним 28/12/20 Пнд 00:51:42 23636848868
>>236363306 (OP)
Оп, я че то сомневаюсь что вольво не проверяют свои файлы при запуске игры, в лучшем случае файлы заменятся просто при запуске игры, в худшем случае тебе залепят вак.
Аноним 28/12/20 Пнд 00:52:35 23636853669
>>236368488
Не проверяют. Полюзуюсь около 5 лет этим с разных акков
Аноним 28/12/20 Пнд 00:53:15 23636857370
Блядь ору со школьника, который думает, что числа в dll хранятся как строки, пиздец.
ещё и думает, что античит его после этого пропустит
Аноним 28/12/20 Пнд 00:54:58 23636866671
>>236368536
Ебоцка душа и тут они обосрались, хоспаде, ЗА ЧТО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох посох
Аноним 28/12/20 Пнд 00:55:07 23636867572
Аноним 28/12/20 Пнд 00:56:04 23636873073
>>236368573
Он думает внутри длл лежит код на ЯПе.
Аноним 28/12/20 Пнд 00:56:32 23636876174
Аноним 28/12/20 Пнд 01:00:25 23636899475
>>236368761
Нули, видишь сколько Nullов?
Аноним 28/12/20 Пнд 01:01:51 23636908176
>>236368994
Серьезно, ты же вроде шаришь. Какой это формат, можно его в нормальном виде показать, распарсить (без регулярок и т.д)?
Аноним 28/12/20 Пнд 01:06:22 23636930377
1609106782026.jpg 23Кб, 236x198
236x198
>>236369081
> Какой это формат
Бинарный, чувак.
Аноним 28/12/20 Пнд 01:06:57 23636933878
>>236369081
Это машинный код, длл - скомпилированная библиотека. Естественно, данные там в байтовом формате, ты ж сам вызываешь open с 'rb' чтобы в байтах читать. Без регулярок просто заменяешь строку 'Maximum visible distance тут набор байт, которые отображаются как null 1500'
На нужную тебе такую же строку с 1200 на конце. На null вообще похуй - notepad++ просто не понимает что там, так как это не текст. Прочитай что там за байты на самом деле через питон или через шестнадцатиричный редактор открой.
Аноним 28/12/20 Пнд 01:07:38 23636936179
Аноним 28/12/20 Пнд 01:08:22 23636939480
>>236369081
Кстати, расшарь саму библиотеку. Посмотрю, что это.
Аноним 28/12/20 Пнд 01:08:23 23636939581
>>236369338
Как ты узнаешь какой байт отвечаешь за нужную настройку?
Аноним 28/12/20 Пнд 01:10:51 23636952982
>>236369395
В смысле? Если есть название настройки а рядом цифра, которая соответствует значению в игре - скорее всего это она. Если нет, то через какой-нибудь cheat engine буду смотреть память и код. Или экспериментальным путем редактировать дллку - но это такое себе, скорее всего если что-то не то тронуть - то игра просто не запустится.
Аноним 28/12/20 Пнд 01:12:06 23636959883
>>236369395
Алсо, если бы игра была на юнити, то там декомпиляторов куча, но это дота, я смотрю, а я в их движке не шарю.
Аноним 28/12/20 Пнд 01:15:07 23636974684
>>236369394
Ладно, я так понимаю, файла не будет. Аривидерчи.
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов