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

 eXeL@B —› Основной форум —› Взлом dotNET программ
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 49 . 50 . >>
Посл.ответ Сообщение

Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 30 августа 2010 22:59 · Поправил: s0l
· Личное сообщение · #1

Со времени создания топика много обсудили, во много м разобрались и много осталось за кадром. Решил подшить выкладываемый софт и линки

Инструменты:

dnSpy - бодрый декомпилятор и отладчик тут беты

Gray Wolf - DE-ObfuScatE / Edit IL(Live) / Add payloads / Edit attributes(public/privet) / Copy strong names signing on EXE/DLL
ReSharper 6.0 Build 2093 Pre-Release - Очень навороченый декомпилер, побробности --> ТУТ <--.
Рег-данные:
Code:
  1. User Name: ReSharper EAP User
  2. License Key: 0-A60kqsqDMPkvPrLC3bz1/jmns4/DAUV6
  3. which is valid until 31 March 2010

Reflector 8.3.3.115 - платный декомпилятор .NET 8.3.0.95 + (дополнение к нему)
Седьмая версия рефлектора - думаю все знают
Сборка Add-in'ов для Reflector - есть много полезных вещей
.Net ID 1.0.0.3 - определение защиты
DNiD by Rue - сигнатурный анализатор
Dotnet IL Editor (DILE)- Opensource дизассемблер и дебаггер
Xenocode Fox Code Analyzer- профайлер и дизассемблер
Reactor Decryptor 1.7 - что то декриптит, но что не понятно(с) zeppe1in
Simple Assembly Explor (SAE) - Assembler, Disassembler, Deobfuscator, IL editor and more...
DotNet Dumper 1.0 - Дампер .net'овских приложений. Подробное описание
Kurapica dotNET Tracer 1.1 - трейсер от известного автора инструментов для .net
ILSpy 1.0.0.481 - Opensource комбайн, на подобие SAE. Подробности тут
dotTrace Performance 4.0.665.4 - Неплохой трейсер для .Net приложений. Умеет делать трейсы не смешивая потоки как KDT. Умеет сравнивать трейсы двух запусков программы
Рег-данные:
Code:
  1. Name: exelab
  2. Serial: OLgDSHG0hJghkLdXYJh1IjM3ytMrqKcn

Universal Fixer 1.0 - fix dumps after dumping them whit Dotnet Dumper or other similiar tools and will also fix nasty things: multiple assembly/module definitions, wrong extends, etc.
iMPROVE .NET Deobfuscator - деобфускатор


ConfuserDumper
ConfuserDelegateKiller
CodeCrackerTools: ConfuserMethodsDecryptor, ConfuserDelegateKiller, ConfuserStringDecryptor, MegaDumper, etc.

Статьи с хабры:
Защита .NET приложений - Субъективная теоретическая муть с хабры, выдаваемая за обзор обфускаторов(только для фанатов)
Как обмануть NET.Reflector - вот это уже годная статья, в которой рассматривается ручная обфускация в стихах и картинках
Взлом программ для чайников - ну не знаю...прописные истины, но приятно, что все это есть на русском языке и нормально оформлено
Реверс-инжиниринг обфусцированной сборки .NET - один только заголовок чего стоит. По сути статья информативная
Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET
Избавление .NET программы от регистрации на примере BEM
Снимаем дамп объектов с памяти .Net приложения

