Assembler>VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
gwest
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.03.2006 (Вт) 13:10

Assembler>VB

Сообщение gwest » 09.03.2006 (Чт) 12:07

Здрасте!
Не подскажите как в готовый код на VB вставить кусок кода на асме.
:?
Если играть трезвым глюков становится меньше =)

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.03.2006 (Чт) 12:07

в чистом виде никак

gwest
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.03.2006 (Вт) 13:10

Сообщение gwest » 09.03.2006 (Чт) 12:13

Sirik писал(а):в чистом виде никак

:shock: я не спрашивал как нельзя...
Если играть трезвым глюков становится меньше =)

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.03.2006 (Чт) 12:33

с таким кол. постов и в таком форуме - не задают такие вопросы

gwest
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.03.2006 (Вт) 13:10

Сообщение gwest » 09.03.2006 (Чт) 12:37

Ладно.. Где тогда?
Если играть трезвым глюков становится меньше =)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2006 (Чт) 12:41

Изображение

gwest
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.03.2006 (Вт) 13:10

Сообщение gwest » 09.03.2006 (Чт) 12:53

Сенк!
А есть другие методы?
Если играть трезвым глюков становится меньше =)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 12:59

Писать на другом языке.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2006 (Чт) 13:10

Ещё, говорят, мазохисты-затейники умудряются влинковывать в VB-шные программы сассемблированные отдельно obj-и... :roll: :roll:
Изображение

gwest
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.03.2006 (Вт) 13:10

Сообщение gwest » 09.03.2006 (Чт) 13:20

Весма разумный ход, стоит попробовать :D .
Если играть трезвым глюков становится меньше =)

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 09.03.2006 (Чт) 15:12

gwest
Маленькое пояснение:
Надо прототипы функций(читай - пустышки с нужным кол-вом параметров) в отдельном модуле положить, потом после компиляции, но до линковки подменить obj этого модуля. Также отн. пути к lib файлам в includelib надо преобразовать в абсолютные, а то VB-шный линкер не поймёт. По крайнеё мере я делал так. Даже работало.
Изображение

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 09.03.2006 (Чт) 18:40

Вот например парачка методов:
1.Берём пишем то что надо на asm и компилируем. Затем получившийся бинарный файл переводим в HEX (как то не кудышно выразился). Пихаем получившийся HEX в константу к примеру. Затем во время выполнения программы сохраняем этот HEX во временный файл, тока в бинарном виде. Запускаем. Порабатали... Вырубаем. После удаляем временный файл.
2.Дописать компилированную на asm прогу в конец нашей проги. Затем во время работу проги с помощью GET и PUT
опять же во временный файл. И опять же юзать... А после удалить.
3.Взять прогу на asm записать в каталог вместе с нашей прогой и поменять расширение + поменять пару байт, чтоб нельзя было запустить просто переименовав. А при работе нашей проге, устанавливать правильные байты в проге на asm, переименовать и юзать. А затем всё обратно.
4.Ну и самый простой способ пихнуть в ресурс.
Вот парачка методов. Причём это не предел... Можно и ещё чего-нить намутить.
ЗЫ я б юзал либо первый либо последний (но первый мне больше нравится :) )

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.03.2006 (Чт) 18:43

Мда... Тяжелый случай.
Lasciate ogni speranza, voi ch'entrate.

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 09.03.2006 (Чт) 18:47

А что не так alibek? Яж не заставляю этими идеями пользоваться, а тока предлогаю. :D

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.03.2006 (Чт) 18:51

Можешь мне объяснить, зачем переводить в Hex-дамп?
Lasciate ogni speranza, voi ch'entrate.

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 09.03.2006 (Чт) 18:59

:D Эта один из методов. Мы будем хранить всё в hex виде а потом из самой проги создавать бинарник. :) Ну не знаю, предложи свои идеи. :) А в чём ты хотел хранить? Если не в HEX?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.03.2006 (Чт) 19:01

Dex
Если уж говоришь глупости, то хоть не нумеруй их...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2006 (Чт) 19:05

Dex писал(а)::D Эта один из методов. Мы будем хранить всё в hex виде а потом из самой проги создавать бинарник. :) Ну не знаю, предложи свои идеи. :) А в чём ты хотел хранить? Если не в HEX?

Могу предложить на выбор binhex, base64 и uue ;-)
:lol: :lol: :lol:
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.03.2006 (Чт) 19:07

Хе. Писать на ассемблере машин ЕС (который на кириллице), в кодировке EBCDIC. Вот круто наверное будет.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.03.2006 (Чт) 19:17

лол, EBCDIC жжот :twisted:

