Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Требуется помощь с кодом С+


Рекомендуемые сообщения

Доброго времени суток.

Собираю кейлоггер вот по этой ссылки http://www.steelrats.net/articles.php?article_id=177

Суть проблемы в том что прошивки которые там есть работают в цикле, а мне хотелось бы что бы она просто записывала память до заполнения и останавливалась.

Так как в программировании я соображаю очень туго, прошу помочь разобраться.

Заранее извиняюсь, если пишу не в той теме. Просто не нашел более подходящей.

Исходный код

[hide][/hide]

Ссылка на комментарий
Поделиться на другие сайты

попробуй вот это

if(++eeprom_end == EEPROM_SIZE) eeprom_end=0;
if(eeprom_end==eeprom_start)
  if(++eeprom_start == EEPROM_SIZE) eeprom_start=0;

закомментить

 

или это

 

if(++eeprom_end == EEPROM_SIZE) eeprom_end=0;
if(eeprom_end==eeprom_start)
  if(++eeprom_start == EEPROM_SIZE) eeprom_start=0;

if(++count==WRITE_PERIOD)
{
  save_pointers();
  count=0;
}

 

замени на

 if ((++eeprom_end != EEPROM_SIZE) && (++eeprom_start != EEPROM_SIZE))
 {

if(++count==WRITE_PERIOD)
{
	save_pointers();
	count=0;
}
 }

Изменено пользователем kamtos
  • Like 1

Ушел в подполье

Ссылка на комментарий
Поделиться на другие сайты

Проблема, номер 2...

Изменил, думал откомпилирую, но так и не понял как копилировать :ak:

Перекачал кучу программ , так ничего и не получилось.

Ссылка на комментарий
Поделиться на другие сайты

bboyshock, visual studio скачал и поставил, но так и не разобрался как откомпилировать. :)

Ссылка на комментарий
Поделиться на другие сайты

lestat, в папке с кодом программы создай ещё две папки - avr и util. В них закинь библиотеки которые ты описал в начале кода. А чтобы их найти, я думаю нужен не обычный компилятор, как студия, а именно авровский какой нибудь. Какой именно, не скажу, так как не сталкивался :) в итоге ты должен получить hex-файл, который и будет необходимо загрузить в контроллер.

  • Like 1

Обожаю свою жену Анюточку! =)

Ссылка на комментарий
Поделиться на другие сайты

bboyshock, visual studio скачал и поставил, но так и не разобрался как откомпилировать. :)

ну я не программист, так немного занимался, в основном консольные приложения.

Сначала создавал проект в студии, в файл вставляешь свой код и потом компилировал. По памяти уже не помню как менюшка называлась... Если в гугле порыться - думаю найдешь ответ.

Ссылка на комментарий
Поделиться на другие сайты

Всем спасибо за советы! :) Осилил компиляцию.

Помогло AVRStudio + WinAWR. В понедельник зашью, проверю. :)

Ссылка на комментарий
Поделиться на другие сайты

  • 4 года спустя...

Тоже возникли вот некоторые чайниковские вопросы при переносе из асма в с.

 

На асме была простая и эффективная конструкция:

 

table1:

msg1 dword 0, offset text1a, offset text1b, offset text1c

msg2 dword 0, offset text2a, offset text2b, offset text2c

msg3 dword 0, offset text3a, offset text3b, offset text3c

dword -1 ; маркер конца таблицы

test1a db "qwert",0

test1b db "asdfg",0

test1c db "zxcvb",0

 

;

; вход: eax = 1…3

;

shl eax, 2 ; умножение на 4

lea esi, table1

loop1:

cmp [esi], -1

je end_loop

mov edx, [esi+eax]

mov [esi], edx

add esi, 4*4 ; переход к следующей строке таблицы

jmp loop1

end_loop:

 

invoke MessageBox(0, offset msg1, 0, 0)

invoke MessageBox(0, offset msg2, 0, 0)

invoke MessageBox(0, offset msg3, 0, 0)

 

 

Как подобное реализуется на C ?

Представляю что надо структуры, объявлять там нужные типы данных… Но как именно?

Нужен какой-то патч на C3322i, C3322, C3592, B5722, S5610, E1080, E1081, и прочие Swift/Infineon ? Обращайтесь в ЛС или E.F2065@gmail.com

Ссылка на комментарий
Поделиться на другие сайты

Имхо, проблема в том, что ты изначально "думаешь на ассемблере" и переводить асм на си - лишняя ненужная работа и лишь создание для себя проблем и неудобств, которые в дальнейшем еще создатут кучу проблем.

Правильное решение в данном случае - с самого начала проектировать программу "на си", не задумываясь при этом (от слова вообще) о том, как будет выглядеть этот код на ассемблере. Для "прожженного" ассемблерщика это будет трудно, но это надо сделать. Именно для этого и были придуманы языки высокого уровня.

Что касается данного кода - скорее всего в сях и прочих эти таблицы вообще не понадобятся, просто будет обычный массив, но, пардон, сильно не вникал.

Но это сугубо мое мнение - неспециалиста.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Имхо, проблема в том, что ты изначально "думаешь на ассемблере" и переводить асм на си - лишняя ненужная работа и лишь создание для себя проблем и неудобств, которые в дальнейшем еще создатут кучу проблем.

Правильное решение в данном случае - с самого начала проектировать программу "на си", не задумываясь при этом (от слова вообще) о том, как будет выглядеть этот код на ассемблере. Для "прожженного" ассемблерщика это будет трудно, но это надо сделать. Именно для этого и были придуманы языки высокого уровня.

Что касается данного кода - скорее всего в сях и прочих эти таблицы вообще не понадобятся, просто будет обычный массив, но, пардон, сильно не вникал.

Но это сугубо мое мнение - неспециалиста.

 

прожженый ассемблерщик и без си порой может обойтись или использовать эти языки параллельно, переносить с асма на си по моему не нужно

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...