Другое:
.NET Reflector v7.0.0.198 (C# Source by wangshy)
[url=http://lifeinhex.com/string-decryption-with-de4dot/]String decryption with de4dot[/url

-

Last edit: 2012-02-17, Links fixed. Jupiter]



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

Создано: 25 июля 2012 21:17
· Личное сообщение · #2

zeppe1in
нет,дело не в реакторе,предыдущая версия деобфусцировалась и патчилась в SAE без проблем.Эту версию пропустил через DeDot,попробовал сохранить изменённый файл в SAE-получил вышеописанную ошибку



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 25 июля 2012 22:04
· Личное сообщение · #3

igorca пишет:
понятно,что можно пропатчить в хекс редакторе

пропатчить что?


igorca пишет:
Сама программа http://rghost.ru/39410840

ето оригинал или уже ктото прошелся по ней?



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

Создано: 25 июля 2012 22:16
· Личное сообщение · #4

sendersu
Пропатчить ехе,поменяв некоторые байты в хекс редакторе
ето оригинал или уже ктото прошелся по ней?-->
Оригинал с офсайта



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 26 июля 2012 12:54
· Личное сообщение · #5

igorca
кажись ето баги самого протектора.



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

Создано: 29 июля 2012 16:18 · Поправил: igorca
· Личное сообщение · #6

sendersu пишет:
кажись ето баги самого протектора.

Вряд ли
Вот ещё одна программа http://rghost.ru/39464447 -код чистый,обфускации нет,при внесении изменений и сохранении файла в sae вылазит такая же хрень:
Code:
  1. Could not resolve: Common.Data, Version=3.1.4518.15601, Culture=neutral, PublicKeyToken=null
  2.    в Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters)
  3.    в Mono.Cecil.DefaultAssemblyResolver.Resolve(AssemblyNameReference name)
  4.    в Mono.Cecil.MetadataResolver.Resolve(IAssemblyResolver resolver, TypeReference type)
  5.    в Mono.Cecil.TypeReference.Resolve()
  6.    в Mono.Cecil.Mixin.CheckedResolve(TypeReference self)
  7.    в Mono.Cecil.MetadataBuilder.GetConstantType(TypeReference constant_type, Object constant)
  8.    в Mono.Cecil.MetadataBuilder.AddConstant(IConstantProvider owner, TypeReference type)
  9.    в Mono.Cecil.MetadataBuilder.AddField(FieldDefinition field)
  10.    в Mono.Cecil.MetadataBuilder.AddFields(TypeDefinition type)
  11.    в Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
  12.    в Mono.Cecil.MetadataBuilder.AddTypeDefs()
  13.    в Mono.Cecil.MetadataBuilder.BuildTypes()
  14.    в Mono.Cecil.MetadataBuilder.BuildModule()
  15.    в Mono.Cecil.MetadataBuilder.BuildMetadata()
  16.    в Mono.Cecil.ModuleWriter.<BuildMetadata>b__0(MetadataBuilder builder, MetadataReader _)
  17.    в Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
  18.    в Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
  19.    в Mono.Cecil.ModuleWriter.WriteModuleTo(ModuleDefinition module, Stream stream, WriterParameters parameters)
  20.    в Mono.Cecil.ModuleDefinition.Write(Stream stream, WriterParameters parameters)
  21.    в Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
  22.    в Mono.Cecil.AssemblyDefinition.Write(String fileName)
  23.    в SimpleAssemblyExplorer.frmClassEdit.SaveAssembly()
  24.    в SimpleAssemblyExplorer.frmClassEdit.tbSave_Click(Object sender, EventArgs e)

Мне кажется какие то бока в mono.cecil.Вот только как это исправить?



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 21 августа 2012 18:57
· Личное сообщение · #7

New version: 1.9.1
Supports the latest CryptoObfuscator build
Fixed some Mono.Cecil antis and bugs


--> de4dot 1.9.1 <--

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


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 01 сентября 2012 23:19 · Поправил: 4kusNick
· Личное сообщение · #8

Может кому будет инетерсно, наткнулся на просторах инета на парочку интересных крякмишек с кастомными защитами:

1. http://www.mediafire.com/?6k690ofnq96o7qg
Virus Total
В случае успеха, должен появиться мессаж бокс

и такой gui бокс


При запуске должен вываливаться мессаж бокс с надписью "Can you crack me?".
Прога при запуске ломится в сеть, это нормально, она ничего не отсылает (только скачивает).

2. http://www.2shared.com/file/Cs0w6eeo/Crack_me_1.html
Virus Total
При запуске должно выглядеть так:


3. https://dl.dropbox.com/u/29484438/CrackMe.exe
Virus Total
При запуске должно писать красными буквами "You did not bypassed the protection".
После взлома должно писать зелеными "You did bypass the protection".

4. http://dl.dropbox.com/u/35921759/KeyGenMe2.exe
Virus Total (там один false positive)

