eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: SaNX, Adler
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› Реверс AsProtect
Посл.ответ Сообщение

Ранг: 12.1 (новичок)
Статус: Участник

Создано: 15 ноября 2018 08:34 New!
Цитата · Личное сообщение · #1

Доброго времени суток! Решил разобраться с AsProtectом. Начал с версии 1.33. Она первая из ранних версий которая запустилась на моей тачке. Как всегда есть вопросы.
понял что аспр создает кучу секций в которые ворует начала Api функций или всех их если апишки небольшие. Нашел секцию aspr.dll размером 33000. Разобрался что и как в ней. Остался один вопрос. Как восстановить call переходники в секцию аспра. Вроде накатал простенький скрипт для x64dbg но восстанавливает он не все и не всегда. Как делал:
Сохраняем регистры и флаги
Ставим выполнение на переходник и переходим в него
Ставим бряк на секцию кода программы.
Отпускаем прогу и еще раз переходим в уже новый, перезаписанный call.
проходим по F7 чуть дальше и оказываемся в одной из 35 секций.
Выделяем определенное количество байт и ищем их.
Находим откуда воровано начала и чиним call
Восстанавливаем регистры.
Ставим выполнение на точку входа в программу
Повторяем со всеми.
Восстановил бы руками но переходников там 100+ штук. Поэтому пишу скрипт. Пишу чисто для саморазвития. Но мозгов не хватает
Скрипт переделаю попозже под другой способ
Сам скрипт
Code:
  1. mov VA,VirtualAlloc+6
  2. log {VA}
  3. bp VA
  4. run
  5. rtr
  6. bpc VA
  7. mov VARET,eip
  8. bp eip
  9.  
  10. Oepfinder:
  11. log {eax}:{edx}
  12. run
  13. mov eip1,byte:[eip]
  14. log {eip1}
  15. cmp eip1,cc
  16. log {eip1}
  17. je Start2
  18. jmp Oepfinder
  19.  
  20. Start2:
  21. log {eax}:{edx}
  22. run
  23. mov eip1,byte:[eip]
  24. log {eip1}
  25. cmp eip1,cc
  26. log {eip1}
  27. je Start3
  28. jmp Start2
  29. ret
  30.  
  31. Start3:
  32. bpm 401000,0,a
  33. bpc VARET
  34. run
  35. jmp INIT
  36.  
  37. //tempeip
  38. //tempeip1
  39. //tempeip2
  40. //temp
  41. //mov eip, EIPORIG
  42. //mov eax,tmpeax
  43. //mov ebx,tmpebx
  44. //mov ecx,tmpecx
  45. //mov edx,tmpedx
  46. //mov ebp,tmpebp
  47. //mov esp,tmpesp
  48. //mov esi,tmpesi
  49. //mov edi,tmpedi
  50. //mov eflags,tmpeflags
  51. //mov EIPORIG,eip
  52. INIT:
  53. mov EIPORIG,eip
  54. mov tmpeax,eax
  55. mov tmpebx,ebx
  56. mov tmpecx,ecx
  57. mov tmpedx,edx
  58. mov tmpebp,ebp
  59. mov tmpesp,esp
  60. mov tmpesi,esi
  61. mov tmpedi,edi
  62. mov tmpeflags,eflags
  63.  
  64.  
  65. START:
  66. mov eip,EIPORIG
  67. find 401000,e8??????03,4a000
  68. log {$result}
  69. mov ADDRCALLMOD,$result
  70. mov eip,ADDRCALLMOD
  71. mov tmpeip1,eip
  72. CALLMOD:
  73. sti
  74. log {word:[eip]}
  75. cmp word:[eip],D7FF
  76. je bpmem
  77. cmp word:[eip],D3FF
  78. je bpmem
  79. cmp word:[eip],D0FF
  80. je bpmem
  81. jmp CALLMOD
  82. bpmem:
  83. bpm 401000,x
  84. run
  85. sti
  86. jmp FindJMPandPUSHandCall
  87.  
  88. FindJMPandPUSHandCall:
  89. find eip,e9????????
  90. log {$result}
  91. cmp $result,0
  92. jne FindJMP
  93. jmp PUSH
  94.  
  95. PUSH:
  96. find eip,68????????
  97. log {$result}
  98. cmp $result,0
  99. jne FindPUSH
  100. jmp CALL1
  101.  
  102. CALL1:
  103. find eip,ff93??????
  104. log {$result}
  105. cmp $result,0
  106. jne FindCall
  107. jmp CALL2
  108.  
  109. CALL2:
  110. find eip,ffd0??????
  111. log {$result}
  112. cmp $result,0
  113. jne FindCall
  114. jmp CALL3
  115.  
  116. CALL3:
  117. find eip,ffd3??????
  118. log {$result}
  119. cmp $result,0
  120. jne FindCall
  121. jmp error
  122.  
  123. ret
  124.  
  125.  
  126.  
  127. FindJMP:
  128.  
  129. mov JMPSEC,$result
  130. bp JMPSEC
  131. run
  132. bpc JMPSEC
  133. sti
  134.  
  135. cmp word:[eip],ff8b
  136. log {word:[eip]}
  137. je METHOD1
  138.  
  139. cmp byte:[eip],6a
  140. log {byte:[eip]}
  141. je START
  142.  
  143. cmp byte:[eip],55
  144. log {byte:[eip]}
  145. je METHOD3
  146.  
  147. ret
  148.  
  149. FindPUSH:
  150.  
  151. mov PUSHSEC,$result
  152. bp PUSHSEC
  153. run
  154. bpc PUSHSEC
  155.  
  156. STEP:
  157. sti
  158. cmp byte:[eip],c3
  159. jne STEP
  160.  
  161. sti
  162. cmp word:[eip],ff8b
  163. log {word:[eip]}
  164. je METHOD1
  165.  
  166. cmp byte:[eip],6a
  167. log {byte:[eip]}
  168. je START
  169. cmp byte:[eip],55
  170. log {byte:[eip]}
  171. je METHOD3
  172.  
  173. FindCall:
  174. find eip,e9????????
  175. log {$result}
  176. cmp $result,0
  177. jne FindJMP
  178. find eip,68????????
  179. log {$result}
  180. cmp $result,0
  181. jne FindPUSH
  182. ret
  183.  
  184.  
  185. ret
  186.  
  187. METHOD1:
  188. find eip,68????????
  189. add $result,1
  190. log {$result}
  191. mov PushAPI1,[$result]
  192. mov PushAPITMP,[$result]
  193. mov EIPMETHOD1,eip
  194. mov eip,PushAPI1
  195. GetOrigEPAPI1:
  196. sub eip,2
  197. cmp word:[eip],ff8b
  198. jne GetOrigEPAPI1
  199. mov OrigEPAPI,eip
  200. mov eip,EIPMETHOD1
  201. jmp CALLREBUILD
  202.  
  203. METHOD3:
  204. find eip,68????????
  205. add $result,1
  206. log {$result}
  207. mov PushAPI1,[$result]
  208. log {PushAPI1}
  209. mov EIPMETHOD1,eip
  210. mov eip,PushAPI1
  211. GetOrigEPAPI3:
  212. add eip,1
  213. cmp byte:[eip],e8
  214. jne GetOrigEPAPI3
  215. sti
  216. sti
  217. mov OrigEPAPI,eip
  218. mov eip,EIPMETHOD1
  219. jmp CALLREBUILD
  220.  
  221.  
  222.  
  223.  
  224.  
  225. CALLREBUILD:
  226. mov eip,tmpeip1
  227. asm eip, "call 0x{OrigEPAPI}"
  228. mov ebp,tmpebp
  229. mov esp,tmpesp
  230. mov eflags,tmpeflags
  231. jmp START
  232. ret
  233.  
  234. error:
  235. ret

