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

 eXeL@B —› Вопросы новичков —› Подскажите по взлому ASMTool 1.3 PE
Посл.ответ Сообщение

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

Создано: 20 мая 2010 06:40
· Личное сообщение · #1

1. ASMTool Professional Edition 1.3 PE
2. Программа пригодится как тем кто иногда кодит на ассемблере, так и тем кто занимается этим профессионально, так как ASMTool при

желании можно подстроить к любому компилятору. Новички в ассемблере, которые только начинают постигать основы ассемблера могут работать

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

программу ASMTool PE, которыми очень удобно пользоваться, нужно всего лишь нажать одну из клавиш для получения помощи.
3. disk.tom.ru/6lek1a8 установщик программы + распакованный ехе.
4. Размер 4.6 Мб
5. PEID v. 095 показывает ASProtect 2.1x SKE -> Alexey Solodovnikov
6. Ограниченная версия. Постояноое появление окон с прозьбой зарегистрировать.
7. Связаться можно либо тут, либо в личку.


С горем по полам я его распаковал этот ехе.

В W32DASM:

Если ввожу не правильный код, то никакого окна не появляется.
Нашел окно с правильным вводом пароля. Вот он.


Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00526994(C)
|
:0052699D 8D55F0 lea edx, dword ptr [ebp-10]
:005269A0 8B8308030000 mov eax, dword ptr [ebx+00000308]
:005269A6 E8B9E3F6FF call 00494D64
:005269AB 8B45F0 mov eax, dword ptr [ebp-10]

* Possible StringData Ref from Code Obj ->"23434567884532443455432HA12323A1234"
|
:005269AE BA88795200 mov edx, 00527988
:005269B3 E814E3F1FF call 00444CCC
:005269B8 0F8548010000 jne 00526B06

* Possible StringData Ref from Code Obj ->"Registration SUCCES!!!!"
|
:005269BE B8B4795200 mov eax, 005279B4
:005269C3 E81C57F6FF call 0048C0E4
:005269C8 A19C755C00 mov eax, dword ptr [005C759C]
:005269CD 8B00 mov eax, dword ptr [eax]
:005269CF 8B903C070000 mov edx, dword ptr [eax+0000073C]
:005269D5 8D45EC lea eax, dword ptr [ebp-14]

* Possible StringData Ref from Code Obj ->"sys/key.dat"

Да он срабатывает, даже в файл key.dat записывает данные, но программа не регистрируется. Это обманный маневр какой-то.

ПОдскажите с какой его еще стороны начать копать.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 20 мая 2010 08:52
· Личное сообщение · #2

AXY
Стоимость 1$

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




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

Создано: 20 мая 2010 09:31
· Личное сообщение · #3

И что?
Я же хочу не научиться покупать программы, а научиться анализировать код!



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

Создано: 20 мая 2010 10:17 · Поправил: vnekrilov
· Личное сообщение · #4

Регистрационный ключ, который использует Asprotect, состоит из двух частей:
1. Константа, которая используется для раскриптовки закриптованных данных
2. Электронной подписи, которая базируется на HWiD компьютера
Для раскриптовки введенного ключа используется специальная подпрограмма, которая находится в Asprotect.dll, и, как правило, она полностью эмулирована. Для выполнения кода этой подпрограммы используется Виртуальная машина (VM), которая и выполняет все эмулированные инструкции этой подпрограммы.
После раскриптовки введенного ключа, выполняется проверка электронной подписи, и, если электронная подпись не выдерживает проверку, то выполняется условный прыжок, и далее прекращается всякая работа с регистрационным кодом.

Просто так, с наскока, эту проблему не решить. Нужно хотя бы немного почитать статьи о распаковке Asprotect, которые выложены на ветке форума https://cracklab.ru/f/action=vthread&forum=13&topic=11596&page=29, а также почитать статьи по структуре регистрационного ключа.

Кстати, в этой программе, ImageBase = 00440000, а не 00400000, как обычно принято в EXE-файлах. Это значение нужно учитывать при поиске секции TLS, а также при использовании скрипта для очистки мусорного кода в областях со спертыми байтами.



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

Создано: 20 мая 2010 12:55
· Личное сообщение · #5

Так я то распаковал ехе. Мне нужна подсказка по взлому уже распакованного экзэшника.



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

Создано: 20 мая 2010 13:27 · Поправил: ZLOvar
· Личное сообщение · #6

Измени переход на противоположный по адресу:
Code:
  1. :005269B8 0F8548010000 jne 00526B06

Должно помочь. Если нет, то там ещё может быть проверка пароля при старте проги. Найди и пофиксь.
ClockMan
А это что? Та самая проверка пароля при старте проги?
|
|
\/




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 20 мая 2010 13:38
· Личное сообщение · #7

/*5A9474*/ MOV ECX,5AA118
/*5A9479*/ CALL 00444BD4
/*5A947E*/ MOV EAX,[EBP-714]
/*5A9484*/ CALL 00449920
/*5A9489*/ TEST AL,AL
/*5A948B*/ JE 005A9D8C
/*5A9491*/ MOV EAX,[EBP-4]
/*5A9494*/ MOV EDX,[EAX+73C]
/*5A949A*/ LEA EAX,[EBP-718]
/*5A94A0*/ MOV ECX,5AA118
/*5A94A5*/ CALL 00444BD4

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 20 мая 2010 13:50
· Личное сообщение · #8

ZLOvar пишет:
А это что? Та самая проверка пароля при старте проги?

Да ,ищется sys/key.dat если ненаходится то по аддресу 5A948B идёт прыжок, если находится то идёт проверка ключа

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




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

Создано: 20 мая 2010 13:52
· Личное сообщение · #9

[i]ZLOvar пишет:
Измени переход на противоположный по адресу:
Code:

1. :005269B8 0F8548010000 jne 00526B06