Если кто-то из местных .NET-реверсеров порешает какие-нибудь из них, было бы интересно узнать подробности - используемый инструментарий и краткое описание процесса.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




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

Создано: 01 сентября 2012 23:51 · Поправил: Kr0ne
· Личное сообщение · #9

4kusNick пишет:
Прога при запуске ломится в сеть, это нормально, она ничего не отсылает (только скачивает).

Он качает с http://ajoko.com/paid/crackme.exe и ещё 1 дллку, но почемуто я вручную этот файл скачать не могу странно...
//ADD
Пишит что нет доступа на сайт, вот так.



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

Создано: 02 сентября 2012 00:25
· Личное сообщение · #10

4kusNick пишет:
При запуске должно выглядеть так:

при правильном серийнике что должно быть?



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

Создано: 02 сентября 2012 00:46 · Поправил: Kr0ne
· Личное сообщение · #11

schokk_m4ks1k пишет:
при правильном серийнике что должно быть?

4kusNick пишет:
В случае успеха, должен появиться мессаж бокс





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 02 сентября 2012 01:38 · Поправил: 4kusNick
· Личное сообщение · #12

Kr0ne пишет:
Пишит что нет доступа на сайт вот так

Ну да, так и задумано - вручную не скачается, там заголовок надо по-особому оформлять, в файлике видно как он его оформляет перед скачиванием ;)

schokk_m4ks1k пишет:
при правильном серийнике что должно быть?

Про какой именно крякмикс вы говорите?

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 02 сентября 2012 10:24 · Поправил: ZaZa
· Личное сообщение · #13

4kusNick пишет:
1. http://www.mediafire.com/?6k690ofnq96o7qgVirus TotalВ случае успеха, должен появиться мессаж бокс

История скачки:
Используя Reflector беру код скачки и вставляю в Visual Studio 2010... Ставлю бряк на запуск процесса и запускаю... Срабатывает бряк, иду в папку %Temp%/win и на всякий случай копирую оттуда два файла: crackme.exe и mscore.dll

История снятия обфускации:
Открываю в Reflector, вижу, что обфусцирован. Отправляю его в de4dot (1.9.1) - пишет ILProtector... Потом возникает ошибка и обфускация не снимается... DE4DOT запнулся...
В аттаче файлы... Снялсь SAE...

История анализа:
Открываем опять в Reflector деобфусцированный файл.
Идем в c0000002.ctor()
Code:
  1. public c000002()
  2. {
  3.     this.m000003();
  4.     WebRequest.DefaultWebProxy = null;
  5.     string str = string.Empty;
  6.     ManagementClass class2 = new ManagementClass("win32_processor");
  7.     foreach (ManagementObject obj2 in class2.GetInstances())
  8.     {
  9.         if (string.IsNullOrEmpty(str))
  10.         {
  11.             str = obj2["ProcessorID"].ToString();
  12.             break;
  13.         }
  14.     }
  15.     try
  16.     {
  17.         string str2 = null;
  18.         string name = "user-agent";
  19.         f000001.Headers.Add(name, "System.Text.ASCIIEncoding.ASCII.GetBytes");
  20.         WebRequest.DefaultWebProxy = null;
  21.         str2 = f000001.DownloadString("http://ajoko.com/paid/users.txt");
  22.         f000001.Dispose();
  23.         if (str2.Contains(str))
  24.         {
  25.             MessageBox.Show("You have successfully cracked me!");
  26.         }
  27.         else
  28.         {
  29.             MessageBox.Show("Can you crack me?");
  30.             Environment.Exit(0);
  31.         }
  32.     }
  33.     catch (Exception)
  34.     {
  35.         MessageBox.Show("Can you crack me?");
  36.         Environment.Exit(0);
  37.     }
  38. }

Смотрим, качается текстовый файл users.txt, в котором только одна запись: BFEBFBFF000206A8 ))) Затем, если ProcessorID не содержится в скаченной строке, то все плохо, иначе все ГУД! )
Поэтому только патч возможен, ну или подмена ProcessorID, ну или подмена ответа с сервера... )) Как то так )))
edf8_02.09.2012_EXELAB.rU.tgz - CRACK.rar

-----
One death is a tragedy, one million is a statistic.