Вначале скрипта проход на oep а дальше восстановление переходников. Скриптопис из меня херовый так что не бейте сильно) Только учусь. Тем более скриптовая платформа скудна на x64dbg. Пользуюсь им. Задача не просто распаковать а понять как и что делается в проте. Заранее спасибо.


Ранг: 580.9 (!)
Статус: Модератор
Research & Development

Создано: 15 ноября 2018 08:55 New!
Цитата · Личное сообщение · #2

RoKZaR пишет:
Задача не просто распаковать а понять как и что делается в проте

Материалы Валентина Некрылова читал?
Скрипты Валентина смотрел?
Есть --> сборная тема про аспр <--, где vnekrilov очень подробно расписал внутреннюю работу аспра.


RoKZaR пишет:
Она первая из ранних версий которая запустилась на моей тачке

Виртуалка с Windows XP и будет тебе счастье )


Хороший способ исследовать:
- Выбираешь несколько близких версий протектора (в твоём случае 1.3x)
- Собираешь из примеров бинарь с маркерами
- Защищаешь свой бинарь с разными опциями защиты разными версиями протектора
- Распаковываешь полученные сэмплы существующими распаковщиками (например, DecomAS)
- Извлекаешь ASProtect.dll
- Исследуешь как загрузчик аспра, так и его длл; смотришь оригинальный файл и сравниваешь; смотришь распакованные сэмплы

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


Ранг: 12.1 (новичок)
Статус: Участник

Создано: 15 ноября 2018 08:59 New!
Цитата · Личное сообщение · #3

Когда то читал, а сейчас найти не могу. На тутсе в анпакинг туториалс не смог найти. Да и именно по версии 1.33 не смог найти почти никакой инфы.
Jupiter пишет:
Есть сборная тема про аспр

Если не сложно скиньте пожалуйста.


Ранг: 580.9 (!)
Статус: Модератор
Research & Development

Создано: 15 ноября 2018 09:05 New!
Цитата · Личное сообщение · #4

RoKZaR пишет:
Если не сложно скиньте пожалуйста.

Выделил ссылку в посте:
--> Анализ ASProtect <--

Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 10:26 · Поправил: dosprog New!
Цитата · Личное сообщение · #5

Тему решил не создавать -
задам вопрос в уже существующей. С самим Asprotect'ом напрямую не связанный.

После автораспаковки Decomas'ом файл выходит нерабочим.
При попытке запуска его система выводит месиджбокс с сообщением
"Приложение не было запущено поскольку оно некорректно настроено. Повторная установка сможет решить эту проблему".
Хьюшечный PEVerify не находит ошибок в структуре распакованного PE файла.
Программа до распаковки была вполне портабельная, никаких MSVC Redistributable не требовала.
Собственно вопрос - в каких ещё случаях система выдаёт такое сообщение о "некорректной настроенности"?


Ранг: 263.2 (наставник)
Статус: Участник

Создано: 17 мая 2019 10:47 New!
Цитата · Личное сообщение · #6

dosprog

Покажите файл.


Ранг: 437.1 (мудрец)
Статус: Участник
_Вечный_Студент_

Создано: 17 мая 2019 10:57 · Поправил: plutos New!
Цитата · Личное сообщение · #7

dosprog пишет:
в каких ещё случаях система выдаёт такое сообщение о "некорректной настроенности"?


ты будешь смеяться, но у меня была подобная ситуация, когда VMware пожирала всю память и ее просто не хватало. Закрыл пару virtual machines и все с программой стало ОК и куда делась "некорректность настроенности", а до того, хоть головой об стенку.
Но это, так, мысли вслух, на всякий пожарный.

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



Ранг: 641.1 (!)
Статус: Участник
CyberMonk

Создано: 17 мая 2019 16:25 · Поправил: mak New!
Цитата · Личное сообщение · #8

dosprog пишет:
Тему решил не создавать -
задам вопрос в уже существующей. С самим Asprotect'ом напрямую не связанный.

После автораспаковки Decomas'ом файл выходит нерабочим.
При попытке запуска его система выводит месиджбокс с сообщением
"Приложение не было запущено поскольку оно некорректно настроено. Повторная установка сможет решить эту проблему".
Хьюшечный PEVerify не находит ошибок в структуре распакованного PE файла.
Программа до распаковки была вполне портабельная, никаких MSVC Redistributable не требовала.
Собственно вопрос - в каких ещё случаях система выдаёт такое сообщение о "некорректной настроенности"?


Опции распаковки(чистка и оптимизация пе), система распаковки(на хп и 7 обычно ок), криптоучастки, кастом проверки, отсуствтие длл переходника для эмуляции лицензии, отрезана часть кастом секций, битые ресурсы.

Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 19:04 · Поправил: dosprog New!
Цитата · Личное сообщение · #9

difexacaw пишет:
Покажите файл.

Вот файлы: --> Link <-- (Pwd=exelab).

mak пишет:
Опции распаковки


Да перепробовал все варианты. Под WinXP.

Заметил, что в "директории" описан TLS длиной 18h байтов,
в таблице же объектов секция .tls имеет нулевую физическую длину.
Перекрывается следующей секцией.


Ранг: 119.5 (ветеран)
Статус: Участник

Создано: 17 мая 2019 19:13 New!
Цитата · Личное сообщение · #10

dosprog

Манифест поврежден. Или замени или удали.

Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 19:22 New!
Цитата · Личное сообщение · #11

Идентичен тому, что в исходном файле.

Ранг: 119.5 (ветеран)
Статус: Участник

Создано: 17 мая 2019 19:33 · Поправил: Alchemistry New!
Цитата · Личное сообщение · #12

dosprog пишет:
Идентичен тому, что в исходном файле.


Нет.

Начато создание контекста активации.
Входной параметр:
Flags = 0
ProcessorArchitecture = Wow32
CultureFallBacks = ru-RU;ru;en-US;en
ManifestPath = C:\ew\PIX_u.EXE
AssemblyDirectory = C:\ew\
Application Config File =
-----------------
ИНФОРМАЦИЯ: анализируется файл манифеста C:\ew\PIX_u.EXE.
ИНФОРМАЦИЯ: удостоверение определения манифеста: Microsoft.Windows.Shell.shell32,processorArchitecture="*",type="win32",version="5.1.0.0"
ИНФОРМАЦИЯ: ссылка: Microsoft.Windows.Common-Controls,language="*",processorArchitecture="*",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.0.0"
Ошибка: строка 1: синтаксическая ошибка XML.
ИНФОРМАЦИЯ: не удалось создать контекст активации.
Создание контекста активации завершено.

=================
Начато создание контекста активации.
Входной параметр:
Flags = 0
ProcessorArchitecture = Wow32
CultureFallBacks = ru-RU;ru;en-US;en
ManifestPath = C:\ew\PIX.EXE
AssemblyDirectory = C:\ew\
Application Config File =
-----------------
ИНФОРМАЦИЯ: анализируется файл манифеста C:\ew\PIX.EXE.
ИНФОРМАЦИЯ: удостоверение определения манифеста: Microsoft.Windows.Shell.shell32,processorArchitecture="*",type="win32",version="5.1.0.0"
ИНФОРМАЦИЯ: ссылка: Microsoft.Windows.Common-Controls,language="*",processorArchitecture="*",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.0.0"
ИНФОРМАЦИЯ: выполняется разрешение ссылки Microsoft.Windows.Common-Controls,language="*",processorArchitecture="*",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.0.0".
ИНФОРМАЦИЯ: выполняется разрешение ссылки для ProcessorArchitecture WOW64.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru-RU.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_ru-RU_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru-RU.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_ru_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры en-US.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_en-US_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры en-US.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры en.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_en_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры en.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры Neutral.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0__6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры Neutral.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для ProcessorArchitecture x86.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru-RU.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_ru-RU_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru-RU.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_ru_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры en-US.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_en-US_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры en-US.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры en.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls\6.0.0.0_en_6595b64144ccf1df\Microsoft.Windows.Common-Controls.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры en.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры Neutral.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: политика автоматического обслуживания перенаправила версию сборки.
ИНФОРМАЦИЯ: удостоверение сборки после применения политики: Microsoft.Windows.Common-Controls,processorArchitecture="x86",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.7601.17514"
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\WinSxS\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2.manifest.
ИНФОРМАЦИЯ: манифест обнаружен на C:\Windows\WinSxS\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2.manifest.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки Microsoft.Windows.Common-Controls.mui,language="*",processorArchitecture="x86",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.7601.17514".
ИНФОРМАЦИЯ: выполняется разрешение ссылки для ProcessorArchitecture WOW64.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru-RU.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls.mui\6.0.7601.17514_ru-RU_6595b64144ccf1df\Microsoft.Windows.Common-Controls.mui.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru-RU.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры ru.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление политики связывания.
ИНФОРМАЦИЯ: начинается проверка сборки.
ИНФОРМАЦИЯ: не удалось найти сборку в WinSxS.
ИНФОРМАЦИЯ: попытка проверки манифеста на C:\Windows\assembly\GAC_32\Microsoft.Windows.Common-Controls.mui\6.0.7601.17514_ru_6595b64144ccf1df\Microsoft.Windows.Common-Controls.mui.DLL.
ИНФОРМАЦИЯ: не удалось найти манифест для культуры ru.
ИНФОРМАЦИЯ: проверка сборки завершена.
ИНФОРМАЦИЯ: выполняется разрешение ссылки для культуры en-US.
ИНФОРМАЦИЯ: выполняется применение политики связывания.
ИНФОРМАЦИЯ: не удалось найти политику издателя.
ИНФОРМАЦИЯ: не удалось найти перенаправление пол

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


Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 19:43 New!
Цитата · Личное сообщение · #13

Alchemistry пишет:
Нет.


К сожалению, да - сравнивал двоично.


Ранг: 119.5 (ветеран)
Статус: Участник

Создано: 17 мая 2019 20:16 New!
Цитата · Личное сообщение · #14

Sxstrace говорит что в памяти это не так. Ошибки SideBySide профилируются sxstrace (https://blogs.msdn.microsoft.com/junfeng/2006/04/14/diagnosing-sidebyside-failures/). Если хочешь можешь конечно копаться в этом, выяснить что конкретно и почему и как это работает вообще с аспром наверху, кто виноват камас, аспр итд, лично меня эта задача не привлекает. Это для любителей шашечек, а мы едем или надо шашечки? Ща подойдет клекр с моторами и визорами расскажет про шашечки.

Берешь нормальный манифест перешиваешь его вместо этого гавна и получаешь рабочую программу с поддержкой тем.

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


Ранг: 263.2 (наставник)
Статус: Участник

Создано: 17 мая 2019 20:18 · Поправил: difexacaw New!
Цитата · Личное сообщение · #15

dosprog

CreateProcess() -> CSRSS -> STATUS_SXS_CANT_GEN_ACTCTX -> ERROR_SXS_CANT_GEN_ACTCTX. Да, косяк с манифестом.

Это может быть из за слоя протектора, тк csr читает из памяти процесса(те есчо до запуска потоков).

ps: посылать дисковые IOCTL из динамических буферов не есть хорошо, хоть там и запрос на профайл, но если это авер обнаружит, то забракует апп.

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


Ранг: 119.5 (ветеран)
Статус: Участник

Создано: 17 мая 2019 20:25 New!
Цитата · Личное сообщение · #16

difexacaw
Во я ж говорю, ты тут как тут. Боже, какая ты няшка)

Ранг: 263.2 (наставник)
Статус: Участник

Создано: 17 мая 2019 20:29 New!
Цитата · Личное сообщение · #17

Alchemistry

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

Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 21:04 New!
Цитата · Личное сообщение · #18

Что-то ерунда получается:

=================
Начато создание контекста активации.
Входной параметр:
Flags = 0
ProcessorArchitecture = Wow32
CultureFallBacks = ru-RU;ru;en-US;en
ManifestPath = D:\2\PIX_u.EXE
AssemblyDirectory = D:\2\
Application Config File =
-----------------
ИНФОРМАЦИЯ: анализируется файл манифеста D:\2\PIX_u.EXE.
ИНФОРМАЦИЯ: удостоверение определения манифеста: (null)
ИНФОРМАЦИЯ: ссылка: Microsoft.Windows.Common-Controls,language="*",processorArchitecture="*",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.0.0"
Ошибка: строка 21: синтаксическая ошибка XML.
ИНФОРМАЦИЯ: не удалось создать контекст активации.
Создание контекста активации завершено.
---------------------------------------------------------------

Ранг: 263.2 (наставник)
Статус: Участник

Создано: 17 мая 2019 21:10 New!
Цитата · Личное сообщение · #19

dosprog

Два модуля(я смотрел только не рабочий) это оригинальный и с протектором ?

Если это так, то всё ясно. Разраб протектора не предвидел эту ситуацию, впрочем он врядле знал, это системный механизм. Память читается серверным процессом до её распаковки.

Ранг: 404.8 (мудрец)
Статус: Участник

Создано: 17 мая 2019 23:18 New!
Цитата · Личное сообщение · #20

Alchemistry пишет:
Берешь нормальный манифест перешиваешь его вместо этого гавна и получаешь рабочую программу с поддержкой тем.

Да, всё получилось, спасибо.

Таки дело было в этом самом манифесте.

 eXeL@B —› Крэки, обсуждения —› Реверс AsProtect

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS