MessageBox without import

Тема в разделе "WASM.X64", создана пользователем Mikl___, 5 фев 2025.

  1. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    288
    не знаю, но у меня RIP=0 на входе и сразу падает:
    Код (Text):
    1. 0:000> g
    2. (1cf0.117c): Access violation - code c0000005 (first chance)
    3. 00000000`00000000 ??              ???
    4.  
    5. 0:000> r
    6. rax=00000000c0000135 rbx=0000000000000076 rcx=0000000000000000
    7. rdx=0000000000400309 rsi=00000000772b9c1e rdi=000000000000070e
    8. rip=0000000000000000 rsp=000000000013fef8 rbp=000000000013ff50
    9. r8=0000000000400317  r9=0000000000000000 r10=0000000000000000
    10. r11=000000000013fe72 r12=00000000772b4358 r13=00000000772b6264
    11. r14=00000000771a0000 r15=0000000000000000
    12. iopl=0         nv up ei pl zr na po nc
    13. cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
    14.  
    Может у тебя обновы не установлены или ещё чё..
    Более того, если стек не выровнен на 16-байт границу, у меня падает любой софт (который я сам пишу) при вызове апи, а у тебя как-раз RSP=13fef8. Ну кратность размеров секции вроде отрабатывало раньше у меня норм, хотя у тебя стоят 10:10 байт в пе-хидере:
    Код (Text):
    1. 0:000> !dh image00000000`00400000
    2.  
    3. File Type: EXECUTABLE IMAGE
    4. FILE HEADER VALUES
    5.     8664 machine (X64)
    6.        1 number of sections
    7. 67BD0A50 time date stamp Tue Feb 25 05:09:52 2025
    8.  
    9.        0 file pointer to symbol table
    10.        0 number of symbols
    11.       F0 size of optional header
    12.        3 characteristics
    13.             Relocations stripped
    14.             Executable
    15.  
    16. OPTIONAL HEADER VALUES
    17.      20B magic #
    18.    14.40 linker version
    19.      180 size of code
    20.        0 size of initialized data
    21.        0 size of uninitialized data
    22.      1E0 address of entry point
    23.      1C0 base of code
    24.          ----- new -----
    25. 0000000000400000 image base
    26.       10 section alignment      <------+-------//
    27.       10 file alignment         <------+
    28.        2 subsystem (Windows GUI)
    29.     6.00 operating system version
    30.     0.00 image version
    31.     6.00 subsystem version
    32.      340 size of image
    33.      1C0 size of headers
    34.        0 checksum    <------------- На эту хрень тоже ругается WinDbg
    35. 0000000000100000 size of stack reserve
    36. 0000000000001000 size of stack commit
    37. 0000000000100000 size of heap reserve
    38. 0000000000001000 size of heap commit
    39.     8100  DLL characteristics
    40.             NX compatible
    41.             Terminal server aware
    42.  
    43.        0 [       0] address [size] of Export Directory
    44.        0 [       0] address [size] of Import Directory
    45.        0 [       0] address [size] of Resource Directory
    46.        0 [       0] address [size] of Exception Directory
    47.        0 [       0] address [size] of Security Directory
    48.        0 [       0] address [size] of Base Relocation Directory
    49.        0 [       0] address [size] of Debug Directory
    50.        0 [       0] address [size] of Description Directory
    51.        0 [       0] address [size] of Special Directory
    52.        0 [       0] address [size] of Thread Storage Directory
    53.        0 [       0] address [size] of Load Configuration Directory
    54.        0 [       0] address [size] of Bound Import Directory
    55.        0 [       0] address [size] of Import Address Table Directory
    56.        0 [       0] address [size] of Delay Import Directory
    57.        0 [       0] address [size] of COR20 Header Directory
    58.        0 [       0] address [size] of Reserved Directory
    59.  
    60. SECTION HEADER #1
    61.    .text name
    62.      171 virtual size
    63.      1C0 virtual address
    64.      180 size of raw data
    65.      1C0 file pointer to raw data
    66.        0 file pointer to relocation table
    67.        0 file pointer to line numbers
    68.        0 number of relocations
    69.        0 number of line numbers
    70. 80000020 flags
    71.          Code
    72.          (no align specified)
    73.          Write Only
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    4.167
    Marylin,
    я сам не ожидал, сколько мелочей придется учитывать при запуске крохотной программы, но всё равно всем принявшим участие огромное спасибо! :drinks: Если кто-то хочет дорабатывать все листинги прикладывались... так что welcome! :yes3:
     
    k3rnl, Research, Marylin и 2 другим нравится это.
  3. Intro

    Intro Well-Known Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    1.708
    Это FASM?!!
    Может лучше использовать UASM и его подвиды, либо старый добрый, но туповатый и проприетарный MASM? У меня таких проблем нету, я сначала фасм хотел использовать, ну изучить его, но потом посоветовали UASM, и я понял что фасм мне просто не нужен, UASM может всё то же что и фасм.
     
  4. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    288
    это и есть масм..
     
  5. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    425
    Вот я тоже собрал, не трогая пе формат. Зачем принудительно завершать процесс, а не по рет я так и не понял.
     

    Вложения:

    • msg.zip
      Размер файла:
      2,1 КБ
      Просмотров:
      280
  6. Marylin

    Marylin Active Member

    Публикаций:
    0
    Регистрация:
    17 фев 2023
    Сообщения:
    288
    Ahimov, у меня этот семпл проваливается в чёрную дыру, хотя в отладчике(g) доходит до ret.
    Код (Text):
    1. CommandLine: F:\t.exe
    2. Symbol search path is: srv*c:\Symbols*http://msdl.microsoft.com/download/symbols
    3.  
    4. Executable search path is:
    5. ModLoad: 00000001`3ff00000 00000001`3ff05000   image00000001`3ff00000
    6. ModLoad: 00000000`771a0000 00000000`7733f000   ntdll.dll
    7. ModLoad: 00000000`76f80000 00000000`7709f000   C:\Windows\system32\kernel32.dll
    8. ModLoad: 000007fe`fcdc0000 000007fe`fce27000   C:\Windows\system32\KERNELBASE.dll
    9.  
    10. (1ec4.1c80): Break instruction exception - code 80000003 (first chance)
    11. ntdll!LdrpDoDebuggerBreak+0x30:
    12. 00000000`77245c90 cc              int     3
    13.  
    14. 0:000> bp @$exentry
    15. *** WARNING: Unable to verify checksum for image00000001`3ff00000
    16.  
    17. 0:000> g
    18. Breakpoint 0 hit
    19. image00000001_3ff00000+0x1074:
    20. 00000001`3ff01074 488bec          mov     rbp,rsp
    21.  
    22. 0:000> g
    23. ntdll!ZwTerminateProcess+0xa:
    24. 00000000`77208d8a c3              ret
    25.  
    Mikl___, на семёрке systeminfo в ком.строке сколько обновлений показывает?
    интересно, в чём разница наших Win7, то у тебя код работает, а у меня нет?
    Код (Text):
    1. C:\> systeminfo
    2.  
    3. Название ОС:                      Microsoft Windows 7 Профессиональная
    4. Версия ОС:                        6.1.7601 Service Pack 1 сборка 7601
    5. Параметры ОС:                     Изолированная рабочая станция
    6. Код продукта:                     00371-868-0000007-85883
    7. Тип системы:                      x64-based PC
    8. Исправление(я):                   Число установленных исправлений - 69.   <------------//
    9.                                   [01]: KB2849697
    10.                                   [02]: KB2849697
    11.                                   [03]: KB2849696
    12. ..........
    13.  
    --- Сообщение объединено, 25 фев 2025 ---
    Ahimov, я особо не разбирался в исходнике,
    но чёто не видно, где при поиске пропускаются функции только с ординалом - у меня их 8 в самом начале экспорта Ntdll

    NtOrd.png
     
    Последнее редактирование: 25 фев 2025
  7. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    425
    Marylin,

    Сигнатурный поиск в принципе метод не надёжный.