Сейчас на форуме: bezumchik, tyns777, Lohmaty (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Перехват выделения памяти под секцию
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 08:23
· Личное сообщение · #1

Привет!
Суть: создается секция в памяти (распаковщиком), инициализируется, используется далее. Пытаюсь отловить момент создания и тдт для замены данных в ней.
Пробовал БП на VirtualAlloc и CreateFileMaping - проскакиваю...
Что еще можно попробовать или как это сделать правильно?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 09:17
· Личное сообщение · #2

PEvgen

Нужно сервисы смотреть, а не винапи. Вопрос есчо в том, что такое создаётся". Может секция создаётся заполнением полей заголовка пе, а не манипуляциями с памятью. Или например общий регион памяти депротектится, делится на части. Будем дальше гадать.

-----
vx




Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 09:30 · Поправил: PEvgen
· Личное сообщение · #3

difexacaw Если бы я мог задать вопрос так, что бы на него можно было односложно ответить (Да/Нет) я бы его вообще не задавал, не тратил бы чье-то время и, возможно, нервы....
На момент когда секция уже существует хидер не модифицирован.


На всякий случай ММ



392d_18.06.2019_EXELAB.rU.tgz - Безымянный.png




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 09:56
· Личное сообщение · #4

PEvgen

Куда смотреть на картинке, выделена область 0xD3D000 ?

Попробуй этим посмотреть, переименуй апп в "T.exe" и запусти Ij. Оно выведет сервисный лог.

1999_18.06.2019_EXELAB.rU.tgz - DYE.7z

-----
vx




Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 10:07
· Личное сообщение · #5

Крашится не доходя до выделения интересуемой секции




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 10:09
· Личное сообщение · #6

PEvgen

Дайте я гляну. Не должно по идеи падать, хотя хз может какие то точки останова..

-----
vx




Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 10:12
· Личное сообщение · #7

9333_18.06.2019_EXELAB.rU.tgz - T.exe




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 12:16
· Личное сообщение · #8

PEvgen

Я посмотрел, получается вот что.

Вылетает из за ошибки в этом семпле, а именно - выделяется память по фиксированной базе 0x10000000, которая до этого уже занята модулями и соответственно функция выделения памяти возвращает ноль и далее #AV.

Есчо почему то закрывается консоль, но я не смотрел почему пока. Что бы смотреть лог и что там в памяти делается - Олли со scyllahide. В принипе там из антидебага только NtQueryInformPs, больше ничего в сервисном логе нет связанного с антиотладкой.

Вот лог по аллокациям:

Code:
  1. 003601A5    Debug string: ALLOC 0x00500000: 0x00081000
  2. 003601A5    Debug string: ALLOC 0x10000000: 0x00028000
  3. 003601A5    Debug string: ALLOC 0x00590000: 0x00010000
  4. 003601A5    Debug string: ALLOC 0x00590000: 0x00001000
  5. 003601A5    Debug string: ALLOC 0x00591000: 0x00002000
  6. 003601A5    Debug string: ALLOC 0x00593000: 0x00001000
  7. 003601A5    Debug string: ALLOC 0x00580000: 0x00010000
  8. 003601A5    Debug string: ALLOC 0x010A0000: 0x00100000
  9. 003601A5    Debug string: ALLOC 0x010A0000: 0x00034000
  10. 003601A5    Debug string: ALLOC 0x00594000: 0x00008000
  11. 003601A5    Debug string: ALLOC 0x010D4000: 0x0001B000
  12. 003601A5    Debug string: ALLOC 0x012A0000: 0x00086000
  13. 003601A5    Debug string: ALLOC 0x0059C000: 0x00002000
  14. 003601A5    Debug string: ALLOC 0x010EF000: 0x00003000
  15. 003601A5    Debug string: ALLOC 0x010F2000: 0x00004000
  16. 003601A5    Debug string: ALLOC 0x010F6000: 0x00006000
  17. 003601A5    Debug string: ALLOC 0x010FC000: 0x00009000
  18. 003601A5    Debug string: ALLOC 0x01105000: 0x0000D000
  19. 003601A5    Debug string: ALLOC 0x01112000: 0x00013000
  20. 003601A5    Debug string: ALLOC 0x010EE000: 0x0001E000
  21. 003601A5    Debug string: ALLOC 0x0110A000: 0x0002B000
  22. 003601A5    Debug string: ALLOC 0x01135000: 0x00041000
  23. 003601A5    Debug string: ALLOC 0x01330000: 0x00200000
  24. 003601A5    Debug string: ALLOC 0x01330000: 0x00062000
  25. 003601A5    Debug string: ALLOC 0x01A10000: 0x00080000
  26. 003601A5    Debug string: ALLOC 0x01A10000: 0x00001000
  27. 003601A5    Debug string: ALLOC 0x0059E000: 0x00002000
  28. 003601A5    Debug string: ALLOC 0x010EE000: 0x00001000
  29. 003601A5    Debug string: ALLOC 0x010EF000: 0x00001000
  30. 003601A5    Debug string: ALLOC 0x010F0000: 0x00001000
  31. 003601A5    Debug string: ALLOC 0x010F1000: 0x00001000
  32. 003601A5    Debug string: ALLOC 0x010F2000: 0x00001000
  33. 003601A5    Debug string: ALLOC 0x010F3000: 0x00001000
  34. 003601A5    Debug string: ALLOC 0x010F4000: 0x00001000
  35. 003601A5    Debug string: ALLOC 0x010F5000: 0x00001000
  36. 003601A5    Debug string: ALLOC 0x010F6000: 0x00001000
  37. 003601A5    Debug string: ALLOC 0x010F7000: 0x00001000
  38. 003601A5    Debug string: ALLOC 0x010F8000: 0x00001000
  39. 003601A5    Debug string: ALLOC 0x010F9000: 0x00001000
  40. 003601A5    Debug string: ALLOC 0x010FA000: 0x00001000
  41. 003601A5    Debug string: ALLOC 0x010FB000: 0x00001000
  42. 003601A5    Debug string: ALLOC 0x010FC000: 0x00001000
  43. 003601A5    Debug string: ALLOC 0x010FD000: 0x00001000
  44. 003601A5    Debug string: ALLOC 0x010FE000: 0x00001000
  45. 003601A5    Debug string: ALLOC 0x010FF000: 0x00001000
  46. 003601A5    Debug string: ALLOC 0x01100000: 0x00001000
  47. 003601A5    Debug string: ALLOC 0x01101000: 0x00001000
  48. 003601A5    Debug string: ALLOC 0x01102000: 0x00001000
  49. 003601A5    Debug string: ALLOC 0x01103000: 0x00001000
  50. 003601A5    Debug string: ALLOC 0x01104000: 0x00001000
  51. 003601A5    Debug string: ALLOC 0x01105000: 0x00001000
  52. 003601A5    Debug string: ALLOC 0x01106000: 0x00001000
  53. 003601A5    Debug string: ALLOC 0x01107000: 0x00001000
  54. 003601A5    Debug string: ALLOC 0x01108000: 0x00001000
  55. 003601A5    Debug string: ALLOC 0x01109000: 0x00001000
  56. 003601A5    Debug string: ALLOC 0x0110A000: 0x00001000
  57. 003601A5    Debug string: ALLOC 0x0110B000: 0x00001000
  58. 003601A5    Debug string: ALLOC 0x0110C000: 0x00001000
  59. 003601A5    Debug string: ALLOC 0x0110D000: 0x00001000
  60. 003601A5    Debug string: ALLOC 0x0110E000: 0x00001000
  61. 003601A5    Debug string: ALLOC 0x0110F000: 0x00001000
  62. 003601A5    Debug string: ALLOC 0x01110000: 0x00001000
  63. 003601A5    Debug string: ALLOC 0x01111000: 0x00001000
  64. 003601A5    Debug string: ALLOC 0x01112000: 0x00001000
  65. 003601A5    Debug string: ALLOC 0x01113000: 0x00001000
  66. 003601A5    Debug string: ALLOC 0x01114000: 0x00001000
  67. 003601A5    Debug string: ALLOC 0x01115000: 0x00001000
  68. 003601A5    Debug string: ALLOC 0x01116000: 0x00001000
  69. 003601A5    Debug string: ALLOC 0x01117000: 0x00001000
  70. 003601A5    Debug string: ALLOC 0x007A0000: 0x00010000
  71. 003601A5    Debug string: ALLOC 0x007A0000: 0x00001000
  72. 003601A5    Debug string: ALLOC 0x007A1000: 0x00002000
  73. 003601A5    Debug string: ALLOC 0x007A3000: 0x00001000
  74. 003601A5    Debug string: ALLOC 0x001A6000: 0x00001000
  75. 003601A5    Debug string: ALLOC 0x007C0000: 0x00010000
  76. 003601A5    Debug string: ALLOC 0x007C0000: 0x00001000
  77. 003601A5    Debug string: ALLOC 0x007C1000: 0x00002000
  78. 003601A5    Debug string: ALLOC 0x007C3000: 0x00001000
  79. 003601A5    Debug string: ALLOC 0x007E0000: 0x00010000
  80. 003601A5    Debug string: ALLOC 0x007E0000: 0x00001000
  81. 003601A5    Debug string: ALLOC 0x007E1000: 0x00002000
  82. 003601A5    Debug string: ALLOC 0x01118000: 0x00001000
  83. 003601A5    Debug string: ALLOC 0x001A7000: 0x00001000
  84. 003601A5    Debug string: ALLOC 0x001A8000: 0x00021000
  85. 003601A5    Debug string: ALLOC 0x01A90000: 0x00010000
  86. 003601A5    Debug string: ALLOC 0x01A90000: 0x00010000
  87. 003601A5    Debug string: ALLOC 0x01A90000: 0x00001000
  88. 003601A5    Debug string: ALLOC 0x01A91000: 0x00002000
  89. 003601A5    Debug string: ALLOC 0x01AA0000: 0x00400000
  90. 003601A5    Debug string: ALLOC 0x01AA0000: 0x00010000
  91. 003601A5    Debug string: ALLOC 0x001C9000: 0x00002000
  92. 003601A5    Debug string: ALLOC 0x001CB000: 0x00004000
  93. 003601A5    Debug string: ALLOC 0x01A93000: 0x00002000
  94. 003601A5    Debug string: ALLOC 0x01EA0000: 0x00100000
  95. 003601A5    Debug string: ALLOC 0x01EA0000: 0x00012000
  96. 003601A5    Debug string: ALLOC 0x01A95000: 0x00002000
  97. 003601A5    Debug string: ALLOC 0x01A97000: 0x00005000
  98. 003601A5    Debug string: ALLOC 0x01EB2000: 0x00011000


Вот лог по апи:

Code:
  1. 003601A5    Debug string: API 0x46D56E JPR GlobalAlloc
  2. 003601A5    Debug string: API 0x46D5AE JPR VirtualAlloc
  3. 003601A5    Debug string: API 0x46D4AE JPR GetModuleHandleA
  4. 003601A5    Debug string: API 0x46D46E JPR GetProcAddress


Тоесть память выделяется через VirtualAlloc() с фикс базой. Если туда отладчиком поставить останов он сработает. Затем можно в отладчике снять атрибут на исполнение этой области и отладчик остановится при передаче управления на эту область(на OEP).

Но это всё не интересно, фишка вот в чём. Определяем автоматикой OEP, используя общий критерий(абсолютная выборка). Вот лог по выборке:

Code:
  1. 003601A5    Debug string: IB 0x400000
  2. 003601A5    Debug string: IL 0x48570B
  3. 003601A5    Debug string: 0x00000000 AI 0x0 0x00371313 [0x00374BA6]
  4. 003601A5    Debug string: 0x00000001 AI 0x1 0x100112EA [0x100205EF]
  5. 003601A5    Debug string: 0x00000002 AI 0x1 0x1000ACD3 [0x1001BCBB]
  6. 003601A5    Debug string: 0x00000003 AI 0x1 0x1000DC3C [0x10022E3F]
  7. 003601A5    Debug string: 0x00000004 AI 0x1 0x10009304 [0x1001FDA7]
  8. 003601A5    Debug string: 0x00000005 AI 0x1 0x011B8A8C [0x012256CC]
  9. 003601A5    Debug string: 0x00000006 AI 0x1 0x011B020B [0x011A1308]
  10. 003601A5    Debug string: 0x00000007 AI 0x1 0x100071E7 [0x100071ED]
  11. 003601A5    Debug string: 0x00000009 AI 0x1 0x01330E6E [0x00460ADC]
  12. 003601A5    Debug string: 0x0000000A AI 0x1 0x0059BC09 [0x0059BDEF]
  13. 003601A5    Debug string: 0x0000000B AI 0x1 0x0059BC26 [0x7C88503C]
  14. 003601A5    Debug string: 0x0000000C AI 0x1 0x004293E0 [0x00459578]
  15. 003601A5    Debug string: 0x0000000D AI 0x1 0x0059C009 [0x0059C1F0]
  16. 003601A5    Debug string: 0x0000000E AI 0x1 0x010EF561 [0x010EF74B]
  17. 003601A5    Debug string: 0x0000000F AI 0x1 0x0042A1FF [0x0045B5B4]
  18. 003601A5    Debug string: 0x00000010 AI 0x1 0x010EE961 [0x010EEB49]
  19. 003601A5    Debug string: 0x00000011 AI 0x1 0x0059EA09 [0x0059EBF2]
  20. 003601A5    Debug string: 0x00000012 AI 0x1 0x010EDD61 [0x010EDF41]
  21. 003601A5    Debug string: 0x00000013 AI 0x1 0x010F6F61 [0x010F7143]
  22. 003601A5    Debug string: 0x00000014 AI 0x1 0x0059F009 [0x0059F1E6]
  23. 003601A5    Debug string: 0x00000015 AI 0x1 0x010F2B61 [0x010F2D47]
  24. 003601A5    Debug string: 0x00000016 AI 0x1 0x010F3761 [0x010F3943]
  25. 003601A5    Debug string: 0x00000017 AI 0x1 0x00427D80 [0x004589D8]
  26. 003601A5    Debug string: 0x00000018 AI 0x1 0x010F9961 [0x010F9B4C]
  27. 003601A5    Debug string: 0x00000019 AI 0x1 0x00423ED0 [0x0045FBE0]
  28. 003601A5    Debug string: 0x0000001A AI 0x1 0x0059D409 [0x0059D5E9]
  29. 003601A5    Debug string: 0x0000001B AI 0x1 0x010F7F61 [0x010F8148]
  30. 003601A5    Debug string: 0x0000001C AI 0x1 0x01104361 [0x01104548]
  31. 003601A5    Debug string: 0x0000001D AI 0x1 0x004379A4 [0x0045DFF4]
  32. 003601A5    Debug string: 0x0000001E AI 0x1 0x0110D161 [0x0110D346]
  33. 003601A5    Debug string: 0x0000001F AI 0x1 0x0110C161 [0x0110C344]
  34. 003601A5    Debug string: 0x00000020 AI 0x1 0x01116D61 [0x01116F42]
  35. 003601A5    Debug string: 0x00000021 AI 0x1 0x0110DF61 [0x0110E146]
  36. 003601A5    Debug string: 0x00000022 AI 0x1 0x010FB361 [0x010FB542]
  37. 003601A5    Debug string: 0x00000023 AI 0x1 0x010FA561 [0x010FA743]
  38. 003601A5    Debug string: 0x00000024 AI 0x1 0x010F1361 [0x010F153D]
  39. 003601A5    Debug string: 0x00000025 AI 0x1 0x0043BBB1 [0x0044D42C]
  40. 003601A5    Debug string: 0x00000026 AI 0x1 0x01109561 [0x01109746]
  41. 003601A5    Debug string: 0x00000027 AI 0x1 0x01110D61 [0x01110F46]
  42. 003601A5    Debug string: 0x00000028 AI 0x1 0x01101161 [0x01101348]
  43. 003601A5    Debug string: 0x00000029 AI 0x1 0x01101181 [0x7E3C11B8]
  44. 003601A5    Debug string: 0x0000002A AI 0x1 0x0110AD61 [0x0110AF49]


Адреса вне искомой области это какие то обработчики, в частности это сцилла, на это можно не смотреть. Первая выборка: 0x100112EA [0x100205EF]
Смотрим цепочку инструкций и сразу находим ветвление 0046D974 -> 1000AE13. Это OEP.



3094_18.06.2019_EXELAB.rU.tgz - ep.7z

-----
vx


| Сообщение посчитали полезным: PEvgen

Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 12:31
· Личное сообщение · #9

Попробую осмыслить....

Добавлено спустя 2 часа 21 минуту
Эх, если бы вы так же подробно отвечали на мой вопрос - вам бы цены не было....Я там топал до того как написать сюда, в смысле в VirtAlloc, у меня того и вопрос возник: "как еще можно выделить память", ведь на момент выделения памяти по адресу 10000000 интересующая меня область еще не распределена, а на момент следующего бряканья на VAEx - уже имеется. И хоть в конкретной задаче мне это не сильно бы облегчило участь, на будущее могло бы пригодиться...В общем в любом случае спасибо за уделенное время!




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 16:23
· Личное сообщение · #10

PEvgen

> на момент следующего бряканья на VAEx - уже имеется.

Всё равно не понятно

Нужно обождать когда область будет заполнена - так это и есть передача управления на эту область. Туда данные загружаются из 6-ти адресов:

Code:
  1. 0046D7C2
  2. 0046D7FA
  3. 0046D85E
  4. 0046D861
  5. 0046D8A3
  6. 0046D92C


Тогда что значит:
> "как еще можно выделить память"

Зачем выделить, если она выделяется. Короче я хз что вам нужно.

-----
vx




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 18 июня 2019 16:50 · Поправил: VOLKOFF
· Личное сообщение · #11

PEvgen пишет:
как еще можно выделить память


Ну там не сказать чтобы очень много вариантов и если не брать в расчет различные извращения при антиотладке, то выглядит все как-то так:



| Сообщение посчитали полезным: PEvgen, plutos


Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 18 июня 2019 17:36 · Поправил: Kindly
· Личное сообщение · #12

Патчил когда-то компонент, который расшифровывал секцию в память, код был следующим, разбирайся:
Code:
  1. ;пляшем от адреса нужного в EAX
  2.  
  3.          PUSHFD < прыг сюда, сохранили флаги
  4.          CMP DWORD PTR DS:[EAX+FFFFABE5],FC4C8D35 < проверка байтов
  5.          JE SHORT @патч_код < если эти, прыгаем на патч
  6.          JMP SHORT @выход < если нет, прыгаем на выход
  7.  
  8. @патч_код:
  9.          PUSHAD
  10.          ADD EAX,FFFF39E0
  11.          MOV ESI,EAX
  12.          PUSH 40
  13.          PUSH 1000
  14.          PUSH 1000
  15.          PUSH 0
  16.          CALL VirtualAlloc
  17.          PUSH EAX
  18.          PUSH 40
  19.          MOV EAX,19FF0
  20.          PUSH EAX
  21.          PUSH ESI
  22.          CALL VirtualProtect
  23.          POPAD
  24.          MOV DWORD PTR DS:[EAX+FFFFABE5],9040C033
  25.          MOV DWORD PTR DS:[EAX+FFFFABE9],90909090
  26.          MOV DWORD PTR DS:[EAX+FFFFABED],90909090
  27.          MOV DWORD PTR DS:[EAX+FFFFFB83],9040C033
  28.  
  29. @выход:
  30.          POPFD < восстановили флаги
  31.          PUSH EBP < восстановили код
  32.          MOV EBP,ESP < восстановили код
  33.          JMP прыг обратно
адреса вызовов VirtualAlloc, VirtualProtect подтыривал из импорта проги.

порой нужно вместить патч-код в минимальное количество байтов для перехода в свою секцию в файле с релоками, когда статичные байты не канают, для этого можно просто вычислить базу:
Code:
  1.          MOV ESI,DWORD PTR DS:[ESP+4] < забираем адрес с базой из нужной ячейки
  2.          MOV SI,0 < обнуляем хвост
  3.          ADD ESI,1BF00 < размер (VA) до нашей секции
  4.          JMP ESI < прыгаем на наш участок
  5.  
  6. ; прыгнули
  7.          PUSHAD 
  8.          PUSHFD
  9. ; сделали че надо
  10.          POPFD
  11.          POPAD
  12. ;восстановились и вернулись из своей секции далее по коду
  13.          MOV ESI,DWORD PTR SS:[EBP-8]
  14.          MOV EDI,DWORD PTR SS:[EBP-4]
  15.          MOV DWORD PTR DS:[ESI],EDI
  16.          POP EDI
  17.          POP ESI ;
  18.          POP EBX
  19.          MOV ESP,EBP
  20.          POP EBP
  21.          RETN

в каждом случаи будут свои адреса и регистры, но принцип примерно одинаковый.

-----
Array[Login..Logout] of Life


| Сообщение посчитали полезным: PEvgen

Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 18 июня 2019 19:35
· Личное сообщение · #13

VOLKOFFШикарный постер, в принципе, именно это я и спрашивал!
Благодарочка.

Добавлено спустя 7 минут
KindlyЭто больше б на мой предыдущий вопрос пригодилось бы, та часть с экономией места, которая, но не помешает инфа тоже, сохраню к себе в закладки.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 18 июня 2019 22:52 · Поправил: difexacaw
· Личное сообщение · #14

PEvgen

> Шикарный постер, в принципе, именно это я и спрашивал!

Каким образом выделить память, не штатными средствами ?

Зачем представить нельзя, хотя без разницы.

NtAllocateVirtualMemory
NtMapViewOfSection
NtMapUserPhysicalPages

Это сервисы где можно указать базу. Кроме этих есть бесчисленное множество способов выделения памяти косвенным образом. К примеру теневые сервисы выделяют временные буфера. Или это выделение к примеру тунеля при установке клиент-серверного обмена(IPC). Но там нельзя обычно указать базу, но можно создать условия что выделение будет по целевому адресу.

Вопрос в том накой это нужно. Это анпакми, семпл для самостоятельной работы. Никаким образом способы выделения памти его не касаются. ТС чота попутал

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

-----
vx




Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 19 июня 2019 07:19 · Поправил: PEvgen
· Личное сообщение · #15

difexacawВнесен в личный ЧС. В связи с неадекватностья поведения и подозрением в гомофашизме.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 19 июня 2019 22:36 · Поправил: difexacaw
· Личное сообщение · #16

PEvgen

> Внесен в личный ЧС. В связи с неадекватностья поведения и подозрением в гомофашизме.

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

Там интересные вызовы апи, часть их выполняется раздельно, те граф делится и передачи управления внутрь апи. Это интересный способ, в принципе решается элементарно - у меня есть конструктор, который умеет собирать граф. Тупо можно описать всё тело апи и добавить в авл дерево и так затем быстро найти саму процедуру. Но ты это не увидишь, раз говном лить начал.

---

ТС никакой своей работы не выполнил, а кидает говном, маловат по мойму скилл что бы это делать. А так как вопросов более нет - тс в бан, а топ закрыть.

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 20 июня 2019 02:44 · Поправил: plutos
· Личное сообщение · #17

VOLKOFF пишет:
то выглядит все как-то так:


а откуда диаграмма? Может там есть еще что интересное почитать?

-----
Give me a HANDLE and I will move the Earth.




Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 20 июня 2019 04:30 · Поправил: dma
· Личное сообщение · #18

plutos пишет:
а откуда диаграмма? Может там есть еще что интересное почитать?


Действительно. Вдруг там, например, про эмулятор Bochs какая-нибудь интересная информация есть? Я его как раз сейчас активно изучаю. difexacaw, вроде, свою информацию донес уже до своих читателей, так что мы ему не помешаем. Если что, то в этой ветке все детали сразу и обсудим.



Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 20 июня 2019 10:19 · Поправил: VOLKOFF
· Личное сообщение · #19

plutos пишет:
а откуда диаграмма?




The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory
Часть2 - Windows Memory Forensics (Memory Allocation APIs)

--> Почитайте <-- книжка хорошая

| Сообщение посчитали полезным: bartolomeo, dma


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 20 июня 2019 11:09
· Личное сообщение · #20

dma

> Если что, то в этой ветке все детали сразу и обсудим.

Что с тобой обсуждать, ты же троль и школьник.

plutos

Это не правильный док, я приводил рядом тут в теме правильный.

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 20 июня 2019 11:54
· Личное сообщение · #21

difexacaw пишет:
приводил рядом тут в теме правильный

Где именно? в этой теме или где по соседству? ткни носом!

VOLKOFF пишет:
книжка хорошая

да, книга отличная! Но самое смешное, что она у меня НА ПОЛКЕ вот уже года полтора стоит, а я все рыскаю по интернету, ищу где-бы информацию добыть. Вот ведь как оно иногда бывает.
Взял с полки, открыл, да, вот она, та самая диаграмма! Еще раз спасибо за науку!

-----
Give me a HANDLE and I will move the Earth.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 20 июня 2019 12:12 · Поправил: difexacaw
· Личное сообщение · #22

plutos

--> Link <--

Там чётко всё описано, а эта что выше - ниочём. Может для знакомства с ОС и годится. Вот как например тс не знает как память выделить, узнал что есть некоторая функция Nt общая для всех апи и офигел от глубокого смысла

-----
vx


| Сообщение посчитали полезным: plutos

Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 20 июня 2019 12:55 · Поправил: VOLKOFF
· Личное сообщение · #23

difexacaw пишет:
узнал что есть некоторая функция Nt общая для всех апи и офигел от глубокого смысла

Так-то и про тебя с твоим доком сингапурского университета можно тоже самое сказать




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 20 июня 2019 13:19
· Личное сообщение · #24

VOLKOFF

Да нет, нельзя. Во первых док не мой, а там описаны ключевые механизмы по обнаружению OP. Ты к примеру врядле даже представляешь что это такое.

А в общем если человек не знает ключевые ядерные сервисы, то какого чёрта он тут делает ?

Есть спец темы, где решают вопросы за бабки. Незачем школоте на каникулах летних приходить со своими вопросами. Такие тут уже рядом две темы - два дол-ба пытаются неделю что то решить, при этом вообще ничего не понимая даже в своих действиях и вопросах. Короче говоря цирк какой то.

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 20 июня 2019 13:36 · Поправил: plutos
· Личное сообщение · #25

difexacaw пишет:
там описаны ключевые механизмы по обнаружению OP


Hачал читать "SYSTEMATIC METHODS FOR MEMORY ERROR DETECTION AND EXPLOITATION".
Документ и правда толковый.
Буду разбираться не торопясь, что бы уложилось, ведь концепция не из легких.
Так что, ребята, зачем спорить о том, чей документ более уместен в данном случае. Из множества фрагментов, из cross references как раз и лепится полная картина.
Так что спасибо всем!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 20 июня 2019 13:39 · Поправил: VOLKOFF
· Личное сообщение · #26

difexacaw, ты сегодня просто лучик австралийского солнышка

plutos пишет:
зачем спорить о том, чей документ лучше

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



Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 20 июня 2019 15:51 · Поправил: dma
· Личное сообщение · #27

VOLKOFF пишет:
Речь не о "лучше", а об "уместно". Инде сам пишет что ТС "вообще ничего не понимая даже в своих действиях и вопросах" и вместо понятного ответа "адекватного уровня абстракции" ссылается на явно избыточный во всех отношениях док.


Вот уж действительно, ни прибавить, ни убавить. И дело, порой, тут даже не в сложности, а в терминах и аббревиатурах, многие из которых Инде сам придумал и давно уже забыл, что он подразумевал под этим набором букв.

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

К чему я это все? А к тому, что хотел сказать спасибо VOLKOFF за книгу. Раз plutos написал, что книга отличная, то значит так оно и есть - plutos'у в этих вопросх можно доверять. А Инде неугодишь. Его послушать, так то вообще книги читать не нужно и все познавать на практике, то теперь он вдруг нашел что-то интересное в какой-то книге и все должны срочно ее прочитать.

P.S. И в конце своего "школьного сочинения" хотел вас попробовать удивить одной очень неплохой, на мой взгляд, книгой, которая, вроде, еще не пробегала по "тропинкам" форума exelab.

--> Learning Malware Analysis (Monnappa K A 2018) <--




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 20 июня 2019 15:59 · Поправил: plutos
· Личное сообщение · #28

dma пишет:
еще не пробегала по "тропинкам" форума exelab.


--> Пробегалa <--
Пост номер 6 Создан: 6 марта 2019 00:26

Добавлено спустя 2 минуты
dma пишет:
plutos'у в этих вопросх можно доверять

и что ж ты за авторитет такой, что бы знать в чем мне доверять, в чем не доверять?
может уже хватит словоблудия?

-----
Give me a HANDLE and I will move the Earth.




Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 20 июня 2019 16:24 · Поправил: dma
· Личное сообщение · #29

plutos пишет:
и что ж ты за авторитет такой, что бы знать в чем мне доверять, в чем не доверять?


Подлизываюсь, plutos, подлизываюсь.


plutos пишет:
может уже хватит словоблудия?

А вот это уже извините, решать не вам, а модераторам. Захотят, вообще, меня навечно забанят и поудаляют все мои посты. В том смысле, что прислушаются к вашему совету.

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

| Сообщение посчитали полезным: hash87szf

Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 20 июня 2019 16:50 · Поправил: Alchemistry
· Личное сообщение · #30

dma
А насколько тебя хватит прежде чем ты перерегаешься здесь под каким-нибудь iuh заново опять? Ты ж эрогируешь на клекра перманентно. Только никакой конструктивной критики или вообще чето по теме от тебя нет. Толи тебе под дурака косить легче, толи ты какой-то недалекий)

пысы
О я знаю, ты наверное этот гаражный ретард. Который ща тут под двумя новыми никами сидит.


. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Перехват выделения памяти под секцию
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати