
А, то есть у тебя быстрее, чем один jmp?

Approximator писал(а):tyomitch писал(а):По сути то же, что и влинковка OBJ-ей в ехешник, только руками.GSerg писал(а):Честно говоря, основную идею кода я не уловил
Так уж и руками? Или подразумевались "VB-руки"? Только не влинковка, а локальная перелинковка. Раз и навсегда, чтобы не городить огород.
Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
GSerg писал(а)::)
А, то есть у тебя быстрее, чем один jmp?
tyomitch писал(а):Approximator писал(а):tyomitch писал(а):По сути то же, что и влинковка OBJ-ей в ехешник, только руками.GSerg писал(а):Честно говоря, основную идею кода я не уловил
Так уж и руками? Или подразумевались "VB-руки"? Только не влинковка, а локальная перелинковка. Раз и навсегда, чтобы не городить огород.
Именно руками править ехе-шник.
И делаю это, разумеется, раз и навсегда. В том и смысл был использовать ActiveX DLL. Далее, остаётся только подключать эту библу и хоть заюзайся.tyomitch писал(а):И не раз и навсегда, а при каждой перекомпиляции.
tyomitch писал(а):Уверяю тебя, влинковывать OBJ-и перехватом вызова link-а гораздо проще и надёжнее, и весь тот огород, что у тебя, городить не придётся.
Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
Ссылки давай, искать лень. Тогда и обсудим.
Approximator писал(а):Не, Тёмыч, ты значит тоже нихрена не понял. Я компилю DLL файл, скидываю кусок кода функции из модуля в файл. Затем другой прогой на VB нахожу этот кусок кода в DLL и меняю.И делаю это, разумеется, раз и навсегда. В том и смысл был использовать ActiveX DLL. Далее, остаётся только подключать эту библу и хоть заюзайся.tyomitch писал(а):И не раз и навсегда, а при каждой перекомпиляции.
[/quote]Approximator писал(а):Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
Ссылки давай, искать лень. Тогда и обсудим.
Скажи честно, что не искать лень, а читать лень. Так в этой теме (но она не единственная, было ещё две) ты был. Вот здесь есть и про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах:
http://bbs.vbstreets.ru/viewtopic.php?t=8818&start=0
tyomitch писал(а):Approximator писал(а):Не, Тёмыч, ты значит тоже нихрена не понял. Я компилю DLL файл, скидываю кусок кода функции из модуля в файл. Затем другой прогой на VB нахожу этот кусок кода в DLL и меняю.И делаю это, разумеется, раз и навсегда. В том и смысл был использовать ActiveX DLL. Далее, остаётся только подключать эту библу и хоть заюзайся.tyomitch писал(а):И не раз и навсегда, а при каждой перекомпиляции.
Я, значит, действительно с первого раза нихрена не понял. Сейчас понял. Ничего себе метод. Но наш (по крайней мере) ничем не хуже.
Чем тебе наш не нравится?
tyomitch писал(а):Approximator писал(а):Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
Ссылки давай, искать лень. Тогда и обсудим.
Скажи честно, что не искать лень, а читать лень. Так в этой теме (но она не единственная, было ещё две) ты был. Вот здесь есть и про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах:
http://bbs.vbstreets.ru/viewtopic.php?t=8818&start=0
"Про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах" есть. А про вызов ассемблерных функций путём всего этого - нет. Так?
Approximator писал(а):GSerg писал(а)::)
А, то есть у тебя быстрее, чем один jmp?
Ну, во-первых, всё-таки не jmp, а call, или я опять не понял того, что вам было нужно?
Approximator писал(а):tyomitch писал(а):Я, значит, действительно с первого раза нихрена не понял. Сейчас понял. Ничего себе метод. Но наш (по крайней мере) ничем не хуже.
Чем тебе наш не нравится?
А ты попробуй эту идею много раз прогнать. В смысле поэксплуатируй этот код (jmp или call из произвольного места в произвольное место с во(и)звратом). Нормально?
Approximator писал(а):tyomitch писал(а):Approximator писал(а):Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
Ссылки давай, искать лень. Тогда и обсудим.
Скажи честно, что не искать лень, а читать лень. Так в этой теме (но она не единственная, было ещё две) ты был. Вот здесь есть и про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах:
http://bbs.vbstreets.ru/viewtopic.php?t=8818&start=0
"Про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах" есть. А про вызов ассемблерных функций путём всего этого - нет. Так?
Ну, всё-таки, наверное, не ассемблерных, а маш. кодовых вставок. Про это я тоже говорил. Хотя и не уточнял, как именно - не было ни вопроса, ни необходимости. Да и я не оспариваю первенство (у GSerg'а на эту тему давно и статья имеется, правда, там всё было очень сыро, как в самом начале этой дискуссии), просто не понял зачем я должен был про это здесь повторять, когда вы оба вроде бы в той теме были. А с GSerg'ом так мы вообще кое-что в привате обсуждали. Несмотря на то, что обсудили мало, но мне это очень помогло определиться с направлением.
Екклесиаст 1:9-11 писал(а):Что было, то и будет; и что делалось, то и будет делаться, и нет ничего нового под солнцем.
Бывает нечто, о чем говорят: 'смотри, вот это новое'; но [это] было уже в веках, бывших прежде нас.
Нет памяти о прежнем; да и о том, что будет, не останется памяти у тех, которые будут после.
GSerg писал(а):Approximator писал(а):GSerg писал(а)::)
А, то есть у тебя быстрее, чем один jmp?
Ну, во-первых, всё-таки не jmp, а call, или я опять не понял того, что вам было нужно?
Нэт
У меня ровно 1 jmp, причём устанавливается он 1 раз, после чего вызывается сколько угодно раз. Имхо, 1 jmp круче 2 call и даже 1 callЭто просто для того, чтобы работало и из IDE, параллельно используется совсем другой, гораздо более медленный способ - но в exe он не попадает
А статья мне тоже давно не нравится![]()
tyomitch писал(а):Approximator писал(а):tyomitch писал(а):Я, значит, действительно с первого раза нихрена не понял. Сейчас понял. Ничего себе метод. Но наш (по крайней мере) ничем не хуже.
Чем тебе наш не нравится?
А ты попробуй эту идею много раз прогнать. В смысле поэксплуатируй этот код (jmp или call из произвольного места в произвольное место с во(и)звратом). Нормально?
Пожалуйста, не надо загадок. Если ты знаешь, чем он хуже, почему бы просто не рассказать об этом?
Именно это твоё стремление поучать, не обучая, я и имел в виду в фразе "Ещё раз, мы все на этом форуме, чтобы учиться."
Approximator писал(а):tyomitch писал(а):Approximator писал(а):Approximator писал(а):Наш метод - без модификации ехешника - существенно круче \m/
Дык, "ваш метод" я давеча ужо обсуждал. А так я предложил функцию, аналогичную CallWindowProc, но быстрее.Не оценили.
Ссылки давай, искать лень. Тогда и обсудим.
Скажи честно, что не искать лень, а читать лень. Так в этой теме (но она не единственная, было ещё две) ты был. Вот здесь есть и про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах:
http://bbs.vbstreets.ru/viewtopic.php?t=8818&start=0
"Про Read/WriteProcessMem и про доступ к сегментам кода в Run-Time и про флаги доступа к сегментам данных/кода в PE-файлах" есть. А про вызов ассемблерных функций путём всего этого - нет. Так?
Ну, всё-таки, наверное, не ассемблерных, а маш. кодовых вставок. Про это я тоже говорил. Хотя и не уточнял, как именно - не было ни вопроса, ни необходимости. Да и я не оспариваю первенство (у GSerg'а на эту тему давно и статья имеется, правда, там всё было очень сыро, как в самом начале этой дискуссии), просто не понял зачем я должен был про это здесь повторять, когда вы оба вроде бы в той теме были. А с GSerg'ом так мы вообще кое-что в привате обсуждали. Несмотря на то, что обсудили мало, но мне это очень помогло определиться с направлением.
Говорил - где? Честно тебе говорю, мне интересно. В том топике, куда ты дал ссылку - нет.
Что вы обсуждали с GSerg-ом в привате, я не знаю. Если мне это важно, расскажи, - а если нет, зачем было упоминать?
А вызов вставок через CallWindowProc тоже была впервые придуман не GSerg-ом, а Оловянниковым, а может - даже и кем-то до него.
GSerg писал(а):Да ёлки
Иди в Трёп, тему сразу увидишь
Иди в Проекты, и там увидишь сразу
GSerg писал(а):Ага, про это
Так вот там в тексте есть ссылка на Треп
GSerg писал(а):Видать
Более того, оно и есть
XPraptor писал(а):Тема была как сдвиг написать, а народ академию развел, хотя сдвинуть в VB можно не медленне чем в C++:
A>>B
A And (2 ^ B)
A<<B
B And (2 ^ A)
XPraptor писал(а):To tyomitch:
Во первых не * а именно And это самая быстрая операция, и в твоем примере в начале топика именно умножение
Debug.Print 1 And (2 ^ 1) '1<<1, должно быть 2, выдаёт 0
Debug.Print 2 And (2 ^ 1) '2>>1, должно быть 1, выдаёт 2
XPraptor писал(а):Ну товарищ tyomitch, ну не нужно же объяснять что это не операция сдвига байта, а операция получения битов самого байта после сдвига.
Сейчас этот форум просматривают: Google-бот и гости: 23