Если бы ((( Я про это и писал. Это не помогает.
А вот при старте я не смог ничего найти



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

Создано: 20 мая 2010 13:55 · Поправил: ZLOvar
· Личное сообщение · #10

^
|
|
AXY
См ответ ClockMen`a выше. Там идёт проверка при запуске. До взлома осталось чуть-чуть
AXY пишет:
Так вот этот sys/key.dat создается, и при загрузке все равно говорит что не зарегистрировано.

Так он ещё и проверяет пароль который в нём находится. Если он неверный, то прога всё ещё shareware.
Ещё вариант:
Если в файле отсутствует пароль как таковой, прога не зарегистрирована.
~~~~~~~~~~~~~~~~~~~~~~~~
В любом случае, надо найти нужный условный переход и пропадчить.



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

Создано: 20 мая 2010 13:55
· Личное сообщение · #11

ClockMan пишет:
А это что? Та самая проверка пароля при старте проги?
Да ,ищется sys/key.dat если ненаходится то по аддресу 5A948B идёт прыжок, если находится то идёт проверка ключа

Так вот этот sys/key.dat создается, и при загрузке все равно говорит что не зарегистрировано.



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

Создано: 20 мая 2010 14:19 · Поправил: ZLOvar
· Личное сообщение · #12

[OFFTOP]
Отпишись, когда взломаешь. Ок?
[/OFFTOP]




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

Создано: 20 мая 2010 17:04
· Личное сообщение · #13

Руки бы отрывал разгильдяям, кто патчит переход на противоположный. Надо либо нопить, либо на jmp патчить.




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

Создано: 20 мая 2010 17:12
· Личное сообщение · #14

Archer потом думает, почему же не подходят его валидные ключи?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 20 мая 2010 17:42
· Личное сообщение · #15

Archer
Я просто предложил как вариант. А насчёт nop`a и jump`a, какая разница??? Это то же самое что и замена джампов на противоположные. Тользо вот, как Isaev сказал, валидные ключи подходить не будут



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

Создано: 20 мая 2010 19:23
· Личное сообщение · #16

Программу почти взломал. Терерь все функции программы отрыты. Но есть еще надоедливое окно которое появляется примерно через минуту и говорит что программа не зарегистрирована. Можно ли просто забить nop'ами саму функцию вызова окна? Просто у меня программа после такого просто начала закрываться вместо появления окошка.




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

Создано: 20 мая 2010 19:45
· Личное сообщение · #17

прежде чем просто "просто забить nop'ами саму функцию вызова окна" посмотри чтобы после этого pop's & push's сбаллансированы были (при этом учти что передаваемые параметры функция бы из стека сама удалила, поэтому их тоже надо занопить)

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 21 мая 2010 01:10 · Поправил: ClockMan
· Личное сообщение · #18

1.При в воде серийника обрати внимание на эти адреса

/*5269AB*/ MOV EAX,[LOCAL.4]=======>введённый
/*5269AE*/ MOV EDX,527988========> вшитый в программу
/*5269B8*/ JNZ 00526B06

2.Перезапускаем прогу ставим бряк на адреса
/*5A95F8*/ MOV EDX,[EBP-71C]============>ключь который должен быть по идее, но неработает
/*5A95FE*/ MOV EAX,[EBP-18]=============>ключь считанный с key.dat
/*5A9601*/ CALL 00444CCC
/*5A9606*/ JNZ SHORT 005A962F
3.
Чтобы всё заработало нопим адрес 5A78D3
/*5A78D0*/ CMP EBX,6F
/*5A78D3*/ JNZ SHORT 005A78F0==========>nop nop

Единственный косяк окно эбаута неработает сам поправишь

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




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

Создано: 21 мая 2010 06:46 · Поправил: AXY
· Личное сообщение · #19

ClockMan
Ну в общем твоим методом все получилось и окно "о программе" не пашет. ну и ладно на него.
А с моим методом только на половину работает, хотя так же окно не пашет.
Мне тут в личку прислали уже полностью рабочую версию.
Если ли программа для сравнения ехе файлов, что бы я смог посмотреть что там и где правилось?

Там кстати все работает да и key.dat вообще не требует, а моим и твоим методом все же при первом запуске программа не зарегистрирована и приходится вводить любые логин и пароль.

Единственное что я нашел исправленного это
/*5269AB*/ MOV EAX,[LOCAL.4]=======>введённый
/*5269AE*/ MOV EDX,527988========> вшитый в программу
/*5269B8*/ JNZ 00526B06 --- теперь забито nop'ами

Видимо где то еще раньше что то имелось.




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

Создано: 21 мая 2010 08:24
· Личное сообщение · #20

Программ для сравнения файлов тучи, хыть бы мальца погуглил. хотя бы виндовый консольный fc.




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 21 мая 2010 09:23
· Личное сообщение · #21

AXY
У каждого свои методы взлома,надо самому во всём разбиратся
AXY пишет:
"о программе" не пашет. ну и ладно на него

Это было тебе домашним заданием у меня всё работает

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




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

Создано: 21 мая 2010 10:11
· Личное сообщение · #22

ClockMan
Ну у меня пока такое не получается.
попробуй закрыть вкладку когда имеется только 1 вкладка. тоже ошибка выскакивает.

Archer
мне то надо что бы сравнение было так же видно как в W32DASM.
Обычные то программы такого не могут. Мне приходится сохранять дизасемблированный код в дасме и потом уже сравнивать их. Но файлы получаются уж очень большими.



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

Создано: 21 мая 2010 10:20
· Личное сообщение · #23

AXY пишет:
мне то надо что бы сравнение было так же видно как в W32DASM

лень поискать?
http://exelab.ru/f/action=vthread&forum=3&topic=13687&page =4


 eXeL@B —› Вопросы новичков —› Подскажите по взлому ASMTool 1.3 PE
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати