Сейчас на форуме: -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]



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

Создано: 22 мая 2012 22:08 · Поправил: s0x0110
· Личное сообщение · #2

sendersu,

я не говорил, что она содержит pdb. мне neprovad ответил, что студия видит pdb от библиотеки и поэтому там видны реальные имена. dll не моя. Все что я недоговариваю, это то, что в реверсе я 0. скинул вам линк в лс. скажите что думаете?



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

Создано: 23 мая 2012 01:52
· Личное сообщение · #3

s0x0110
похоже разобрались.....
вот такие они пироги с котятами



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

Создано: 29 мая 2012 13:53
· Личное сообщение · #4

подскажите, если после обработки файла с netreactor 4.x de4dot'ом в некоторых методах есть трюки с "throw 0xdeadc0de" (и ничего больше) то что это значит? 1) левый метод и его надо удалить. 2) переходник в код реактора с расшифровкой оригинального метода 3) баг de4dot.



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

Создано: 29 мая 2012 14:00 · Поправил: sendersu
· Личное сообщение · #5

neprovad
я б кочнул срц дедота и там проверил в 1ую очередь что ето.
как правило дедот сразу пишет мол ура, новая бага- закиньте мне для поглядеть

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


Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 29 мая 2012 22:41 · Поправил: zeppe1in
· Личное сообщение · #6

neprovad
https://github.com/0xd4d/de4dot/wiki/FAQ

After deobfuscating a .NET Reactor obfuscated assembly, I see methods with only a 'throw (uint)-559038242' statement.

That throw is actually throw 0xDEADCODE. Those methods are encrypted native (x86 code) methods and the throw won't execute at run time. The method body will be replaced with the real method at run time by the obfuscator's methods decryptor. You'll know when there are native methods left in the image if you see something like this after deobfuscation:

Re-encrypted 10/73 native methods

In this example, there are 10 methods left that are still native methods. The remaining 63 methods were converted back to CIL code or deleted from the image. A future version of de4dot may convert the remaining native methods back to CIL code.


-----
zzz


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

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

Создано: 03 июня 2012 03:32
· Личное сообщение · #7

New version: 1.8.5
Supports the latest build of Agile.NET
Fixed some Mono.Cecil antis

--> de4dot 1.8.5 <--

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

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

Создано: 27 июня 2012 13:41
· Личное сообщение · #8

New version: 1.8.6
Supports the latest CryptoObfuscator build
Supports the latest Agile.NET build
Fixed a crash in Eazfuscator.NET string decrypter


--> de4dot 1.8.6 <--

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


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

Создано: 29 июня 2012 08:29
· Личное сообщение · #9

NETDeob

NETDeob is a deobfuscator that was made to support obfuscators and packers that de4dot doesn't. Here's a list of currently implemented deobfuscators & unpackers: Phoenix Protector, Manco Obfuscator, CodeWall, NetZ .NET Packer, Rpx .NET Packer, Mpress .NET Packer, ExePack .NET Packer, Sixxpack .NET Packer.

Download

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

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

Создано: 29 июня 2012 20:42
· Личное сообщение · #10

Выложити кто нить ехе de4dot 1.8.6
а то одно за одно цепляетсья
надо Microsoft Visual Studio 2011-12 RC
а ей надо Win7



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

Создано: 29 июня 2012 21:10
· Личное сообщение · #11

Xlab0s
держи --> Link <--



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

Создано: 29 июня 2012 21:19
· Личное сообщение · #12

Xlab0s
каким боком de4dot 1.8.6 завязан на Microsoft Visual Studio 2011-12 RC?



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

Создано: 29 июня 2012 21:51
· Личное сообщение · #13

Xlab0s
https://github.com/0xd4d/de4dot/downloads

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

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

Создано: 30 июня 2012 05:59 · Поправил: Xlab0s
· Личное сообщение · #14

sendersu пишет:
каким боком de4dot 1.8.6 завязан на Microsoft Visual Studio 2011-12 RC?


ну у меня стоит Visual Studio 2008 а для открытия проекта пишет нужна более новая версия

ADMIN-CRACK пишет:
Xlab0s
https://github.com/0xd4d/de4dot/downloads

спасиб то что надо незаметил сырцы одни думал



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

Создано: 02 июля 2012 09:06
· Личное сообщение · #15

чтобы проект открывался достаточно пару цифер о версии в sln исправить

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

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

Создано: 02 июля 2012 13:10
· Личное сообщение · #16

Добрый День =)
Давно мучает одна программа, решил спросить у Вас, как снять защиту.

Вообщем, прошелся по ней ded4dot, он показал Confuser (1.7) ну и понятное дело все убрал =)
Но ресурсы программы зашифрованные.
Нашел процедуру декрипта, и единственный верный выход наверно таков:
1) Извлечь ресурсы
2) Написать простенькую программу, которая будет расшифровывать эти ресурсы (скопировать ту процедуру Decrypt() которая есть в программе и использовать её)

НО у меня проблемы. Процедуру взял, но компилироваться нормально не хочет. Вот ошибка (VB.NET):
Константное выражение не может быть представлено как имеющее тип "ULong".
Ошибка в данной строчке:
Code:
  1. expr_CC_cp_0(expr_CC_cp_1) = expr_CC_cp_0(expr_CC_cp_1) Xor CByte(CInt(CLng(num) And CLng(Fix(CULng(-16777216)))) >> 24)

Если убрать '-' перед числом 16777216, то все нормально компилируется. Но я не уверен, что ресурсы полностью и корректно расшифровались.
Как быть?

Впринципе, можно попробовать загрузить туда эти (расшифрованные) ресурсы, но надо еще патчить программу так, чтобы она их не расшифровала опять, а просто запускалась...



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

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

Makashka
Калькулятор отменили? Вставляешь это число в калк, переключаешь в hex, обратно в dec - получаешь unsigned альтернативу этой константы.

-----
старый пень





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

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

Makashka
Измени CULong на CLng и будет тебе счастье...
А вообще - то тут не место для обсуждений твоих проблем

Обознался: так надо писать: CLng. Ссори...
Code:
  1. expr_CC_cp_0(expr_CC_cp_1) = expr_CC_cp_0(expr_CC_cp_1) Xor CByte(CInt(CLng(num) And CLng(Fix(CLng(-16777216)))) >> 24)


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




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

Создано: 02 июля 2012 13:33 · Поправил: Makashka
· Личное сообщение · #19

ZaZa пишет:
Измени CULong на CLong и будет тебе счастье...

"CLong" не объявлен. Может быть недоступен из-за своего уровня защиты.

Сама процедура декрипта:
Code:
  1. Imports System.IO
  2. Imports System.IO.Compression
  3. Imports System.Security.Cryptography
  4.  
  5. Public Class Form1
  6.  
  7.     ' CompressShell
  8.     Private Shared Function Decrypt(ByVal asm() As Byte) As Byte()
  9.         Dim input As New DeflateStream(New MemoryStream(asm), CompressionMode.Decompress)
  10.         Dim buffer() As Byte
  11.         Dim rgbIV() As Byte
  12.         Dim array() As Byte
  13.         Using binaryReader As New BinaryReader(input)
  14.             buffer = binaryReader.ReadBytes(binaryReader.ReadInt32())
  15.             rgbIV = binaryReader.ReadBytes(binaryReader.ReadInt32())
  16.             array = binaryReader.ReadBytes(binaryReader.ReadInt32())
  17.         End Using
  18.         Dim num As Integer = 152
  19.         For i As Integer = 0 To array.Length - 1 Step 4
  20.             Dim expr_67_cp_0() As Byte = array
  21.             Dim expr_67_cp_1 As Integer = i
  22.             expr_67_cp_0(expr_67_cp_1) = expr_67_cp_0(expr_67_cp_1) Xor CByte(num And 255)
  23.             Dim expr_87_cp_0() As Byte = array
  24.             Dim expr_87_cp_1 As Integer = i + 1
  25.             expr_87_cp_0(expr_87_cp_1) = expr_87_cp_0(expr_87_cp_1) Xor CByte((num And 65280) >> 8)
  26.             Dim expr_A9_cp_0() As Byte = array
  27.             Dim expr_A9_cp_1 As Integer = i + 2
  28.             expr_A9_cp_0(expr_A9_cp_1) = expr_A9_cp_0(expr_A9_cp_1) Xor CByte((num And 16711680) >> 16)
  29.             Dim expr_CC_cp_0() As Byte = array
  30.             Dim expr_CC_cp_1 As Integer = i + 3
  31.             expr_CC_cp_0(expr_CC_cp_1) = expr_CC_cp_0(expr_CC_cp_1) Xor CByte(CInt(CLng(num) And CLng(Fix(CLong(-16777216)))) >> 24)
  32.         Next i
  33.         Dim rijndaelManaged As New RijndaelManaged()
  34.         Dim result() As Byte
  35.         Using cryptoStream As New Security.Cryptography.CryptoStream(New MemoryStream(buffer), rijndaelManaged.CreateDecryptor(array, rgbIV), CryptoStreamMode.Read)
  36.             Dim array2(3) As Byte
  37.             cryptoStream.Read(array2, 0, 4)
  38.             Dim array3(CInt(CType(BitConverter.ToUInt32(array2, 0), UIntPtr)) - 1) As Byte
  39.             Dim array4(4095) As Byte
  40.             Dim num2 As Integer = array4.Length
  41.             Dim num3 As Integer = 0
  42.             Do While num2 = array4.Length
  43.                 num2 = cryptoStream.Read(array4, 0, array4.Length)
  44.                 System.Buffer.BlockCopy(array4, 0, array3, num3, num2)
  45.                 num3 += num2
  46.             Loop
  47.             result = array3
  48.         End Using
  49.         Return result
  50.     End Function




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

Создано: 08 июля 2012 18:20
· Личное сообщение · #20

Подскажите софт который дополняет приложение позволяя ему запускаться без установки .NET Framework



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

Создано: 08 июля 2012 18:33
· Личное сообщение · #21

Xlab0sЕсть софт который меняет у exe требуемую версию фреймворка(т.е. написана под 4.0, а можно изменить под 2.0).
Попробуй все фрейморковские файлы скопировать в папку с прогой, но не уверен что сработает.



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

Создано: 08 июля 2012 18:42
· Личное сообщение · #22

да нет есть софт позволяет запускать софт без установки фреймворка, название вспомнить немогу и нагуглить тоже, подшивает к ехе всё необходимое вообщем



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

Создано: 08 июля 2012 19:08 · Поправил: F_a_u_s_t
· Личное сообщение · #23

Xlab0s
dotNet Protector вроде бы как умеет.
Есчо хрень какая то бложик



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

Создано: 09 июля 2012 17:49 · Поправил: Xlab0s
· Личное сообщение · #24

нашёл вот эта штука Salamander .Net Native Compiler --> remotesoft.com<--

Повидиму ненайти её =)
Code:
  1. Можешь поискать Salamander Linker, но опыты показывают, 
  2. что работает это "чудо" не всегда, а стоит просто немерянно.
  3. Лучший вариант включить .NET Framework в инсталятор, 
  4. а вообще сложно представить сейчас машину где не стоит хотя
  5. бы Framework 2.0.




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

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

Xlab0s пишет:
Лучший вариант включить .NET Framework в инсталятор,

ет точно
один Билли знает куда срет инсталлер дотнета
Xlab0s пишет:
а вообще сложно представить сейчас машину где не стоит хотябы Framework 2.0.

Win XP чистая без нета
виста, семерка и дальше уже шли с чемто



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

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

Здравстуйте. Нужна помощь с информацией о mixed сборках. А именно каким образом соотнести описание функции из Net части с ее телом в C++ части. JIW Thunk описания не нашел.
Про обратный процесс вроде понятно (unmanaged-> managed). Из CLI Vtable ->Ссылка на MetodRef (по загрузке заполняется лоадером) <-jump stub<-call
Еще вокруг этих jmp stub непонятные структуры типа
WORD 0x3003h или 0x300Bh
WORD flag1? 2,4..5
DWORD size_data
DWORD flags2?
data - может быть размером 2 - 5 - 7 и более байт, что там понять не смог



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

Создано: 11 июля 2012 02:16
· Личное сообщение · #27

Xlab0s
http://spoon.net/studio/

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


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

Создано: 13 июля 2012 05:57
· Личное сообщение · #28

Вот натолкнулся на еще один декомпилятор NET: --> dotPeek <--

dotPeek is a free-of-charge .NET decompiler from JetBrains, the makers of ReSharper and more developer productivity tools.

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





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

Создано: 25 июля 2012 01:35 · Поправил: Airenikus
· Личное сообщение · #29

de4dot 1.9.0

Code:
  1. CodeFort is now supported
  2. CodeWall is now supported
  3. ILProtector is now supported
  4. MPRESS is now supported
  5. Rummage is now supported
  6. Updated the Babel.NET deobfuscator code
  7. Updated the Crypto Obfuscator deobfuscator code
  8. Can now be compiled with VS2008


--> Link <--

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

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

Создано: 25 июля 2012 20:51
· Личное сообщение · #30

Подскажите,в чём проблема?SAE отказывается сохранять сборку,выдаёт
Code:
  1. Значение не может быть неопределенным.
  2.    в Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider)
  3.    в Mono.Cecil.Cil.CodeReader.PatchRawCode(ByteBuffer buffer, Int32 code_size, CodeWriter writer)
  4.    в Mono.Cecil.Cil.CodeReader.PatchRawFatMethod(ByteBuffer buffer, MethodSymbols symbols, CodeWriter writer, MetadataToken& local_var_token)
  5.    в Mono.Cecil.Cil.CodeReader.PatchRawMethodBody(MethodDefinition method, CodeWriter writer, MethodSymbols& symbols)
  6.    в Mono.Cecil.Cil.CodeWriter.WriteUnresolvedMethodBody(MethodDefinition method)
  7.    в Mono.Cecil.Cil.CodeWriter.WriteMethodBody(MethodDefinition method)
  8.    в Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
  9.    в Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
  10.    в Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
  11.    в Mono.Cecil.MetadataBuilder.AddTypeDefs()
  12.    в Mono.Cecil.MetadataBuilder.BuildTypes()
  13.    в Mono.Cecil.MetadataBuilder.BuildModule()
  14.    в Mono.Cecil.ModuleWriter.<BuildMetadata>b__0(MetadataBuilder builder, MetadataReader _)
  15.    в Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
  16.    в Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
  17.    в Mono.Cecil.ModuleWriter.WriteModuleTo(ModuleDefinition module, Stream stream, WriterParameters parameters)
  18.    в Mono.Cecil.ModuleDefinition.Write(Stream stream, WriterParameters parameters)
  19.    в Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
  20.    в SimpleAssemblyExplorer.frmClassEdit.SaveAssembly()
  21.    в SimpleAssemblyExplorer.frmClassEdit.tbSave_Click(Object sender, EventArgs e)

понятно,что можно пропатчить в хекс редакторе,но интересует именно невозможность сохранения.Где грабли?
Сама программа http://rghost.ru/39410840




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

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

igorca пишет:
Где грабли?

скорей всего в НЕТ Реакторе

-----
zzz



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