Привет всем, у меня возникла проблема, есть программа, она выводит некоторые данные в подсказке, когда вы наводите курсором на иконку в трее. Эта строка следующего вида: "test0: %s\n test1: %s\n test2: %s\n test3: %s" задача в следующем, нужно что бы программа выводила только часть текста: "test0: %s\n test1: %s" а остальное, что бы не выводила =) я нашел в WinHex'e эту строку и поставил \x00 после нужной части до конца строки, программа, работает отлично, выводит то что нужно но в конце выводит число вида: 00334533243. Я так понимаю что есть какая-то функция типа Format("%..%", ["",..""]), которая подставляет значения в заданный шаблон, и которая добовляет значения которые должны были подставлятся вместо % просто в другом формате, или это просто мусор. Вообщем как можно решить эту проблему, в WinHex'e или в дизассемблере? я в дизассемблировании на 1,5 из 10 но я думаю смогу понять ваши советы Если я что-то не понятно объяснил, спрашивайте, я объясню по подробнее, или сделаю скриншоты
overcranky наверное задача должна свестись к тому, 1) чтобы найти саму строку "test0: %s\n test1: %s\n test2: %s\n test3: %s" и после "test1: %s" поставить 0 (что уже сделано) 2) запомнить адрес этой строки, пусть это будет XYZ и посмотреть, где в программе происходит вызов функции wsprintf там будет такой кусок Код (Text): push param4 <-- заменить на NOP' ы push param3 <-- заменить на NOP' ы push param2 push param1 push offset XYZ push offset buffer call wsprintf add esp,18h <-- заменить на add esp,10h