Студентам с вопросами о лабораторных работах сюда

Тема в разделе "WASM.BEGINNERS", создана пользователем IceStudent, 11 ноя 2006.

  1. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Batman
    Ты хоть переписывай у товарищей правильно и без ошибок!!!
    Не так
    byte prt
    А так, как тебе сказали
    byte ptr

    Ты так никогда думать не научишься :-(((

    Пока я нравоучениями занимался, меня уже опередили.
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    sharl
    видимо не то чтото делаешь ведь. вообще 1 символ лучше считать посредством
    Код (Text):
    1. xor ax,ax
    2. int 16h
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.546
    Адрес:
    Russia
    Batman
    Зачем сказали ему ?? Я ведь думал он сам догадается, не будет копипастить....
     
  4. sharl

    sharl Eugene

    Публикаций:
    0
    Регистрация:
    2 дек 2006
    Сообщения:
    7
    Адрес:
    Астрал
    Есть вопрос.
    Как распознать было ли нажато сочетание Ctrl+Break и после этого продолжить работу с определенной метки?
     
  5. Pinkbyte

    Pinkbyte Member

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    106
    Где распознать? В DOS'e?
     
  6. sharl

    sharl Eugene

    Публикаций:
    0
    Регистрация:
    2 дек 2006
    Сообщения:
    7
    Адрес:
    Астрал
    Pinkbyte
    да
     
  7. sharl

    sharl Eugene

    Публикаций:
    0
    Регистрация:
    2 дек 2006
    Сообщения:
    7
    Адрес:
    Астрал
    Я как понял можно это сделать с помощью 25h функции. Но как именно. Можете показать пример?
     
  8. Batman

    Batman New Member

    Публикаций:
    0
    Регистрация:
    7 дек 2006
    Сообщения:
    6
    Код (Text):
    1. MOV     AH,byte ptr [BX]      ;Символ из NAMEFLD +
    2.     CMP     AH,5AH       ;СТРОЧНАЯ
    3.     JL      PREOBR_ZAG    
    4.     CMP AH,61H       ;ПРОПИСНАЯ
    5.     JG  PREOBR_STR
    вот как у меня) я не совсем тупой, если вы так думаете - читать умею) и все равно не работает
     
  9. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Batman
    Да, тебя тут явно недооценивают ;) А вот "читать" ты как раз и не умеешь - вводишь строку в DX=buffer, а читать пытаешься нули из неинициализированного BX=NAMEFLD, да еще CX=offset blength ?! Бессмыслица какая-то
    "Ты все пела, это дело, так пойди же послужи" (С) Стрекозел и мурабей ;))
     
  10. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    Hi all
    Подскажите плз что у меня не так(курсач горит). Секцию добавляет, код дописывает, но винда обработаный вот этим экзешник не хочет признавать валидным =(
    Код (Text):
    1. int __stdcall AddSection(LPVOID lpMapping, DWORD size, LPVOID pCode)
    2. {
    3.     DWORD virtualSize                       = 0; //размер добавляемого кода выравненый на SectionAlignment
    4.     DWORD physicalSize                      = 0; //размер добавлямгого кода выравненый на File Align
    5.     DWORD maxRVA                            = 0;
    6.     DWORD maxPhysOffset                     = 0;
    7.     IMAGE_NT_HEADERS *imgNT                 = NULL;
    8.     IMAGE_SECTION_HEADER *newSection        = NULL;
    9.     IMAGE_SECTION_HEADER *sections          = NULL;
    10.     IMAGE_SECTION_HEADER *lastPhysSection   = NULL;
    11.     IMAGE_SECTION_HEADER *lastVirtSection   = NULL;
    12.     PMEMORY_BASIC_INFORMATION lpBuffer      = NULL;
    13.     LPVOID  newFile                         = NULL;
    14.  
    15.     //getting pointer to pe-header
    16.     imgNT = (IMAGE_NT_HEADERS*)((LPVOID)((DWORD)lpMapping + ((IMAGE_DOS_HEADER*)lpMapping)->e_lfanew));
    17.     //calculation aligened virtual and physical size
    18.     virtualSize  = (size + (imgNT->OptionalHeader.SectionAlignment - 1))&(~(imgNT->OptionalHeader.SectionAlignment - 1));
    19.     physicalSize = (size + (imgNT->OptionalHeader.FileAlignment - 1))&(~(imgNT->OptionalHeader.FileAlignment - 1));
    20.     //getting pointer to object table
    21.     sections = (IMAGE_SECTION_HEADER*)((DWORD)imgNT + imgNT->FileHeader.SizeOfOptionalHeader + 0x18);
    22.     //getting pointer to last section
    23.     newSection = sections + imgNT->FileHeader.NumberOfSections;
    24.     newSection->Misc.VirtualSize = virtualSize;
    25.     newSection->SizeOfRawData   = physicalSize;
    26.     newSection->Characteristics = IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE;
    27.     lstrcpy((LPSTR)newSection->Name, ".pass");
    28.     for (int i = 0; i < imgNT->FileHeader.NumberOfSections; i++)
    29.     {
    30.         if (sections->VirtualAddress > maxRVA)
    31.         {
    32.             maxRVA = sections->VirtualAddress;
    33.             lastVirtSection = sections;
    34.         }
    35.         if (sections->PointerToRawData > maxPhysOffset)
    36.         {
    37.             maxPhysOffset = sections->PointerToRawData;
    38.             lastPhysSection = sections;
    39.         }
    40.         sections++;
    41.     }
    42.     newSection->VirtualAddress  = maxRVA + lastVirtSection->Misc.VirtualSize;
    43.     newSection->PointerToRawData = maxPhysOffset + lastPhysSection->SizeOfRawData;
    44.     imgNT->OptionalHeader.SizeOfImage = newSection->VirtualAddress + virtualSize;
    45.     imgNT->FileHeader.NumberOfSections++;
    46.     memcpy((LPVOID)((DWORD)lpMapping + newSection->PointerToRawData), pCode, size);
    47.     imgNT->OptionalHeader.AddressOfEntryPoint = newSection->VirtualAddress;
    48.     return 0;
    49. }
     
  11. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Код (Text):
    1. newSection = sections + imgNT->FileHeader.NumberOfSections;
    не надо imgNT->FileHeader.NumberOfSections умножить на размер IMAGE_SECTION_HEADER?
     
  12. bip

    bip New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2006
    Сообщения:
    1
    Ребят помогите решить задачку на С++, надо упорядочит массив методом подсчёта-это её условие.
    срочно надо!
    icq: 205662280
     
  13. EP_X0FF

    EP_X0FF New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2006
    Сообщения:
    450
    А поискать в гугле не пробовал? ;)
     
  14. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    nobodyzzz
    Возможно здесь, если lastVirtSection->Misc.VirtualSize не выровнен

    Лучьше выложи какой нибудь файл обработанный и его оригинал, или скрин окна compare от PeTools
     
  15. aler

    aler New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    2
    Тема курсовика такая: Приём данных через COM-порт. Естественно, жутко неоходима прога на асме, которая это осуществляет. Сам в асме не очень, был бы очень благодарен за комментарии. Заранее спасибо.
     
  16. atorn

    atorn New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    64
    А так не сработает?

    comport db "COM1",0
    LOCAL buffer[32]:byte

    invoke CreateFile,addr comport,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0
    invoke ReadFile,eax,addr buffer,dd,32,0
     
  17. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    FreeManCPM
    нет не надо ибо компилятор сделал это заменя(типа прелести HLL=))
    asd
    Да проблема была именно в этом. Большое спасибо
     
  18. IgrOk100

    IgrOk100 New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    4
    Подскажите пожалуйста тему для дипломной работы по направлению компьютерной безопасности, сетевого или системного программирования
     
  19. aler

    aler New Member

    Публикаций:
    0
    Регистрация:
    14 дек 2006
    Сообщения:
    2
    atorn
    нет, там всё гораздо объёмнее должно быть
     
  20. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    IgrOk100
    Тебе уже насоветовали кучу приличных идей. Видимо, ты считаешь, что если ответ на вопрос не устраивает, то нужно повторить вопрос.