Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Протекторы —› Анализ ASProtect
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 38 . 39 . >>
Посл.ответ Сообщение

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

Создано: 28 марта 2008 15:30 · Поправил: vnekrilov
· Личное сообщение · #1

Я выложил свой первый туториал по анализу ASProtect v2.4 build 12.20 (Анализ подпрограммы эмуляции инструкций.rar http://dump.ru/files/o/o489862518/ ). В этом туториале я подробно описал процесс восстановления эмулированных инструкций типа:
Code:
  1. PUSH 0
  2. PUSH 0CC5850
  3. PUSH 0DB180C
  4. CALL 00CEB814


Полный цикл статей по распаковке ASProtect (Актуальная версия 25 декабря 2009):
ASProtect_Unpacking_Tutorial_2009-12-25.rar http://rapidshare.com/files/325720799/ASProtect_Unpacking_Tutorial_2009-12-25.rar 7,9 МБ
Программы, рассматриваемые в статьях:
ASProtect_Unpacking_Apps_2009-12-25.rar http://rapidshare.com/files/325718084/ASProtect_Unpacking_Apps_2009-12-25.rar 22,2 МБ

Буду благодарен за критику, замечания, пожелания и отзывы.

Скрипты:
Текущая рекомендуемая версия ODBGScript [1.78.3]:
ecf1_03.06.2010_CRACKLAB.rU.tgz - ODbgScript.dll

Последний текущий комплект скриптов [от 19 февраля 2011]:
69ca_18.02.2011_CRACKLAB.rU.tgz - Скрипты для распаковки Asprotect от 19 февраля 2011.rar

Статьи по частям:
Актуальная версия статей [Последняя - 25.11.2010]:
Выпуск 2
0754_29.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 1
2844_29.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 2
8e06_30.11.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 3
50a0_03.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 4
1b51_05.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 5
0ff8_05.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 5 (продолжение)
a182_06.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 6
82b8_15.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 7
74e4_16.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 8
b2e1_17.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 9
532c_18.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 10
76af_20.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 11
fe67_22.12.2009_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 12
079c_20.01.2010_CRACKLAB.rU.tgz - Распаковка ASProtect - Часть 13
8415_03.06.2010_CRACKLAB.rU.tgz - Распаковка Asprotect - Часть 14
0a66_18.02.2011_CRACKLAB.rU.tgz - Распаковка Asprotect - Части 15 и 16

DriEm конвертировал мой цикл статей в формате PDF, который можно скачать по ссылке --> Link <--




Ранг: 109.3 (ветеран), 55thx
Активность: 0.060
Статус: Участник
Yes! I_m noob!

Создано: 23 февраля 2011 09:45
· Личное сообщение · #2

vnekrilov, мой недосмотр. Спасибо. В ЛС кинул слёзную просьбу одного ребёнка....

-----
z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0=




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

Создано: 17 марта 2011 07:40 · Поправил: vnekrilov
· Личное сообщение · #3

Появился ли у кого-либо дистрибутив Asprotect 2.59 (не Демо-версия!)? Если у кого-либо он появился, поделитесь, пожалуйста.




Ранг: 109.3 (ветеран), 55thx
Активность: 0.060
Статус: Участник
Yes! I_m noob!

Создано: 19 марта 2011 01:45
· Личное сообщение · #4

vnekrilov, достали дистрибутив? Есть какие-нибудь новшества? И главное: скрипты годные для 2.59 (не надо ли допиливать)?
з.ы. Человек обещал кинуть фулл, но пропал

-----
z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0=




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

Создано: 19 марта 2011 07:55
· Личное сообщение · #5

[0utC4St] пишет:
vnekrilov, достали дистрибутив?


Жду!!! Возможно, что кто-то откликнется.



Ранг: 1.3 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 12:57
· Личное сообщение · #6

"Домашняя бухгалтерия" (keepsoft_dot_ru) упакована 259 вроде.
Скрипт от VolX говорит что unknown Asprotect API на одну из функций при распаковке.



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

Создано: 20 марта 2011 13:40 · Поправил: vnekrilov
· Личное сообщение · #7

stasionok пишет:
Скрипт от VolX говорит что unknown Asprotect API


VolX уже давно не корректировал свой скрипт. И в его скрипте имеется не совсем корректная обработка APIs Asprotect, которая и вызывает сообщение unknown Asprotect API. Когда я дорабатывал домашнюю бухгалтерию, она не была упакована Asprotect 2.59. Хотя, возможно, автор выложил новую версию этой программы, где и применил последнюю версию этого протектора. Надо будет посмотреть.

Желательно найти дистрибутив этой версии протектора, поэтому я и жду, что кто-либо откликнется, и поделится.

PS. Да, верно! Последняя версия программы защищена Asprotect 2.59 build 12.08.



Ранг: 42.9 (посетитель), 33thx
Активность: 0.040
Статус: Участник

Создано: 22 марта 2011 02:13 · Поправил: Konstantin
· Личное сообщение · #8

Нашел одну неприятную ошибку в скрипте - Восстановление эмулированных подпрограмм в коде программы.

Вот в этом месте лишняя команда STI
Code:
  1. mov eip,temp_2                                  // EIP на первой эмулированной инструкции
  2. STI                                         
  3. STI                                         
  4. STI                                         
  5. STI                                         
  6. RTR                                             // Выполняем до инструкции RETN
  7. STI                                          
  8. STI                                          
  9. STI                                          
  10. STI                                          
  11. STI                                             // Входим в VM


а нужно чтобы было так
Code:
  1. mov eip,temp_2                                  // EIP на первой эмулированной инструкции
  2. STI                                         
  3. STI                                         
  4. STI                                         
  5. STI                                         
  6. RTR                                             // Выполняем до инструкции RETN
  7. STI                                          
  8. STI                                          
  9. STI                                          
  10. STI                                          


Из за этого исполняется лишняя команда PUSHAD, и когда далее запускается виртуальная машина для восстановления эмулированных инструкций она получит не корректные данные через стек.



Ранг: 42.9 (посетитель), 33thx
Активность: 0.040
Статус: Участник

Создано: 22 марта 2011 03:47
· Личное сообщение · #9

P.S. Разобрался, это не ошибка, работа команы RTR зависит от настройки отладчика



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

Создано: 22 марта 2011 05:48 · Поправил: vnekrilov
· Личное сообщение · #10

При распаковке программы Advanced Find and Replace 6.1 я столкнулся с интересной ошибкой скрипта "Восстановление таблицы IAT и вызовов APIs.osc". Скрипт, при распаковке этой программы, показал следующее сообщение "Внимание! Новая версия Asprotect.dll! Откорректируйте код виртуальной машины для этой версии Asprotect.dll", и это не смотря на то, что программа упакована относительно старой версией протектора. Анализ работы скрипта показал, что в Asprotect.dll для этой программы заголовок массива данных для эмулированных инструкций, и сам массив данных не находятся вместе, а разнесены друг от друга на значительное расстояние - 17C90h байтов, хотя заголовок массива данных имеет размер - 1Ch байтов. С такой реализацией я встретился впервые, поэтому пришлось откорректировать скрипт, и ввести дополнительный поиск других вызовов эмулированных инструкций, в которых заголовок и массив данных находятся рядом. Если же во всех найденных вызовах эмулированных инструкций размер заголовка массива данных не будет равен 1Ch или 5Ch байтов, тогда скрипт покажет сообщение о новой версии Asprotect.dll

Поскольку я снова откорректировал скрипт "Восстановление таблицы IAT и вызовов APIs.osc", то аттач к этому топику я удалил, а откорректированный скрипт приложен в аттаче к следующему топику.



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

Создано: 22 марта 2011 09:09
· Личное сообщение · #11

Здесь я выкладываю откорректированный скрипт "Восстановление таблицы IAT и вызовов APIs.osc".

1509_21.03.2011_CRACKLAB.rU.tgz - Восстановление таблицы IAT и вызовов APIs.osc

| Сообщение посчитали полезным: hlmadip, Gideon Vi, SReg, d0wn, [0utC4St], DimitarSerg


Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 01 апреля 2011 10:36 · Поправил: PE_Kill
· Личное сообщение · #12

Восстанавливаю исходники интерпретатора ASProtect VM, который работает только для ASProtect.DLL, и вот что то ступор у меня. Есть там примитив:
Code:
  1. procedure VmPrimitive_MoveValueToOperand(const ByteCode: TVmByteCode;
  2.             const Operand: TVmOperand; Value: DWord; var VmContext: TVmContext);
  3. begin
  4.   Value := Value and OperandMask[VmContext.OperSize];
  5.   if Operand.OpType = voReg then
  6.     begin
  7.       if (VmContext.OperSize = SIZE_BYTE) and (Operand.RegIndex >= vrEsp) then
  8.         VmContext.RegsSpec[Operand.RegIndex] :=
  9.           (VmContext.RegsSpec[Operand.RegIndex] and $FFFF00FF) or (Value shl 8)
  10.       else
  11.         VmContext.Regs[Operand.RegIndex] :=
  12.           (VmContext.Regs[Operand.RegIndex] and (not OperandMask[VmContext.OperSize])) or Value
  13.       ;
  14.     end
  15.   else
  16.     begin
  17.       VmUpdateCurrentSegment(ByteCode, VmContext);
  18.       VmWriteValueToMemory(ByteCode, Operand.Value, Value, VmContext.OperSize, VmContext, True);
  19.     end
  20.   ;
  21. end;


Разве есть у процессора инструкции, позволяющие напрямую читать/писать в младший байт регистров SP, BP, SI, DI? Или есть команды косвенно его меняющие? Мне кажется это просто бред не выспавшегося программиста, т.к. интепретироваться это не может хотя бы потому, что контекст ВМ выглядит так:
Code:
  1. 00000010 RegSp           dd ?
  2. 00000014 RegBp           dd ?
  3. 00000018 RegSi           dd ?
  4. 0000001C RegDi           dd ?
  5. 00000020 RegEax          dd ?
  6. 00000024 RegEcx          dd ?
  7. 00000028 RegEdx          dd ?
  8. 0000002C RegEbx          dd ?
  9. 00000030 RegEsp          dd ?
  10. 00000034 RegEbp          dd ?
  11. 00000038 RegEsi          dd ?
  12. 0000003C RegEdi          dd ?

А скомпилированный код работы со спец регистрами так:
Code:
  1. 00CF87FD    833E 04         CMP DWORD PTR DS:[ESI],4 ; if RegIndex < REG_ESP
  2. 00CF8800    72 0D           JB SHORT 00CF880F ; уходим
  3. 00CF8802    8B06            MOV EAX,DWORD PTR DS:[ESI] ; читаем индекс регистра
  4. 00CF8804    8B4483 10       MOV EAX,DWORD PTR DS:[EBX+EAX*4+10] ; получаем его значение в спец массиве
  5. 00CF8808    C1E8 08         SHR EAX,8
  6. 00CF880B    23C7            AND EAX,EDI

Т.е. массив со спец регистрами находится по смещению +10, а массив с нормальными регистрами по смещению +20,

Т.е. при условии, что регистр должен быть больше или равен 4, то алгоритм залезет в массив с нормальными регистрами. А ошибка кроется в неправильном объявлении массива. Там скорее всего объявлено так:
Code:
  1. {0x10} RegsSpec : packed array [0..3] of DWord;
  2. {0x20} Regs     : packed array [0..7] of DWord;

а должно быть либо так:
Code:
  1. {0x10} RegsSpec : packed array [4..7] of DWord;
  2. {0x20} Regs     : packed array [0..7] of DWord;

либо работать с массивом так:
Code:
  1. VmContext.RegsSpec[Operand.RegIndex - 4] :=...


Ну и собственно интересует ответ на вопрос, озвученный в начале.

-----
Yann Tiersen best and do not fuck





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 01 апреля 2011 12:44
· Личное сообщение · #13

Возможно, аспр готовится к х64 на одних сорцах, ибо там есть spl,bpl,sil и dil регистры.



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

Создано: 31 мая 2011 20:25
· Личное сообщение · #14

На сайте разработчика появилась информация о выходе новых версий продуктов:

ASProtect 1.61
ASProtect 2.63 SKE


Может ли кто-либо поделиться дистрибутивами этих программ?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 31 мая 2011 21:46
· Личное сообщение · #15

Дистрибов нет, есть ченжлог:
ASPack 2.28
° Indonesian localization has been added
° Russian GUI messages have been corrected
° Compression algorithm of files with checksum has been fixed
ASProtect 1.61
° New option has been added. It prevents end-users from setting system time backwards and works for time-lim ited Registration Keys
° A crash that occurred after Hardware ID change has been fixed
ASProtect 2.63 SKE
° New option has been added. It prevents end-users from setting system time backwards and works for time-limited Registration Keys


-----
Yann Tiersen best and do not fuck




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

Создано: 08 июня 2011 14:13 · Поправил: VodoleY
· Личное сообщение · #16

Всем добрый день. Прошу совета где я че нитак понял.
1. имеем прогу накрытую аспротом.
2. имеем пошифрованный участок кода. ключа естественно нет.
пару дней копал АсПрот.длл а конкретно SetUserKey интересует пару моментов. из того что понял
1. из ключа считаеца хеш типа CRC32
2. Ключом инициируеца MD5 HASH res=16byte
3. Этим результатом инициализируеца RC4 ключ res=256
4. Идет дешифровка данны по RC4
Внимание вопросы.
1. верно ли все перечисленное?
2. где аспр хранит адреса пошифрованных участков? по всей видимости в этой аспр.длл
3. CRC пароля сверяеца ж вроде до начала дешифрования (перед началом дешифрации какойто мутный цикл анализирующий данные блоками по 5A9h байт где и сверяюца хеши)
З.Ы. если я прав, то на ключи длинной не более 4ех байт можно организовать атаку

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 08 июня 2011 14:27
· Личное сообщение · #17

VodoleY
Какая версия аспра?

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 08 июня 2011 14:28
· Личное сообщение · #18

ARCHANGEL а я х3... ктото вроде выкладывал статический анализатор версии аспра. но чет я его не скачал, а ща найти не могу

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 08 июня 2011 14:39 · Поправил: ARCHANGEL
· Личное сообщение · #19

--> Aspr_Info <-- попробуйте. Там статика и не нужна. Ну, только если PE_Kill очень хочет - мы ж не можем ему отказать (его анализатор)

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 08 июня 2011 14:42 · Поправил: VodoleY
· Личное сообщение · #20

2.58 build 11.11

http://exelab.ru/f/action=vthread&forum=13&topic=11916#30
прочитал. но вопросы поставленный всеже теже

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 08 июня 2011 14:52
· Личное сообщение · #21

VodoleY
Билд относительно новый, хз. Может, кто и смотрел его - напишут что-то.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 09 июня 2011 08:13 · Поправил: PE_Kill
· Личное сообщение · #22

После статьи shooo алго изменили вот так:
Code:
  1. ZeroMemory(@HashModeTable);
  2. ReverseAndCopy(ReverseP5, ModeP5);
  3. HashP5 := CreateSha256Digest(ReverseP5, Length(ReverseP5));
  4. HashModeTable := XorBuffByTable(HashModeTable, HashP5, Length(HashP5));
  5. HashModeTable := CreateSha256Digest(HashModeTable, Length(HashModeTable));
  6.  
  7. EncKey := CreateMd5Digest(CalcSalt(ModeP5) + EncConst, 4);
  8. EncKey := XorBuffByTable(EncKey, HashModeTable, 16);
  9. EncKey := XorBuffByConst(EncKey, 16);
  10.  
  11. for i := 1 to 30000 do
  12. begin
  13.   EncKey := XorBuffByTable(EncKey, CreateSha256Digest(EncKey, 16), 16);
  14.   EncKey := CreateMd5Digest(EncKey, 16);
  15. end;
  16.  
  17. EncKey := CreateMd5Digest(EncKey, 16);
  18.  
  19. RC4Init(EncKey, 16);
  20. RC4Decrypt(EncTable, TableSize);


ModeP5 - константа P5 из проекта аспра, для текущего ModeID
EncConst - ключ дешифрования кусков кода
EncKey - ключ дешифрования таблиц с адресами пошифрованного кода
EncTable - те самые таблицы
CreateSha256Digest - почти оригинальный алгоритм
CalcSalt - кастомная функция вычисления соли из не перевернутого P5, всегда под VM
XorBuffByTable - цикл ксора таблиц друг на друга DWORD'ами, всегда под VM
XorBuffByConst - кастомная функция шифрования DWORD'ов таблиц, всегда под VM


-----
Yann Tiersen best and do not fuck


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

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

Создано: 09 июня 2011 08:34 · Поправил: VodoleY
· Личное сообщение · #23

Есть мнение что алго при использовании привязки по ключу ("%ProgramFiles%\ASProtect SKE 2.51 Beta\Examples\User Key\Delphi\.." ) все же другое, проще, старее... извиняюсь, что не уточнил это в первом посте

Code:
  1. EncKey="KEY";
  2. EncKey := CreateMd5Digest(EncKey, 16);
  3. RC4Init(EncKey, 16);
  4. RC4Decrypt(EncTable, TableSize);


Причем сам "KEY" при достаточно маленьком размере (а он в экзампле 3 байта а у меня 4) брутица фул менее чем за 12 минут. ибо есть его хеш... где я не прав?

З.Ы. про расшифровку таблицы адресов не догнал. спс
З.Ы.Ы. спасибо ПЕ_Килу.. за подсказки, все получилось все процедуры расшифрованы и восстановлены. Имеем дыру на ключах малого размера (или составленного из малого диапазона символов, например чисел) брут 0..FFFF FFFF вариаций менее 12 минут.

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 10 июня 2011 13:49
· Личное сообщение · #24

При работе скрипта "Восстановление секции импорта (.idata) в распакованных программах.osc "получаю сообщение на ввод имени функции. Как это исправить или что туда нужно вводить?



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

Создано: 10 июня 2011 15:44
· Личное сообщение · #25

yanus0 попробуй на всякий случай CodeDoctor у мну он в автомате аспр распаковывает

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 10 июня 2011 16:14
· Личное сообщение · #26

VodoleY
Спасибо, попробую.



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 23 августа 2011 12:00
· Личное сообщение · #27

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



Ранг: 4.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 октября 2011 22:27
· Личное сообщение · #28

при запуске "Поиск OEP (SBOEP).osc" выдает "Ошибка!!! Программа не остановлена на подпрограмме записи таблицы IAT!" что делать?

а старый скрипт от 01 декабря 2008 ошибки не выдает..



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

Создано: 28 октября 2011 07:55
· Личное сообщение · #29

DAKnnn пишет:
при запуске "Поиск OEP (SBOEP).osc" выдает "Ошибка!!! Программа не остановлена на подпрограмме записи таблицы IAT!" что делать?


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

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

Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 февраля 2012 02:45 · Поправил: Lauarvik
· Личное сообщение · #30

на версии ASProtect [1.56 build 03.17], [Alexey Savin] (по информации ASPrINF v1.6 Beta)
некорректно работает скрипт
"Очистка мусорного кода в областях со Stolen Code.osc"
// Дата - 19 февраля 2011
по причине, что первый байт последовательности, типа
#XXEB02CD20# может являться частью предыдущей команды, после замены которого на 0x90, разумеется, херится алгоритм и программа падает.
ЗЫ: если нужен конкретный дистрибутив защищенной программы, могу скинуть в личку ссылку на него.



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 18 февраля 2012 03:09
· Личное сообщение · #31

Lauarvik пишет:
некорректно работает скрипт

дык написано же
"Предупреждение!!! При работе этого скрипта возможно повреждение кода в некоторых инструкциях!" так же может быть полезен плагин CodeDoctor


<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 38 . 39 . >>
 eXeL@B —› Протекторы —› Анализ ASProtect
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати