Сейчас на форуме: surunnerr, cyberlabs, asfa (+8 невидимых)

 eXeL@B —› Оффтоп —› Программы, обработанные Темидой
Посл.ответ Сообщение

Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 10 декабря 2007 17:09
· Личное сообщение · #1

Ищу программы, которые авторы накрывают свежими версиями лицензионной Темиды или Winlicense



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 10 декабря 2007 20:48
· Личное сообщение · #2

дотнет или вин32? у мну есть то и то..



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 10 декабря 2007 23:08
· Личное сообщение · #3

Пока только win32



Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 12 декабря 2007 15:00
· Личное сообщение · #4

tempread пишет:
Пока только win32

Любые подойдут? Или нужен триал, и т.п.?



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 12 декабря 2007 15:28
· Личное сообщение · #5

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



Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 12 декабря 2007 16:49
· Личное сообщение · #6

Вот весёлая прога. Themida Unpacker v20 не берёт её. (( Возможно там макросы какие-то используются ((

rapidshare.com/files/76056185/TreeVisualizer.rar.html

P.S. Если что будет интересное - сообщи, пожалуйста. Я тоже немного пытаюсь темиду снять с этой проги.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 13 декабря 2007 14:41
· Личное сообщение · #7

HellStudent
OEP целое,импорт с переходниками востанавливается. Но там используется опция Темиды CodeReplace, а это как раз то,с чем я еще не разобрался С этой опцией разбираюсь на своем многострадальном калькуляторе, когда там получится, тогда и на этой проге потестирую метод.



Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 13 декабря 2007 19:49
· Личное сообщение · #8

tempread

Так и думал про макросы.

Ладно, удачи разобраться, ждём новостей!




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 14 декабря 2007 07:51 · Поправил: Maximus
· Личное сообщение · #9

tempread шо за кодереплейс, это не тот код который выполняется в VM ?
Или это тот который расшифровывается только на время выполнения?

-----
StarForce и Themida ацтой!




Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 14 декабря 2007 12:38
· Личное сообщение · #10

Maximus
www.oreans.com./images/screenshots/codereplace.png

Из хелпа:

CodeReplace is a new technology that randomly takes some parts of an application code and replace them with garbage code. SecureEngine® encrypts and stores the real code in a secure place mixed with SecureEngine® itself. The real code is dynamically decrypted and executed only if the protection scheme is valid and present. CodeReplace has specialized techniques to defeat all debuggers when the real code is executed. If an attacker tries to recompose the original program he will get the garbage code instead of the real code. In the unlikely event that an attacker totally removes the protection scheme, he will also remove the original code that has become part of SecureEngine®.




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 14 декабря 2007 20:13 · Поправил: Maximus
· Личное сообщение · #11

tempread все, понял, это код который декриптуеццо только на время выполнения, обходиццо каг два польца обоссать....
Можно легко обернуть процу раскриптовки, она похожа на ту что описал пе_килл в своей статье по темиде ;)

Это если я правильно понял про что тут написано))

-----
StarForce и Themida ацтой!




Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 14 декабря 2007 20:47
· Личное сообщение · #12

Maximus
Честно говоря, я еще статью не читал, намеренно, что бы самому попробовать изучить новый для себя протектор. Но что-то я застрял на этом CodeReplace, дампить пробую и так и эдак,но ничего не получается,несколько раз проходит подмененную функцию,а на n-ной итерации вылетает. Попробую еще статью PE_Kill'а изучить.



Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 декабря 2007 12:53
· Личное сообщение · #13

tempread:
Но там используется опция Темиды CodeReplace

Кстати, а с чего ты решил, что там именно CodeReplace ? Есть же ещё и другие макросы



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 16 декабря 2007 14:06 · Поправил: tempread
· Личное сообщение · #14

HellStudent
Может и другие. Я исследую калькулятор запакованый с этой опцией. И код в твоей программе похож на код из калькулятора. Кстати, а чего инлайн не сделаешь ? И не надо будет распаковывать...

Maximus
все, понял, это код который декриптуеццо только на время выполнения, обходиццо каг два польца обоссать....


Не знаю шифруется код или нет, но к сожалению, там не все так просто, похоже VM задействуется, хотя может это метаморф очень размазывает код с данными...

Как пример, выкладываю калькулятор, запакованый Темидой с одной лишь опцией - кодереплейс функции по адресу 1007bd1.
OEP: 1012475,импорт целый :rva=1001000,size=224
http://dump.ru/files/n/n562664837/ http://dump.ru/files/n/n562664837/
Пароль: 123




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 17 декабря 2007 08:56 · Поправил: Maximus
· Личное сообщение · #15

tempread если юзается VM то на новых ерсиях прота она должна замечательно работать в распакованных файлах, на старых инлайн, что бы не мучатся с распаковкой, потому как там есть секции, которые лежат ниже ImageBase. И эти секции юзает VM.

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

-----
StarForce и Themida ацтой!




Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 17 декабря 2007 09:42
· Личное сообщение · #16

Maximus пишет:
Инлайн однозначно будет рулит

Ну так понятно кто за тебя инлйнит



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 17 декабря 2007 11:59
· Личное сообщение · #17

Maximus
Это версия 1.9.1.0. Просто она странно выглядит из-за выключенных опций "Compression"
Я дамплю эту VM, она замечательно и правильно(!) работает, но только определенной количество раз, а потом проэмулированная функция начинает глючить. Т.е. если VM накрыта функция которая только пару раз отрабатывает на старте программы, то все будет нормально работать, а вот если функа срабатывает много раз - тут и наступает




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 17 декабря 2007 17:04
· Личное сообщение · #18

По сабжу кидаю это:
AVSVideoConverter

-----
StarForce и Themida ацтой!




Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 января 2008 11:50
· Личное сообщение · #19

tempread
Кстати, обновилась прога:
rapidshare.com/files/85115556/TreeVisualizer.rar.html

Может что и в защите поменялось, ... хз.




Ранг: 107.3 (ветеран), 5thx
Активность: 0.20.04
Статус: Участник

Создано: 20 января 2008 16:24
· Личное сообщение · #20

RadioClicker PRO
radioclicker.com/



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 21 января 2008 23:58
· Личное сообщение · #21

HellStudent
В этой проге я видел штук 6 разных макросов,причем они иногда как-то пересекаются (ХЗ как это делается)
А еще эта прога зачем-то хукает несколько функций,например, CreateThread.. Поэтому возможно у нее есь какая-то своя защита... Даже не хукает, я не знаю как это правильно называется,но я видел как это делается. Программа правит адреса в своем импорте, и таким образом изменяет вызовы оригинальных функций.
Поэтому,как я и говорил раньше,ее проще всего заинлайнить.

Magister Yoda
Это .NET, а я еще не знаю как к нему подступится,мне пока хватает что изучать в Темиде на win32




Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 22 января 2008 20:03
· Личное сообщение · #22

tempread:
А еще эта прога зачем-то хукает несколько функций,например, CreateThread..

Да? Как ты это определил?



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 22 января 2008 20:29 · Поправил: tempread
· Личное сообщение · #23

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

00476978 > \55 PUSH EBP
00476979 . 8BEC MOV EBP,ESP
0047697B . 83C4 F8 ADD ESP,-8
0047697E . 53 PUSH EBX
0047697F . 56 PUSH ESI
00476980 . 57 PUSH EDI
00476981 . 8B7D 1C MOV EDI,DWORD PTR SS:[EBP+1C]
00476984 . 8B75 14 MOV ESI,DWORD PTR SS:[EBP+14]
00476987 . 833D A0F06100>CMP DWORD PTR DS:[61F0A0],0
0047698E . 75 1A JNZ SHORT Dumped_.004769AA
00476990 . 68 986B4700 PUSH Dumped_.00476B98 ; /ProcNameOrOrdinal = "CreateThread"
00476995 . 68 A86B4700 PUSH Dumped_.00476BA8 ; |/pModule = "kernel32.dll"
0047699A . E8 E515F9FF CALL <JMP.&kernel32.GetModuleHandleA> ; |\GetModuleHandleA
0047699F . 50 PUSH EAX ; |hModule
004769A0 . E8 0716F9FF CALL <JMP.&kernel32.GetProcAddress> ; \GetProcAddress
004769A5 . A3 A0F06100 MOV DWORD PTR DS:[61F0A0],EAX
004769AA > 833D 60F16100>CMP DWORD PTR DS:[61F160],0
004769B1 . 75 05 JNZ SHORT Dumped_.004769B8
004769B3 . E8 38F1FFFF CALL Dumped_.00475AF0
004769B8 > 803D 80BC6000>CMP BYTE PTR DS:[60BC80],0
004769BF . 0F84 AC010000 JE Dumped_.00476B71
004769C5 . A1 DCF06100 MOV EAX,DWORD PTR DS:[61F0DC]
004769CA . E8 0D0A0000 CALL Dumped_.004773DC
004769CF . 33D2 XOR EDX,EDX
004769D1 . A1 DCF06100 MOV EAX,DWORD PTR DS:[61F0DC]
004769D6 . E8 C5090000 CALL Dumped_.004773A0
004769DB . 8BD8 MOV EBX,EAX
004769DD . 8973 24 MOV DWORD PTR DS:[EBX+24],ESI
004769E0 . 85FF TEST EDI,EDI
004769E2 . 75 08 JNZ SHORT Dumped_.004769EC
004769E4 . 33C0 XOR EAX,EAX
004769E6 . 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
004769E9 . 8D7D F8 LEA EDI,DWORD PTR SS:[EBP-8]
004769EC > 8B15 D4F16100 MOV EDX,DWORD PTR DS:[61F1D4]
004769F2 . 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
004769F5 . E8 3A70FEFF CALL Dumped_.0045DA34
004769FA . 84C0 TEST AL,AL
004769FC . 0F84 9E000000 JE Dumped_.00476AA0
00476A02 . 8B06 MOV EAX,DWORD PTR DS:[ESI]
00476A04 . 8B15 60F16100 MOV EDX,DWORD PTR DS:[61F160]
00476A0A . E8 2570FEFF CALL Dumped_.0045DA34
00476A0F . 84C0 TEST AL,AL
00476A11 . 74 5E JE SHORT Dumped_.00476A71
00476A13 . 8BC6 MOV EAX,ESI
00476A15 . 8B10 MOV EDX,DWORD PTR DS:[EAX]
00476A17 . 8953 1C MOV DWORD PTR DS:[EBX+1C],EDX
00476A1A . 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
00476A1D . 8953 24 MOV DWORD PTR DS:[EBX+24],EDX
00476A20 . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
00476A23 . 8943 10 MOV DWORD PTR DS:[EBX+10],EAX
00476A26 . BA 58BC6000 MOV EDX,Dumped_.0060BC58 ; ASCII "DCE"
00476A2B . 8B43 10 MOV EAX,DWORD PTR DS:[EBX+10]
00476A2E . B9 03000000 MOV ECX,3
00476A33 . E8 A4FFFDFF CALL Dumped_.004569DC
00476A38 . 84C0 TEST AL,AL
00476A3A . 75 1A JNZ SHORT Dumped_.00476A56
00476A3C . 8B43 10 MOV EAX,DWORD PTR DS:[EBX+10]
00476A3F . E8 B0D6F8FF CALL Dumped_.004040F4
00476A44 . B9 BC654700 MOV ECX,Dumped_.004765BC
00476A49 . BA 01000000 MOV EDX,1
00476A4E . E8 89C0FDFF CALL Dumped_.00452ADC
00476A53 . 8943 18 MOV DWORD PTR DS:[EBX+18],EAX
00476A56 > 57 PUSH EDI
00476A57 . 6A 04 PUSH 4
00476A59 . 56 PUSH ESI
00476A5A . 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
00476A5D . 50 PUSH EAX
00476A5E . 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00476A61 . 50 PUSH EAX
00476A62 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00476A65 . 50 PUSH EAX
00476A66 . FF15 A0F06100 CALL DWORD PTR DS:[61F0A0] ; kernel32.CreateThread
00476A6C . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00476A6F . EB 4F JMP SHORT Dumped_.00476AC0
00476A71 > 8BC6 MOV EAX,ESI
00476A73 . 8B10 MOV EDX,DWORD PTR DS:[EAX]
00476A75 . 8953 1C MOV DWORD PTR DS:[EBX+1C],EDX
00476A78 . 8B50 04 MOV EDX,DWORD PTR DS:[EAX+4]
00476A7B . 8953 24 MOV DWORD PTR DS:[EBX+24],EDX
00476A7E . BA 14674700 MOV EDX,Dumped_.00476714
00476A83 . 8910 MOV DWORD PTR DS:[EAX],EDX
00476A85 . 57 PUSH EDI
00476A86 . 6A 04 PUSH 4
00476A88 . 56 PUSH ESI
00476A89 . 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
00476A8C . 50 PUSH EAX
00476A8D . 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00476A90 . 50 PUSH EAX
00476A91 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00476A94 . 50 PUSH EAX
00476A95 . FF15 A0F06100 CALL DWORD PTR DS:[61F0A0] ; kernel32.CreateThread
00476A9B . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00476A9E . EB 20 JMP SHORT Dumped_.00476AC0
00476AA0 > 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
00476AA3 . 8943 20 MOV DWORD PTR DS:[EBX+20],EAX
00476AA6 . 57 PUSH EDI
00476AA7 . 6A 04 PUSH 4
00476AA9 . 56 PUSH ESI
00476AAA . 68 44684700 PUSH Dumped_.00476844
00476AAF . 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00476AB2 . 50 PUSH EAX
00476AB3 . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00476AB6 . 50 PUSH EAX
00476AB7 . FF15 A0F06100 CALL DWORD PTR DS:[61F0A0] ; kernel32.CreateThread
00476ABD . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00476AC0 > 837D FC 00 CMP DWORD PTR SS:[EBP-4],0
00476AC4 . 0F84 8A000000 JE Dumped_.00476B54
00476ACA . BA 58BC6000 MOV EDX,Dumped_.0060BC58 ; ASCII "DCE"
00476ACF . 8B43 10 MOV EAX,DWORD PTR DS:[EBX+10]
00476AD2 . B9 03000000 MOV ECX,3
00476AD7 . E8 00FFFDFF CALL Dumped_.004569DC
00476ADC . 84C0 TEST AL,AL
00476ADE . 75 74 JNZ SHORT Dumped_.00476B54
00476AE0 . 8B07 MOV EAX,DWORD PTR DS:[EDI]
00476AE2 . 8903 MOV DWORD PTR DS:[EBX],EAX
00476AE4 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00476AE7 . 8943 04 MOV DWORD PTR DS:[EBX+4],EAX
00476AEA . A1 DCF06100 MOV EAX,DWORD PTR DS:[61F0DC]
00476AEF . E8 94080000 CALL Dumped_.00477388
00476AF4 . 33C0 XOR EAX,EAX
00476AF6 . 55 PUSH EBP
00476AF7 . 68 4D6B4700 PUSH Dumped_.00476B4D
00476AFC . 64:FF30 PUSH DWORD PTR FS:[EAX]
00476AFF . 64:8920 MOV DWORD PTR FS:[EAX],ESP
00476B02 . 8BD3 MOV EDX,EBX
00476B04 . A1 DCF06100 MOV EAX,DWORD PTR DS:[61F0DC]
00476B09 . E8 CA60FAFF CALL Dumped_.0041CBD8
00476B0E . 803D 88F16100>CMP BYTE PTR DS:[61F188],0
00476B15 . 74 1E JE SHORT Dumped_.00476B35
00476B17 . 68 B86B4700 PUSH Dumped_.00476BB8 ; /ProcNameOrOrdinal = "EurekaLog_CallCreateThread"
00476B1C . A1 007E6100 MOV EAX,DWORD PTR DS:[617E00] ; |
00476B21 . 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
00476B23 . 50 PUSH EAX ; |hModule
00476B24 . E8 8314F9FF CALL <JMP.&kernel32.GetProcAddress> ; \GetProcAddress
00476B29 . 8BF8 MOV EDI,EAX
00476B2B . 89FE MOV ESI,EDI
00476B2D . 85FF TEST EDI,EDI
00476B2F . 74 04 JE SHORT Dumped_.00476B35
00476B31 . 8BC3 MOV EAX,EBX
00476B33 . FFD6 CALL ESI
00476B35 > 33C0 XOR EAX,EAX
00476B37 . 5A POP EDX
00476B38 . 59 POP ECX
00476B39 . 59 POP ECX
00476B3A . 64:8910 MOV DWORD PTR FS:[EAX],EDX
00476B3D . 68 606B4700 PUSH Dumped_.00476B60
00476B42 > A1 DCF06100 MOV EAX,DWORD PTR DS:[61F0DC]
00476B47 . E8 48080000 CALL Dumped_.00477394
00476B4C . C3 RETN
00476B4D .^ E9 9EDEF8FF JMP Dumped_.004049F0
00476B52 .^ EB EE JMP SHORT Dumped_.00476B42
00476B54 > BA 32000000 MOV EDX,32
00476B59 . 8BC3 MOV EAX,EBX
00476B5B . E8 1CC2F8FF CALL Dumped_.00402D7C
00476B60 . 837D 18 00 CMP DWORD PTR SS:[EBP+18],0
00476B64 . 75 26 JNZ SHORT Dumped_.00476B8C
00476B66 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00476B69 . 50 PUSH EAX
00476B6A . E8 ED15F9FF CALL Dumped_.0040815C
00476B6F . EB 1B JMP SHORT Dumped_.00476B8C
00476B71 > 57 PUSH EDI
00476B72 . 8B45 18 MOV EAX,DWORD PTR SS:[EBP+18]
00476B75 . 50 PUSH EAX
00476B76 . 56 PUSH ESI
00476B77 . 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
00476B7A . 50 PUSH EAX
00476B7B . 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00476B7E . 50 PUSH EAX
00476B7F . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00476B82 . 50 PUSH EAX
00476B83 . FF15 A0F06100 CALL DWORD PTR DS:[61F0A0] ; kernel32.CreateThread
00476B89 . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00476B8C > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00476B8F . 5F POP EDI
00476B90 . 5E POP ESI
00476B91 . 5B POP EBX
00476B92 . 59 POP ECX
00476B93 . 59 POP ECX
00476B94 . 5D POP EBP
00476B95 . C2 1800 RETN 18




Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 22 января 2008 20:33 · Поправил: tempread
· Личное сообщение · #24

А вообще, перехватываются вот эти функции(хотя могу и ошибиться, это все "на скорую руку"):
0061F098 7C81EAE1 kernel32.RaiseException
0061F09C 7C937A40 ntdll.RtlUnwind
0061F0A0 7C81082F kernel32.CreateThread
0061F0A4 7C81E92A kernel32.ResumeThread
0061F0A8 7C80CCA9 kernel32.ExitThread
0061F0AC 7C810F9F kernel32.WriteFile



Ранг: 47.5 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 24 января 2008 11:35
· Личное сообщение · #25

tempread :
00476B17 . 68 B86B4700 PUSH Dumped_.00476BB8 ; /ProcNameOrOrdinal = "EurekaLog_CallCreateThread"

...

0061F098 7C81EAE1 kernel32.RaiseException


В общем, там EurekaLog используется. Она и перехватывает подобные ф-ии.

Кстати, наверное для тестирования, а может ещё для чего, там по сочетанию клавиш (методом тыка, см. сочетания в mainMenu было определено, что это Ctrl + Shift + E. Может ещё что есть, хз) можно вызвать специальный exception.

Про другие перехваты не могу точно сказать, но CreateThread и ResumeThread скорее всего для Themida. Она же для своей защиты дофига потоков создаёт. Точнее см. в справке к протектору.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 24 января 2008 13:19
· Личное сообщение · #26

HellStudent пишет:
но CreateThread и ResumeThread скорее всего для Themida

Нет, потому что, перехват делается в секции кода программы, а не в секции темиды. Да и само тело функции находится в секции программы, чтобы это проверить, достаточно в Оле открыть програму и сверить адреса.


 eXeL@B —› Оффтоп —› Программы, обработанные Темидой

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати