11 Nov 19 20:23, Rinat H. Sadretdinow wrote to Evgeniy:
RHS> Hадо не предполагать, а дизнуть этот tmailnt.exe и посмотреть в RHS> каком случае он выводит эту строку и что конкретно ему не нравится. RHS> А то устроили тут битву экстрасенсов, нострадамусов, бабушек ванг, RHS> чумаков, кашпировских и павлов глоба ;-) Я бы просто загрузил RHS> tmailnt.exe в IDA или в Гидру, нашёл бы что ему не нравится и не RHS> предполагал, а конкретно сказал. Как маленькие, ей-богу!
Как раз ковырнул чутка, поэтому и предложил предполагаемые пути решения :-) Увы, проверить правильность рассуждений возможности нет. Как и нет возможности проверить всё это на Win8. Эта строчка вылезает из-за вызова функции 0x00460014 по адресу 0x004080C2. Внутри этой функции может быть несколько возможных вариантов, по которым она "валится". Внутри неё есть несколько вызовов и по-хорошему надо погружать всё это дело в отладчик, но опять же сделать это нет возможности. Особо интересных моментов сходу не видно, поэтому есть предположение, что всё же проблема внутри функции 0x0045DCDC в месте, где явно указывается сравнение с числом 80 на равенство (!). В случае неравенства - функция завершается с ошибкой. Hе потрошил место, откуда конкретно эти данные берутся (лень считать смещения), но судя по выделению памяти и сравнениям речь идёт о размере консоли от getconsolescreenbufferinfo. Судя по тому, что далее идёт сравнение "меньше или равно" 132, то есть предположение, что в коде "косяк" и с 80 должно сравниваться не на равенство, а на "больше или равно" - тогда код работал бы с консолями 80...132 символа, что было бы логичным. Другое дело, что не неизвестно косяк ли это, али "всё в порядке" (программер специально так сделал?), ибо где-то размер не в 80 столбцов может аукнуться... Итого: если изменение mode поможет, то можно попробовать попатчить: заменить байт 0x74 по смещению 0x5D145 на 0x7D - корректировка сравнения с 80. Если не поможет - надо с отладчиком баловаться в конкретной системе...
С уважением, Evgeniy
--- * Origin: FIDO - передаём данные при помощи собаки с дискетой (2:5023/24.3755)