| Сообщение посчитали полезным: 4kusNick, Kr0ne

Ранг: 9.6 (гость), 5thx
Активность: 0.010
Статус: Участник

Создано: 11 сентября 2012 23:23 · Поправил: iggvwh
· Личное сообщение · #14

Приветствую, коллеги. Прошу помощи в отломе с --> вот этим софтом <--. Снял подписи, модифицировал, переподписал. С первого взгляда вроде заработало нормально, но если попытаться отразить свойства Чарта в PropertyGrid - неожиданно вылезла ошибка, что мол не найден dll-ка со старым стронг-нейм. Никак не могу понять, откуда ноги растут.
Ссылка на тестовый проект с патчеными и родными длл-ками: --> Link <--
Софт требует SlimDX Runtime



Ранг: 9.6 (гость), 5thx
Активность: 0.010
Статус: Участник

Создано: 12 сентября 2012 00:21
· Личное сообщение · #15

Еще момент (не относящийся к посту выше). При использовании de4dot-1.9.1 был замечен баг с протектором .Net Reactor 4.4 - ряд публичных интерфейсов он ошибочно переименовал в своей манере. Так что рекомендую работать с параметром --dont-rename

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

Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 13 сентября 2012 23:44
· Личное сообщение · #16

Рефлектор
download.reflector.net/ReflectorInstaller_7.6.1.824.exe
ротор
plasmon.rghost.ru/download/40342857/ada419354f739619c5242a667a91fcb3a295034c/Reflector.Keygen.rar



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

Создано: 18 сентября 2012 10:10
· Личное сообщение · #17

Приветствую.
Есть один вопрос. Для начала сформулирую суть проблемы и то что я сделал для её решения.

Итак имеем прогу написанную под net4. Прога при старте лезет в инет и чекает регистрационные данные.
Прога обвернута Eazfuscator.NET и примочкой "Code Virtualization" (имплементация виртуальной машины и засовывание в неё методов помеченных атрибутом [Obfuscation(Feature = "virtualization", Exclude = false)]).

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

Что было сделано:
1) Была написана dll , которая перехватывает send и recv в WS2_32.dll
2) Была написана прога для инжекции этой dll в net процесс.
3) В инжекторе был написан собственный лоадер, для того что бы винда ничего не знала о инжекции. те иными словами dllка инжектируется в net процесс руками, а не при помощи LoadLibrary.

Алгоритм работы проги для инжекции:
1) Создаем CREATE_SUSPENDED процесс с net приложением. В этот момент как известно процесс не инициализирован, и в нем нет ничего
2) стартуем его, ждем пока загрузится mscoree.dll, затем его вновь тормозим и вешаем хук на _CorExeMain
Таким образом получаем breakpoint на entrypoint.
3) стартуем процесс и ждем срабатывания хука на _CorExeMain.
4) Инжектируем свою длл, и отдаем управление обратно _CorExeMain
5) выходим из инжектора.

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

Ну а теперь собственно вопрос. -)
Есть ли более человеческий способ брякнуться на entrypoint стартуемого net приложения?




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

Создано: 18 сентября 2012 11:13
· Личное сообщение · #18

Вестимо, косяк в п. 2: стартуем его, ждем пока загрузится mscoree.dll.
А именно интересует, как ждёшь загрузки? Если там что-то вроде Sleep(100); EnumModules, то руки отрывать за такую реализацию. Не удивительно, что не работает. Как вариант-повесь отладку процесса, отладчику придёт сообщение о загруженной длл. Потом сделаешь детач, когда отладчик не нужен. Ибо .нет вряд ли отладчик проверяет.

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

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

Создано: 18 сентября 2012 11:16
· Личное сообщение · #19

lolo133
Сами грузим mscoree.dll и ставим хук. Далее загружаем в наше адресное пространство саму прогу. http://www.codeproject.com/Articles/1481/Creating-a-host-application-for-the-NET-Common-Lan и до кучи http://www.codeproject.com/Articles/26060/NET-Internals-and-Code-Injection



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

Создано: 18 сентября 2012 13:11 · Поправил: lolo133
· Личное сообщение · #20

Archer
ага EnumModules, только без слипа =)
знаю, что метод для отрывки рук, поэтому и спрашиваю про более цивилизованные методы =)
Спс за инфу =)

yanus0
В наше адресное пространство загружать таргет приложение не вариант .
Было бы все на порядок проще и без мазохизма.




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 19 сентября 2012 18:45 · Поправил: 4kusNick
· Личное сообщение · #21

.NET Reactor Decryptor 1.7 (от 23 июня 2012)

What's new:
- Dll suport - the LoadAssembly option


1f81_19.09.2012_EXELAB.rU.tgz - Reactor_Decryptor.zip

Vovan666
Спасибо, оно, но я уже сам залез на tuts4you и отыскал.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 19 сентября 2012 18:52 · Поправил: Vovan666
· Личное сообщение · #22

4kusNick
Оно?
http://rghost.ru/40460112

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


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 19 сентября 2012 19:04
· Личное сообщение · #23

Кстати, кто чем вообще IL патчит?
Есть ли еще что-то достойное кроме SAE, Reflexil, Dile, ILdasm?

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

При пересохранении в SAE, Reflexil я имею ввиду.
В Dile (и в старом и в новом) и в ILDasm - оно вообще не открывается.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 19 сентября 2012 22:05
· Личное сообщение · #24

а чем защищена сборка?
например в {SA} есть tamper resistant фича, как раз от изменений защищает сборку...




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 19 сентября 2012 22:12 · Поправил: 4kusNick
· Личное сообщение · #25

Накрыта .NET Reactor.
do4dot нормально деобфусцирует, но решил попробовать пропатчить без деобфускации, благо там патч очень простой и легко производится даже на обфусцированной версии, если бы вот только сохранить изменения можно было =)

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

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 81.0 (постоянный), 88thx
Активность: 0.070.02
Статус: Участник

Создано: 20 сентября 2012 01:00
· Личное сообщение · #26

4kusNick пишет:
do4dot нормально деобфусцирует


Так а после этой деобфускации запускается прога?



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 20 сентября 2012 09:19
· Личное сообщение · #27

Сохраняет скорей всего через Mono.Cecil
а она не любит всяких выкрутасов
Рекомендую, если патч пару байт - самому почирикать IL байты через hiew например найдя правильный адрес/offset в файле.

| Сообщение посчитали полезным: -Sanchez-, 4kusNick

Ранг: 9.6 (гость), 5thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2012 09:29
· Личное сообщение · #28

4kusNick
И тут даже если есть защита от изменений - срабатывает скорее не она, а кривые IL едиторы...
ИМХО, возможно это специальная деятельность протектора. К примеру я использовал (как и многие наверно) SAE для восстановления заголовка у сборок (чтоб они виделись в рефлекторе) которые были защищены .Net Reactor. Достаточно было пересохранить сборку (без изменений) после открытия в SAE. И у SAE и у Reflexil одна начинка - Mono.Cecil. Не думаю, что в ней много багов, поскольку она используется в более-менее серьезных проектах.
P.S. IL-код падчу в самописных патчах на базе той же Mono.Cecil. Чтоб не забыть что нужно делать в средующем релизе софта



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

Создано: 20 сентября 2012 09:49
· Личное сообщение · #29

4kusNick пишет:
Кстати, кто чем вообще IL патчит?

CFF Explorer патчу.

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


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 20 сентября 2012 13:35 · Поправил: 4kusNick
· Личное сообщение · #30

Всем спасибо за советы, разобрался, пропатчил в hex редакторе - все прекрасно!

Для просмотра байт команд заюзал ILdasm.
Смещение нужного метода в hex-редакторе искал так:

RVA метода - VA секции .text + raw адрес секции .text

Потом занопил (0x00) все что надо было - софтина поддалась, видимо проверок на целостность файла этот прот не добавляет.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




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

Создано: 23 сентября 2012 13:13 · Поправил: lolo133
· Личное сообщение · #31

Перехват Jit
видео лекция.
Местами познавательно, хотя воды тоже достаточно
http://www.youtube.com/watch?v=JgOVJXaLULA


<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 49 . 50 . >>
 eXeL@B —› Основной форум —› Взлом dotNET программ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати