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

 eXeL@B —› Протекторы —› Анализ ASProtect
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 38 . 39 . >>
Посл.ответ Сообщение

Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 28 марта 2008 15:30 · Поправил: vnekrilov
· Личное сообщение · #1

Я выложил свой первый туториал по анализу ASProtect v2.4 build 12.20 (Анализ подпрограммы эмуляции инструкций.rar http://dump.ru/files/o/o489862518/ ). В этом туториале я подробно описал процесс восстановления эмулированных инструкций типа:
Code:
  1. PUSH 0
  2. PUSH 0CC5850
  3. PUSH 0DB180C
  4. CALL 00CEB814


Полный цикл статей по распаковке 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, который можно скачать по ссылке --> Link <--



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

Создано: 16 сентября 2008 21:30 · Поправил: Konstantin
· Личное сообщение · #2

borov
[q]страйпер вылетает с ошибкой, и скрипт VolX'a тоже [/q]
Cкрипт VolX'a распаковывает сабж, если его подправить.
Нужно заменить строку
Code:
  1. asm tmp1, "mov edi, [edi]

на
Code:
  1. mov [tmp1], #8b3f#

Вот исправленный скрипт:

182c_16.09.2008_CRACKLAB.rU.tgz - ASProtect 1.3x - 2.xx Unpacker v1.14AE_1.rar
P.S. В сабже помимо OEP сперто еще кусков 10 кода.




Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 17 сентября 2008 00:44
· Личное сообщение · #3

Konstantin У тебя самого дамп после потом работает? У мну нет .

-----
PSP-Gamer.ru





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 17 сентября 2008 01:06
· Личное сообщение · #4

Loco, а потом нужно ИмпРеком импорт востановить и все, данный для ИмпРека смотри в окне Log Windows в ольке, и все

-----
Лучше быть одиноким, но свободным © $me




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

Создано: 17 сентября 2008 01:47 · Поправил: Konstantin
· Личное сообщение · #5

Loco
Так он же и не будет работать, я же написал там около 10 участков спертого кода, их нужно восстанавливать - чистить от мусора, может они еще и с VM(не смотрел). Этого скрипт от VolX-а не делает (по крайней мере паблик версия).




Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 17 сентября 2008 08:03
· Личное сообщение · #6

Konstantin пишет:
нужно восстанавливать - чистить от мусора

Чем можно почистить? Я просто биндером правил в надежде на рапотоспособность файла, но нет не пашет.

-----
PSP-Gamer.ru





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 17 сентября 2008 09:40 · Поправил: borov
· Личное сообщение · #7

у мнея все отлично заработало с исправленым скриптом, сначала скриптом распаковал,
потом ИмпРеком востановил импотр, запускаю работает, к томуже версия стала зарегистрированой,
только почимуто на VolX'a, открываю програму в хекс-редакторе ищу стоку VolX и заменяю на BoRoV,
вуаля и все зашибись

-----
Лучше быть одиноким, но свободным © $me




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

Создано: 17 сентября 2008 10:42 · Поправил: Konstantin
· Личное сообщение · #8

Я просто биндером правил в надежде на рапотоспособность файла, но нет не пашет.

Чтобы понять, что за код тебе восстанавливать, посмотри на прыжки по этим адресам (как это делать - читай статьи):
Code:
  1. /*403C0C*/  JMP 00FC087E
  2. /*403C66*/  JMP 00FC0A34
  3. /*403CCC*/  JMP 00FC0A39
  4. /*403D54*/  JMP 00FC0F37
  5. /*403DA4*/  JMP 00FC0439
  6. /*403DD8*/  JMP 00FC0BF5
  7. /*403E50*/  JMP 00FC041E
  8. /*403E57*/  JMP 00FC0425
  9. /*408110*/  JMP 00FC0A94
  10. /*40815C*/  JMP 00FC0EEC

Т.е. это прыжки из основного кода в виртуальную память, выделенную аспром. Соответственно в дампе со снятым аспром ведут в никуда. Скрипт правит эти прыжки в область после секции .adata которой реально не существует, но если дампить Pedumper-oм с снятой опцией paste header from disk, то эта секция с названием aspr нарисуется. Правда в дампе она будет пустая.

Вручную восстанавливать код гиморно(там его довольно много, да и делать обезьянью работу не хоцо) - на паблике инструментов нет. Воспользуйся советом Maximus-а:
Отправь на сервис распаковки, тебе распакуют эту версию.

P.S. borov а если подробнее?




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 17 сентября 2008 11:45
· Личное сообщение · #9

Konstantin пишет:
по крайней мере паблик версия


из хистори:

1.2
Add the ability to fix VM code.


Однако 1,2 на паблике действительно небыло




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

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

Konstantin
Почему исправлять надо именно на
mov [tmp1], #8b3f#

Это только для этой проги/версии или ошибка в скрипте?

-----
Лень - это подсознательная мудрость




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

Создано: 17 сентября 2008 12:57 · Поправил: Konstantin
· Личное сообщение · #11

depler
У меня нет версии ODbgScript (пользуюсь ODbgScript 1.64.3.VC6) которая понимает команды типа asm tmp1, "mov edi, [edi]".
#8b3f# - это ОП код команды mov edi, [edi]

В данном скрипте полно команд типа asm ***, "***"(я подправил только под эту прожку), поэтому хотелось бы знать версию ODbgScript которая понимает эти команды.



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

Создано: 17 сентября 2008 13:59
· Личное сообщение · #12

Konstantin пишет:
поэтому хотелось бы знать версию ODbgScript которая понимает эти команды.

Ищи 1.65 китайская версия там пофикщены asm




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 17 сентября 2008 14:13
· Личное сообщение · #13

вот оно че, у меня тоже ODbgScript 1.64.3, просто у меня он в сборке DeFixed Edition, потому и заменить его нельзя

-----
Лучше быть одиноким, но свободным © $me





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 17 сентября 2008 15:47
· Личное сообщение · #14

pavka ты же сам писал
pavka пишет:
Китайски бажный какой то


тут тема: --> Link <--

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 18 сентября 2008 02:35
· Личное сообщение · #15

borov пишет:
потому и заменить его нельзя


а посмотреть, на что в плагине заменены магические слова: OLLYDBG.EXE и _ODBG_ религия не позволяет?



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

Создано: 18 сентября 2008 03:35
· Личное сообщение · #16

Isaev пишет:
ты же сам писал

Есть версия пофикшеная




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 18 сентября 2008 07:30 · Поправил: borov
· Личное сообщение · #17

Gideon Vi, исправил, не работает

-----
Лучше быть одиноким, но свободным © $me




Ранг: 64.4 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 18 сентября 2008 15:24
· Личное сообщение · #18

pavka пишет:
Ищи 1.65 китайская версия там пофикщены asm

А без него и не работал скрипт версии 1.14




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 18 сентября 2008 15:29
· Личное сообщение · #19

pavka
ну дык выложи пофикшенную

-----
Лень - это подсознательная мудрость




Ранг: 64.4 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 18 сентября 2008 15:34
· Личное сообщение · #20

depler пишет:
ну дык выложи пофикшенную

Ее же где угодно можно скачать




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 18 сентября 2008 18:03
· Личное сообщение · #21

У меня 1.65.4 не понимает данную команду,
pavka, выложи тот что понимает.

-----
Лучше быть одиноким, но свободным © $me




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

Создано: 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




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

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

borov пишет:
исправил, не работает


значит ещё что-то нахимичили. Нафига тебе сборки? Поставь advancedolly для фикса багов и фантома для хайда. Будешь по крайней мере знать, что и для чего сделал. Ну и с плагами проблем иметь не будешь




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 19 сентября 2008 11:54
· Личное сообщение · #24

Gideon Vi, он не работает потому что он даже в оригинальном виде в нормальной ольке не хочет работать, при попытке загрузить скрипт, он его не загружает

-----
Лучше быть одиноким, но свободным © $me




Ранг: 329.6 (мудрец), 192thx
Активность: 0.140.01
Статус: Участник

Создано: 23 октября 2008 06:49
· Личное сообщение · #25

На обменнике www.sendspace.com/file/txr13k я выложил полностью рабочий файл AsProtect.exe для протектора AsProtect v2.4 build 12.20. В нем полностью восстановлены все эмулированные инструкции, снята проверка целостности кода (CRC), удалены все ненужные секции файла, и т.д. Если имеются какие-либо ошибки, пожалуйста, сообщите мне об этом.




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 23 октября 2008 06:58
· Личное сообщение · #26

Какая версия новее 02.26 или 12.20?

-----
Лень - это подсознательная мудрость





Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 23 октября 2008 09:25 · Поправил: Loco
· Личное сообщение · #27

depler 02.26

-----
PSP-Gamer.ru




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 23 октября 2008 09:49
· Личное сообщение · #28

Loco
если не знаешь, то незачем писать.

depler
новее 02.26, это релиз от 26 февраля 2008 года, а 12.20 это релиз 20 декабря 2007 года, после 02.26 еще официально был 04.01, но на паблике его нет.

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 23 октября 2008 10:27
· Личное сообщение · #29

если его резили тогда где он?

-----
Лучше быть одиноким, но свободным © $me




Ранг: 116.5 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 23 октября 2008 10:33
· Личное сообщение · #30

Пжлста, переложите кто-нить тутор куда-нить на другой обменник (хотя б на рапиду)!




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 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
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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