http://www.rsdn.ru/Forum/Info.aspx?name ... rkin.part4
Так я впервые узнал о кодировке. Называлась она EBCDIC, в отечественном варианте ДКОИ-8 в нее добавили русские буквы. Тому, кто их туда добавил, надо бы при жизни памятник поставить, настолько простое и элегантное решение он нашел. Тем русским буквам, которые не имеют аналогичных по начертанию латинских (Б,Ц,И...) были присвоены свои коды. Что же касается тех букв, у которых есть аналогичная по начертанию латинская (А,М,Р) — решили просто — и так сойдет, зачем еще какие-то коды им добавлять ? Таким образом, были буквы русские, латинские и русско-латинские — универсальные, так сказать :-). Хочешь — думай. что это русская "В" (ве), а хочешь — что латинская "B" (бэ).

Как в таких условиях люди писали программы обработки текста — для меня до стх пор загадка. Я их не писал, а занимался расчетами, поэтому максимум, что мне требовалось — уметь выводить на печать текстовые строки. Это труда не составляло, а посему ДКОИ-8 никаких возражений у меня не вызывала.

Пришла пора пересесть на СМ ЭВМ. Здесь, слава богу, ДКОИ-8 не было. Здесь я познакомился с КОИ-7, и нельзя сказать, что это знакомство не оказало влияния на мою психику :-).
Изображение

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 09.03.2006 (Чт) 19:31

Уважаемый GSerg если ты говоришь что мои слова глупости, то ты подрузамиваешь что я сам глупец. А ведь не далеко до конфликта. :wink: Всё таки оскорблений, даже в подтексте не надо. Я предложил, не нравится не используй. Я предложил те методы которыми сам бы пользовался, для меня это удобный вариант, так как я не такой умный как некоторые, а человек задавший вопрос, я думаю где то моего уровня.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.03.2006 (Пт) 5:52

Уважаемый Dex, не надо делать выводов по социалистическому принципу "Сегодня он играет джаз, а завтра Родину продаст". Если очень хочется, можно поискать слова "глупость" и "бред" за авторством меня, alibek'а и tyomitch'а, и убедиться, что в случаях, когда представленный материал заслуживает именно такой оценки, мы её даём. А "за личностный идиотизм" - это совсем другая статья правил форума, не надо путать тёплое с мягким...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 10.03.2006 (Пт) 10:50

Не объяснили человеку...
Dex
То-что ты предложил, ИХМО, -глупость. Ну допустим есть у тебя скомпилированный и слинкованный код. Запустив его из своего ап, ты получишь ошибку. Почему? Да потому, что адреса импортируемых функций там, где думает твой код не лежат=>работать он не будет. Запускать бинарник в своём АП можно, только ты должен выполнить роль загрузчика, да и то, если есть секция .reloc . На форуме были способы, но там использовался не EXE и даже не OBJ, там был переведённый из мнемоники код, с которым проблем очень много. Из надёжных способов, позволяющих использовать полноценную программу на асме - писать DLL или прилинковывать OBJ(что как правильно высказал tyomitch для мазохистов-затейников).
Изображение

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 10.03.2006 (Пт) 11:33

Ну допустим есть у тебя скомпилированный и слинкованный код. Запустив его из своего ап, ты получишь ошибку. Почему?
Действительно, почему? Написанный на АСМе код будет прекрасно работать, если предварительно почитать это.
А я все практикую лечение травами...

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 10.03.2006 (Пт) 11:35

Это хакерский метод, антивирь со своей эвристикой может подумать, что что-то не так. А статью я месяца 2 назад читал.
Изображение

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 10.03.2006 (Пт) 13:17

Уважаемые ALL мой метод прекрасно работает и его юзаю, если у вас что не вышло, то это не значит что это сразу глупость, не работает и для идиотов (типа для меня).

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 10.03.2006 (Пт) 13:23

Кстате спасибо Twister тебе за ссылку. Там оказалась очень нужная мне инфа. ещё раз спасиба :)

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 10.03.2006 (Пт) 13:25

мой метод прекрасно работает и его юзаю
Насколько я понимаю, твой метод - это вшить готовый ЕХЕ в прогу и запустить его. Это конечно будет работать.
А теперь тебе, многоуважаемый Dex, простенькая задачка, которую ты должен решить своим методом: измени значение регистра EAX. Как ты вскоре поймешь, осуществить это можно лишь методом tyomitch-а.
Последний раз редактировалось Twister 10.03.2006 (Пт) 13:30, всего редактировалось 1 раз.
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 10.03.2006 (Пт) 13:29

Dex писал(а):Кстате спасибо Twister тебе за ссылку. Там оказалась очень нужная мне инфа. ещё раз спасиба :)
Да не за что. Просто мне кажется раз уж ты каким-то боком касаешься АСМа, то без этого сайтатебе будет туговато. Так же туговато будет и изучать VB без VBStreets.
А я все практикую лечение травами...

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 10.03.2006 (Пт) 13:35

Да Twister ты прав что просто так изменить регистр у меня не получится. Но что мне мешает юзать командную строку? Я буду запускать прогу на asm с заданными ключами, а та в свою очередь будет обрабатывать мои команды, делать что надо и выводить результат. Ведь так же можно?

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56

    TopList