Сейчас на форуме: asfa, Rio, _MBK_, Adler (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Решил осилить сам. Помогите плз.
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 21 апреля 2012 22:28
· Личное сообщение · #1

Оставил запрос на взлом, в соответствующей ветке: http://exelab.ru/f/action=vthread&forum=2&topic=19272&page=28#23
Ну а потому как в прошлом сисадмин, в настоящем .net девелопер, решил осилить. К тому же водится что "бывших" не бывает

Итак защита зашита в компилятор. Активация происходит путем запуска компилятора с ключами:
mandroid.exe --activate --name "username" --phone "" --email "useremail" --company "" --code "1234-12345"

после чего происходит обмен данными с сервером активации. в результате которого, похоже, должен скачать файл лицензии: WSOCS32: TransmitFile.

Но вот куда копать дальше...?

Обмен данными с сервером активации: http://pastebin.com/Y9Z4mUZE
Сам компилятор (10Мб): (Pass: cracklab): http://files.mail.ru/FWS7U3

Если у кого то появится спортивный интерес, с удовольствием разделю дискуссию

спасибо



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

Создано: 22 апреля 2012 00:17
· Личное сообщение · #2

Пример файла лицензии есть? Если есть - берешь отладчик и смотришь что оно оттуда читает и как интерпретирует.
Если нет - дизасм + отладчик и опять же смотришь можно ли пропатчить проверку / создать свой файл лицензии.
Возможно, что компилер урезанный и нужный функционал просто не присутсвует в пакете.

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




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

Создано: 22 апреля 2012 10:03
· Личное сообщение · #3

Пример файла лицензии был. Но так сложилось, что канул с переустановкой винды.
Опять же наличие файла лицензии - лишь предположение.

Но смысл понял. Проверка активации компилятора проверяется путем запуска его с параметром "-activated", и ожиданием кода завершения процесса. Если 0, то активирован.
Пойду ковырять.

ЗЫ. Да и сам компилятор полностью полноценен. Весь функционал в нем. В этом сомнений нет.



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

Создано: 22 апреля 2012 19:06
· Личное сообщение · #4

тупо ковыряться в десяти мегабайтном exe'шнике, для новичка абсолютно бесполезно..
Так можно пару недель провести ))

Определился с входными данными. При запуске компилятора с ключем -activated , тот возвращает код завершения 98 при отсутствии активации и 0 если уже активировано.

Прогнал этот процесс через sysinternal procmon.exe. В списке событий фигурирует файл monoandroid.licx.
Так же очень интересен стектрейс при обращении к этому (отсутствующему само собой) файлу: http://pastebin.com/ZscqJB4f

А именно этот момент:
Code:
  1. "17","ntdll.dll","ZwQueryAttributesFile + 0x12","0x76fefe4e","C:\Windows\SysWOW64\ntdll.dll"
  2. "18","KernelBase.dll","GetFileAttributesW + 0x71","0x756e90e9","C:\Windows\SysWOW64\KernelBase.dll"
  3. "19","mandroid.exe","mandroid.exe + 0x1a64e4","0x5a64e4","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  4. "20","mandroid.exe","mandroid.exe + 0x1a6ec5","0x5a6ec5","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  5. "21","<unknown>","0x468535c","0x468535c",""


Как понимать модуль <unknown> ?



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

Создано: 22 апреля 2012 21:17
· Личное сообщение · #5

strelok_aka_vc
С некоторыми програмами можно возиться месяцами.
То что возвращает компилятор дает только минимум информации. Можно попробовать брякнуться на ExitProcess в отладчике и двигаться по стектрейсу вверх, пока не найдешь где формируется нужный код ошибки. Возможно, рядом идет проверка.
Скорей всего, увидишь что-то такое
if (!IsFileExists("monoandroid.licx")) return 98; // STATUS_ERROR_NOLICFILE;
Приведенный стектрейс - видимо проверка на существование файла с заданным именем.
Модуль unknown, возможно, динамический код (декриптованный, распакованный и т.д.)

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





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

Создано: 22 апреля 2012 23:20
· Личное сообщение · #6

По поводу unknown могу ещё дописать, что всё может быть проще, и ничего не криптовано. Просто стек не удалось удачно развернуть, да и всё. Тем более, что на этой строчке листинг и остановился.



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

Создано: 23 апреля 2012 10:53
· Личное сообщение · #7

Archer пишет:
Тем более, что на этой строчке листинг и остановился.

Но позвольте, на этом листинг не закончился! Я давал ссылку на пастебин, там полный стектрейс процесса.
Если лениво заглядывать туда, вот он:
Code:
  1. "17","ntdll.dll","ZwQueryAttributesFile + 0x12","0x76fefe4e","C:\Windows\SysWOW64\ntdll.dll"
  2. "18","KernelBase.dll","GetFileAttributesW + 0x71","0x756e90e9","C:\Windows\SysWOW64\KernelBase.dll"
  3. "19","mandroid.exe","mandroid.exe + 0x1a64e4","0x5a64e4","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  4. "20","mandroid.exe","mandroid.exe + 0x1a6ec5","0x5a6ec5","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  5. "21","<unknown>","0x468535c","0x468535c",""
  6. "22","<unknown>","0x46d3920","0x46d3920",""
  7. "23","<unknown>","0x46d38ee","0x46d38ee",""
  8. "24","<unknown>","0x46d321e","0x46d321e",""
  9. "25","<unknown>","0x46d315e","0x46d315e",""
  10. "26","<unknown>","0x46d30ec","0x46d30ec",""
  11. "27","<unknown>","0x46d3080","0x46d3080",""
  12. "28","<unknown>","0x46d2eaa","0x46d2eaa",""
  13. "29","<unknown>","0x4661650","0x4661650",""
  14. "30","<unknown>","0x4660dce","0x4660dce",""
  15. "31","<unknown>","0x46610fc","0x46610fc",""
  16. "32","mandroid.exe","mandroid.exe + 0x14d2c","0x414d2c","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  17. "33","mandroid.exe","mandroid.exe + 0x75a42","0x475a42","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  18. "34","mandroid.exe","mandroid.exe + 0x7989c","0x47989c","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  19. "35","mandroid.exe","mandroid.exe + 0x3612","0x403612","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  20. "36","mandroid.exe","mandroid.exe + 0x1963","0x401963","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  21. "37","mandroid.exe","mandroid.exe + 0x124b","0x40124b","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  22. "38","mandroid.exe","mandroid.exe + 0x12d8","0x4012d8","C:\Program Files (x86)\MSBuild\Novell\mandroid.exe"
  23. "39","kernel32.dll","BaseThreadInitThunk + 0x12","0x75a3339a","C:\Windows\SysWOW64\kernel32.dll"
  24. "40","ntdll.dll","RtlInitializeExceptionChain + 0x63","0x77009ef2","C:\Windows\SysWOW64\ntdll.dll"
  25. "41","ntdll.dll","RtlInitializeExceptionChain + 0x36","0x77009ec5","C:\Windows\SysWOW64\ntdll.dll"


Кстати в тему как правильно читать в стеке адреса?
К примеру: > mandroid.exe + 0x1a6ec5, 0x5a6ec5
По сути видно что смещение mandroid.exe = 400000. И адрес 0x5a6ec5 это точка возврата из функции.
Я правильно рассуждаю?

Так же вопрос про модуль unknown. Если брякнуть на "39","kernel32.dll","BaseThreadInitThunk, и заглянуть в дамп по адресу:
"31","<unknown>","0x46610fc","0x46610fc",""
то реально увидеть код модуля unkbown ?

ЗЫ. Спасибо большое за комменты. Стимулируют! )




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

Создано: 23 апреля 2012 11:18
· Личное сообщение · #8

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



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

Создано: 23 апреля 2012 20:37 · Поправил: strelok_aka_vc
· Личное сообщение · #9

охохо..

достал licx файл. теперь, похоже проверка на активацию выполняется успешно. но вот компилится далеко не как надо.

при запуске приложения на девайсе вылетают заветные буковки:
Code:
  1. I/ActivityManager(  244): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=BlueFRom.Consult/from.bluetooth.spp.SPPActivity bnds=[125,431][238,589] } from pid 399
  2. I/ActivityManager(  244): Start proc BlueFRom.Consult for activity BlueFRom.Consult/from.bluetooth.spp.SPPActivity: pid=3691 uid=10196 gids={3002, 3001, 3003}
  3. W/ResourceType(  244): Skipping entry 0x7f04001e in package table 0 because it is not complex!
  4. W/ResourceType(  244): Skipping entry 0x7f04003d in package table 0 because it is not complex!
  5. I/ActivityThread( 3691): Pub BlueFRom.Consult.__mono_init__: mono.MonoRuntimeProvider
  6. D/dalvikvm( 3691): Trying to load lib /data/data/BlueFRom.Consult/lib/libmonodroid.so 0x2afc7530
  7. D/dalvikvm( 3691): Added shared lib /data/data/BlueFRom.Consult/lib/libmonodroid.so 0x2afc7530
  8. F/MonoDroid( 3691): ERROR: This version of MonoDroid will only run in the Android emulator.
  9. W/dalvikvm( 3691): JNI_OnLoad returned bad version (0) in /data/data/BlueFRom.Consult/lib/libmonodroid.so 0x2afc7530
  10. D/AndroidRuntime( 3691): Shutting down VM
  11. W/dalvikvm( 3691): threadid=1: thread exiting with uncaught exception (group=0x2aac8578)
  12. E/AndroidRuntime( 3691): FATAL EXCEPTION: main
  13. E/AndroidRuntime( 3691): java.lang.UnsatisfiedLinkError: unknown failure
  14. E/AndroidRuntime( 3691):        at java.lang.Runtime.loadLibrary(Runtime.java:434)
  15. E/AndroidRuntime( 3691):        at java.lang.System.loadLibrary(System.java:554)
  16. E/AndroidRuntime( 3691):        at mono.MonoPackageManager.LoadApplication(MonoPackageManager.java:24)
  17. E/AndroidRuntime( 3691):        at mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:25)
  18. E/AndroidRuntime( 3691):        at android.app.ActivityThread.installProvider(ActivityThread.java:3572)
  19. E/AndroidRuntime( 3691):        at android.app.ActivityThread.installContentProviders(ActivityThread.java:3327)
  20. E/AndroidRuntime( 3691):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3283)
  21. E/AndroidRuntime( 3691):        at android.app.ActivityThread.access$2200(ActivityThread.java:121)
  22. E/AndroidRuntime( 3691):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:981)
  23. E/AndroidRuntime( 3691):        at android.os.Handler.dispatchMessage(Handler.java:99)
  24. E/AndroidRuntime( 3691):        at android.os.Looper.loop(Looper.java:130)
  25. E/AndroidRuntime( 3691):        at android.app.ActivityThread.main(ActivityThread.java:3701)
  26. E/AndroidRuntime( 3691):        at java.lang.reflect.Method.invokeNative(Native Method)
  27. E/AndroidRuntime( 3691):        at java.lang.reflect.Method.invoke(Method.java:507)
  28. E/AndroidRuntime( 3691):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
  29. E/AndroidRuntime( 3691):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
  30. E/AndroidRuntime( 3691):        at dalvik.system.NativeStart.main(Native Method)
  31. W/ActivityManager(  244):   Force finishing activity BlueFRom.Consult/from.bluetooth.spp.SPPActivity
  32. W/ActivityManager(  244): Activity pause timeout for HistoryRecord{2ba96288 BlueFRom.Consult/from.bluetooth.spp.SPPActivity}
  33. I/Process ( 3691): Sending signal. PID: 3691 SIG: 9
  34. I/ActivityManager(  244): Process BlueFRom.Consult (pid 3691) has died.




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

Создано: 23 апреля 2012 21:17
· Личное сообщение · #10

strelok_aka_vc
Почему вы решили что компилится не как надо? Судя по сообщению, используется не тот фреймворк. Вот и не работает.

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




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

Создано: 23 апреля 2012 22:30
· Личное сообщение · #11

r_e пишет:
Почему вы решили что компилится не как надо? Судя по сообщению, используется не тот фреймворк. Вот и не работает.

Я смотрю вот на эту строчку:
F/MonoDroid( 3691): ERROR: This version of MonoDroid will only run in the Android emulator.

В этом и состоит ограничение бесплатной версии.. (



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

Создано: 23 апреля 2012 22:48
· Личное сообщение · #12

strelok_aka_vc
Собственно, поэтому и
Возможно, что компилер урезанный и нужный функционал просто не присутсвует в пакете.

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




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

Создано: 24 апреля 2012 11:56
· Личное сообщение · #13

r_e
Конечно не исключено, но маловероятно.
Активация проходит онлайн и без закачки другого ПО. Ну в смысле я видел как проходит активация. Это секундное дело.

К тому же проверка защиты зашивается в .so бинарник и проверяет производится запуск под эмулятором или нет.

Кстати о птичках. Чем можно дизасемблировать бинарник под linux? В частности под процессор armeabi (ARM) ? Гугл рулит, но может у кого есть конкретное направление куда маршировать ?




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 24 апреля 2012 12:06
· Личное сообщение · #14

IDA



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

Создано: 24 апреля 2012 12:20 · Поправил: strelok_aka_vc
· Личное сообщение · #15

Dart Sergius пишет:
IDA

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

Да, кстати, вести с полей. Наткнулся на защиту от дебаггинга.
Сама проверка активации через запуск процесса (без дебага): "mandroid -activated"
возвращает код 0, но при запуске того же самого в олли, без бряков и с разными плагинами - дебаг хайдерами, выдает код 99...
Все возможные плагины по хайду дебага еще не перебрал, посему прошу посоветовать конуретные варианты.. Потому как подобных плагинов тьма.
Спасибо!



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

Создано: 24 апреля 2012 14:40
· Личное сообщение · #16

strelok_aka_vc
Olly - это прошлый век. "За шиной PCI будущее..." Знакомься с IDA.

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




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

Создано: 25 апреля 2012 23:01 · Поправил: strelok_aka_vc
· Личное сообщение · #17

Вести с полей.
Прошелся дебагом на предмет модуля "unknown", фигурирующим в стек трейсе procmon.
В процессе работы создается поток, который именуется как main с адресным пространством дампа 04240000:04340FFE (mandroid.exe адресуется как 00401000:005C4FFC) в котором постоянно генерируется код. И откуда в последствии вызываются функции чтения критических данных (файла лицензий к примеру).
Я так понимаю это runtime упаковщик.. Как работать с такого рода защитой?



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

Создано: 26 апреля 2012 00:35
· Личное сообщение · #18

1. дебажить
2. дампить и анализировать

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




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

Создано: 17 июня 2012 16:26 · Поправил: Estx
· Личное сообщение · #19

I have had a little experience here with MonoDroid.

Here are the steps I've taken to crack mandroid.exe (with IDA):

1. Start mandroid.exe process and suspend the process after sub_4013F7 is called. (I labelled this sub: decompress_allocate_res).
2. Dumped mandroid-win.exe to disk. 0x005c5000 has the pointer. Size is 0x93AC00 (version 4.2.2 monodroid).
3. Patched Mandroid-win.exe > - > Activation > Check(bool) to return false (the return from this determines "args.EvaluationVersion) using .NET Reflector and Reflixil.
4. Compressed mandroid-win.exe using ZLib (Ionic.Zlib) with compression level as default.
5. Injected patched and compressed mandroid-win into mandroid.exe (offset: 0x268320, padded to length: 0x3DAA9F).
6. Patched mandroid.exe at offset 8A8 from 74 to 7D (7D 36 = jge, jump if not less than).

This works - see next post. until you try to deploy, which will provide the "ERROR : This version of MonoDroid will only run in the Android emulator ." error.

My assumption is that I need to change the args.SharedRuntime boolean to false and try running without that.

I've also tried generating licx files by reversing the decryption algo they use in their mandroid-win executable to near success, how-ever private rsa encryption using their certificate provided still needs a password, so cracking mandroid.exe will be faster than writing an application to brute-force passwords until the certificate provides the verification on data needed.

Anyone else got any thoughts?

C# method for CreateApkFile from mandroid-win.exe:
Code:
  1. public static void CreateApkFile(string target, Arguments args)
  2. {
  3.     string destination = Path.Combine("bin", target + ".apk");
  4.     string fileName = Path.Combine("bin", "resources_and_assemblies");
  5.     string str3 = Path.Combine("bin", "classes.dex");
  6.     MemoryStream outputStream = new MemoryStream();
  7.     using (ZipFile file = ZipFile.Read(fileName))
  8.     {
  9.         <CreateApkFile>c__AnonStorey27 storey = new <CreateApkFile>c__AnonStorey27();
  10.         using (HashSet<string>.Enumerator enumerator = args.Abis.GetEnumerator())
  11.         {
  12.             while (enumerator.MoveNext())
  13.             {
  14.                 Stream manifestResourceStream;
  15.                 storey.abi = enumerator.Current;
  16.                 if ((args.LibmonodroidOverride == null) && (args.LibmonodroidOverrides.Count == 0))
  17.                 {
  18.                     string[] textArray1 = new string[] { "libmono-android.", !args.SharedRuntime ? "static" : "shared", ".", storey.abi, !args.EvaluationVersion ? string.Empty : "-emu", ".so" };
  19.                     string name = string.Concat(textArray1);
  20.                     manifestResourceStream = typeof(ApkBuilder).Assembly.GetManifestResourceStream(name);
  21.                     if (manifestResourceStream == null)
  22.                     {
  23.                         throw new InvalidOperationException("Unsupported configuration: Could not load resource '" + name + "'.");
  24.                     }
  25.                 }
  26.                 else if (args.LibmonodroidOverrides.Any<NativeLibraryInfo>(new Func<NativeLibraryInfo, bool>(storey.<>m__BA)))
  27.                 {
  28.                     Console.WriteLine("# adding monodroid abi override: {0}", args.LibmonodroidOverrides.First<NativeLibraryInfo>(new Func<NativeLibraryInfo, bool>(storey.<>m__BB)).FileName);
  29.                     manifestResourceStream = File.OpenRead(args.LibmonodroidOverrides.First<NativeLibraryInfo>(new Func<NativeLibraryInfo, bool>(storey.<>m__BC)).FileName);
  30.                 }
  31.                 else
  32.                 {
  33.                     Console.WriteLine("# adding monodroid override: {0}", args.LibmonodroidOverride);
  34.                     manifestResourceStream = File.OpenRead(args.LibmonodroidOverride);
  35.                 }
  36.                 file.AddEntry("lib/" + storey.abi + "/libmonodroid.so", manifestResourceStream);
  37.             }
  38.         }
  39.         file.Save(outputStream);
  40.     }
  41.     MonoAndroidHelper.CopyIfZipChanged(outputStream, destination);
  42. }


PS Sorry for english, I don't know russian.



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

Создано: 17 июня 2012 16:59
· Личное сообщение · #20

Cracked successfully.

Did not require any additional work from what I wrote above.
Project > "ApplicationName" Properties > Mono Android Options > Linking: Sdk and User Assemblies.





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

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

Can you please explain how did you pack/unpacked mandroid-win.exe? And also post the patched executable?



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 17 июня 2012 22:52
· Личное сообщение · #22

minDark
It's already explained:
Estx пишет:
1. Start mandroid.exe process and suspend the process after sub_4013F7 is called. (I labelled this sub: decompress_allocate_res).
2. Dumped mandroid-win.exe to disk. 0x005c5000 has the pointer. Size is 0x93AC00 (version 4.2.2 monodroid).
3. Patched Mandroid-win.exe > - > Activation > Check(bool) to return false (the return from this determines "args.EvaluationVersion) using .NET Reflector and Reflixil.
4. Compressed mandroid-win.exe using ZLib (Ionic.Zlib) with compression level as default.
5. Injected patched and compressed mandroid-win into mandroid.exe (offset: 0x268320, padded to length: 0x3DAA9F).
6. Patched mandroid.exe at offset 8A8 from 74 to 7D (7D 36 = jge, jump if not less than).

What do you need else?

-----
SaNX




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

Создано: 17 июня 2012 23:59
· Личное сообщение · #23

Sorry but i don't have experience with IDA, i don't know how to dump process to disk and inject back into assembly.



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

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

Here you go: http://multi-up.com/720358. Readme included.

Enjoy~!

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

Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

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

Estx
Tryed to crack it with your 6 steps. It's was easy and taked 15 minutes Most of this time taked searching compiled version of zlib packer and I found it (in attach). My version of mandroid --> here <--.

d0a2_18.06.2012_EXELAB.rU.tgz - PasZlibFile.zip

-----
SaNX




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

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

Estx Thnak you!!!!



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

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

You're welcome. I took a lot of time reverse engineering it (around 8 hours) so I figured I would share my work.

As for the ZLib packer, SaNX, I didn't search around at all!

Referenced: C:\Program Files (x86)\MSBuild\Novell\Ionic.Zip.dll in a C# application and wrote a small application to compress the mandroid-win.exe.

So it was an all in-house crack. ;)

Anyway, enjoy.



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

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

Hi Estx , SaNX can yuo provide 15min video tutorial for n00b`s like me?



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

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

Hi zaaz112az,

A tutorial is a bit out of my league. I'd only be showing you what I did, not how to get there (which is what a tutorial is).

My advice:
If you want to crack .NET software, learn C# and get Reflector and Reflexil.
If you want to crack native (asm/delphi/c/c++) software, learn ASM and get IDA.

A LOT of the skills I've picked up are from programming in C/C++ (ASM)/C#.
Understanding how software works is the best way to understand how to reverse that software.

Good luck.

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

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

Создано: 06 марта 2013 16:01
· Личное сообщение · #30

Hello again!! If anybody still reading this, i want to know where i can find Mono.Touch.Common.dll and Mono.Touch.Client.dll. Those assemblies are referenced from mandroid-win.exe (for Xamarin 4.6).


. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Решил осилить сам. Помогите плз.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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