Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Протекторы —› Анализ ASProtect |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 38 . 39 . >> |
Посл.ответ | Сообщение |
|
Создано: 28 марта 2008 15:30 · Поправил: vnekrilov · Личное сообщение · #1 Я выложил свой первый туториал по анализу ASProtect v2.4 build 12.20 (Анализ подпрограммы эмуляции инструкций.rar http://dump.ru/files/o/o489862518/ ). В этом туториале я подробно описал процесс восстановления эмулированных инструкций типа: Code:
Полный цикл статей по распаковке 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, который можно скачать по ссылке |
|
Создано: 16 сентября 2008 21:30 · Поправил: Konstantin · Личное сообщение · #2 borov [q]страйпер вылетает с ошибкой, и скрипт VolX'a тоже [/q] Cкрипт VolX'a распаковывает сабж, если его подправить. Нужно заменить строку Code:
на Code:
Вот исправленный скрипт: 182c_16.09.2008_CRACKLAB.rU.tgz - ASProtect 1.3x - 2.xx Unpacker v1.14AE_1.rar P.S. В сабже помимо OEP сперто еще кусков 10 кода. |
|
Создано: 17 сентября 2008 00:44 · Личное сообщение · #3 |
|
Создано: 17 сентября 2008 01:06 · Личное сообщение · #4 |
|
Создано: 17 сентября 2008 01:47 · Поправил: Konstantin · Личное сообщение · #5 |
|
Создано: 17 сентября 2008 08:03 · Личное сообщение · #6 |
|
Создано: 17 сентября 2008 09:40 · Поправил: borov · Личное сообщение · #7 у мнея все отлично заработало с исправленым скриптом, сначала скриптом распаковал, потом ИмпРеком востановил импотр, запускаю работает, к томуже версия стала зарегистрированой, только почимуто на VolX'a, открываю програму в хекс-редакторе ищу стоку VolX и заменяю на BoRoV, вуаля и все зашибись ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 17 сентября 2008 10:42 · Поправил: Konstantin · Личное сообщение · #8 Я просто биндером правил в надежде на рапотоспособность файла, но нет не пашет. Чтобы понять, что за код тебе восстанавливать, посмотри на прыжки по этим адресам (как это делать - читай статьи): Code:
Т.е. это прыжки из основного кода в виртуальную память, выделенную аспром. Соответственно в дампе со снятым аспром ведут в никуда. Скрипт правит эти прыжки в область после секции .adata которой реально не существует, но если дампить Pedumper-oм с снятой опцией paste header from disk, то эта секция с названием aspr нарисуется. Правда в дампе она будет пустая. Вручную восстанавливать код гиморно(там его довольно много, да и делать обезьянью работу не хоцо) - на паблике инструментов нет. Воспользуйся советом Maximus-а: Отправь на сервис распаковки, тебе распакуют эту версию. P.S. borov а если подробнее? |
|
Создано: 17 сентября 2008 11:45 · Личное сообщение · #9 |
|
Создано: 17 сентября 2008 12:32 · Личное сообщение · #10 |
|
Создано: 17 сентября 2008 12:57 · Поправил: Konstantin · Личное сообщение · #11 depler У меня нет версии ODbgScript (пользуюсь ODbgScript 1.64.3.VC6) которая понимает команды типа asm tmp1, "mov edi, [edi]". #8b3f# - это ОП код команды mov edi, [edi] В данном скрипте полно команд типа asm ***, "***"(я подправил только под эту прожку), поэтому хотелось бы знать версию ODbgScript которая понимает эти команды. |
|
Создано: 17 сентября 2008 13:59 · Личное сообщение · #12 |
|
Создано: 17 сентября 2008 14:13 · Личное сообщение · #13 |
|
Создано: 17 сентября 2008 15:47 · Личное сообщение · #14 pavka ты же сам писал pavka пишет: Китайски бажный какой то тут тема: --> Link <-- ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 18 сентября 2008 02:35 · Личное сообщение · #15 |
|
Создано: 18 сентября 2008 03:35 · Личное сообщение · #16 |
|
Создано: 18 сентября 2008 07:30 · Поправил: borov · Личное сообщение · #17 |
|
Создано: 18 сентября 2008 15:24 · Личное сообщение · #18 |
|
Создано: 18 сентября 2008 15:29 · Личное сообщение · #19 |
|
Создано: 18 сентября 2008 15:34 · Личное сообщение · #20 |
|
Создано: 18 сентября 2008 18:03 · Личное сообщение · #21 |
|
Создано: 18 сентября 2008 18:15 · Личное сообщение · #22 Yesterday and today I've found some issues regarding ASK and ASM opcodes, when used in scripts.. QUOTE Found bug here: QUOTE bool OllyLang:: DoASK(string args) { string ops[1]; string title; if(!CreateOperands(args, ops, 1)) return false; if(GetSTROpValue(ops[0], title)) { if (wndProg.hw!=NULL) InvalidateRect(wndProg.hw, NULL, FALSE); HINSTANCE hi = (HINSTANCE)GetModuleHandle("ODbgScript.dll"); HWND hw = 0; //not modal but dialog need to be closed on plugin close. char* returned_buffer = (char*)DialogBoxParam(hi, MAKEINTRESOURCE(IDD_INPUT), hw, (DLGPROC) InputDialogProc, (LPARAM)title.c_str()); if ((BYTE)returned_buffer != NULL) { string returned = returned_buffer; delete[256] returned_buffer; if(is_hex(returned)) { variables["$RESULT"] = strtoul(returned.c_str(), 0, 16); variables["$RESULT_1"] = (int) (returned.length() / 2); //size } else { UnquoteString(returned, '"', '"'); // To Accept input like "FFF" (forces string) variables["$RESULT"] = returned.c_str(); variables["$RESULT_1"] = (int) returned.length(); } } else { variables["$RESULT"] = 0; //added this!! Pause(); } return true; } return false; } By doing that, if you leave the dialog box empty or press Cancel, it makes $RESULT 0 instead of empty as it used to.. Example: ask "Enter text:" //here, when you press Cancel or don't type anything in, $RESULT = EMPTY.. cmp $RESULT,0 je #cancel mov bla,$RESULT After fix: Have fun.. QUOTE Found another bug with ODbgScript.. When your variable holds addresses like B239E0, ODbgScript will fail to ASM them. Example: eval "mov dword ptr [{GPA}],{cave}" asm cave,$RESULT For this case, with: Command= eval "mov dword ptr [{GPA}],{cave}" Result="mov dword ptr [A71074],B23A39" Because of not putting a 0 in front of A71074, ODbgScript will error -> "unknown command". Fixed here, in OllyLang.cpp: QUOTE else if(variables[op].vt == DW) { char buffer[12] = {0}; if (hex8forExec) //For Assemble Command (EXEC/ENDE) ie "0DEADBEEF" sprintf(buffer, "%09X", variables[op].dw); else sprintf(buffer, "%08X", variables[op].dw); //changed from %X to %08X value = buffer; goto values_ok; } Now it should work fine CODE Script Execution, item 66 Line=66 Command= asm cave,$RESULT Result=A EIP= i Values <---="mov dword ptr [00A71074],00B23A39" B23A01 Good luck forums.accessroot.com/act=attach&type=post&id=3680 |
|
Создано: 19 сентября 2008 03:17 · Личное сообщение · #23 |
|
Создано: 19 сентября 2008 11:54 · Личное сообщение · #24 |
|
Создано: 23 октября 2008 06:49 · Личное сообщение · #25 На обменнике www.sendspace.com/file/txr13k я выложил полностью рабочий файл AsProtect.exe для протектора AsProtect v2.4 build 12.20. В нем полностью восстановлены все эмулированные инструкции, снята проверка целостности кода (CRC), удалены все ненужные секции файла, и т.д. Если имеются какие-либо ошибки, пожалуйста, сообщите мне об этом. |
|
Создано: 23 октября 2008 06:58 · Личное сообщение · #26 |
|
Создано: 23 октября 2008 09:25 · Поправил: Loco · Личное сообщение · #27 |
|
Создано: 23 октября 2008 09:49 · Личное сообщение · #28 Loco если не знаешь, то незачем писать. depler новее 02.26, это релиз от 26 февраля 2008 года, а 12.20 это релиз 20 декабря 2007 года, после 02.26 еще официально был 04.01, но на паблике его нет. ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 23 октября 2008 10:27 · Личное сообщение · #29 |
|
Создано: 23 октября 2008 10:33 · Личное сообщение · #30 |
|
Создано: 23 октября 2008 12:32 · Личное сообщение · #31 Smon пишет: новее 02.26, это релиз от 26 февраля 2008 года, Тогда уж сразу надо сказать что из за халатности разрабов аспра, которая началась в 2005 году еще точную версию файла можно узнать только на их форуме. Версии идут так: ASProtect 2.4 build 12.20 ASProtect 2.41 build 02.26 ASProtect 2.41 build 04.01 тогда и вопросов нет какая старше. А вот прогеры на гуй как и на историю версий забили еще в 2005г. ----- Yann Tiersen best and do not fuck |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 38 . 39 . >> |
eXeL@B —› Протекторы —› Анализ ASProtect |