Русский / Russian English / Английский

Сейчас на форуме: ar2r, Medsft, strannyi (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Крэки, обсуждения —› ArmAccess.dll
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 9 августа 2006 21:21 New!
Цитата · Личное сообщение · #1

Народ, кто знает, что за либа такая? Видел её только однажды, в одном из релизов 4.44 Армадиллы от китайцев. Почему спрашиваю, у меня есть одна прога, кот запакована армадиллой. Прогу распаковал, руками, все запускается, и работает, кроме одной нужной кнопки, при нажатии которой ничего не происходит. И тут натыкаюсь на релиз от одной команды, как раз для этой проги, а релиз представляет из себя SFX архив, распаковывающийся в папку с установленной прогой, и в архиве один единственный файл - ArmAccess.dll И инструкция, "Установите прогу, не перегружайтесь, распакуйте либу в папку, перегружайтесь, и наслаждайтесь" Никак не мог понять, как либа может сломать эту прогу, т.к. там она вообще лишняя, в папке такой нет (т.е. ничего не подменяется), и прога регается вообще с помощью кей файла. Т.е. фактически просто распаковка файла в папку. Ну думаю, дай попробую, распаковал, ребутнулся, и естественно ничего не произошло, прога от этого не зарегалась. Но что самое удивительное, так это то, что заработала та самая кнопка в моем распакованном ЕХЕ-шнике! Что это? Защита армы? И вообще, чего это за такой файл? И что самое интересное, в распакованном моем релизе, hardware ID подменяется глупой надписью, зашитой в эту самую либу. В нераспакованной проге этого нет.


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 9 августа 2006 21:31 New!
Цитата · Личное сообщение · #2

Это либа армы. Она вроде типа грузится в память ручками армы. Там разные фишки типа DAYS_LEFT если мне не изменяет память. Просто надо было покопаться хорошо в распакованной, и найдя вызовы в эту библу порпавить возвращаемые ими значения.


Ранг: 500.6 (!)
Статус: Участник

Создано: 9 августа 2006 21:43 New!
Цитата · Личное сообщение · #3

Вот деклации для дельфи:
Function CheckCode (name,code:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function VerifyKey (name,code:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function InstallKey (name,code:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function InstallKeyLater (name,code:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function UninstallKey : Boolean; stdcall; external 'armaccess.dll';
Function SetDefaultKey : Boolean; stdcall; external 'armaccess.dll';
Function UpdateEnvironment : Boolean; stdcall; external 'armaccess.dll';
Function IncrementCounter : Boolean; stdcall; external 'armaccess.dll';
Function CopiesRunning : LongInt; stdcall; external 'armaccess.dll';
Function ChangeHardwareLock : Boolean; stdcall; external 'armaccess.dll';
Function GetShellProcessID : LongInt; stdcall; external 'armaccess.dll';
Function FixClock (fixclockkey:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function RawFingerprintInfo (item:LongInt) : LongInt; stdcall; external 'armaccess.dll';
Function SetUserString (which:LongInt;str:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function GetUserString (which:LongInt;buffer:PChar;bufferlength:LongInt) : LongInt; stdcall; external 'armaccess.dll';
Function WriteHardwareChangeLog(filename:PChar) : Boolean; stdcall; external 'armaccess.dll';
Function ConnectedToServer : Boolean; stdcall; external 'armaccess.dll';
Function CallBuyNowURL(parent:HWND) : Boolean; stdcall; external 'armaccess.dll';
Function CallCustomerServiceURL(parent:HWND) : Boolean; stdcall; external 'armaccess.dll';
Procedure ShowReminderMessage(parent:HWND); stdcall; external 'armaccess.dll';
Procedure ShowReminderMessage2(parent:HWND); stdcall; external 'armaccess.dll';
Function ShowEnterKeyDialog(parent:HWND): Boolean; stdcall; external 'armaccess.dll';
Function ExpireCurrentKey : Boolean; stdcall; external 'armaccess.dll';


Ранг: 500.6 (!)
Статус: Участник

Создано: 9 августа 2006 21:47 New!
Цитата · Личное сообщение · #4

А вообще, в атаче апи хелп армы:



{ Атач доступен только для участников форума } - API.chm


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 10 августа 2006 05:41 New!
Цитата · Личное сообщение · #5

Оки доки.
Но тогда я не понимаю, почему это дурацкая кнопка начинает работать только после того, как эту либу скопировать в папку с установленной прогой. И тем более, если эта либа не совсем армовская, а от одной крэк группы? (нормальная весит около 52 кб, их либа - примерно 5 кб)
Ведь запакованная прекрасно работает без нее. Или она "вшивается" в тело пакуемй проги?


Ранг: 85.3 (постоянный)
Статус: Участник

Создано: 10 августа 2006 06:45 New!
Цитата · Личное сообщение · #6

Johnson Finger пишет:
нормальная весит около 52 кб, их либа - примерно 5 кб

Там наверно описаны 1-2 функции армы, которые немного подправлены чтобы прога считала себя зареганойJohnson Finger пишет:
Ведь запакованная прекрасно работает без нее

Арма на твоей проге наверно просто проверяет есть ли такая либа в папке, если есть то грузит ее. Проверь эту идею Филемоном, может будет попытка проги загрузить armaccess.dll


Ранг: 391.8 (мудрец)
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 10 августа 2006 10:08 · Поправил: Maximus New!
Цитата · Личное сообщение · #7

Johnson Finger просто арма при упаковке запихала эту dll в упакованный екзешник. После распаковки естественно dll осталась за бортом, но прога ее все равно требует. По этому dll от крэк группы это обычная пустышка, что бы программа вообще работала...

http://www.exelab.ru/f/index.php?action=vthread&forum=2&topic=4142


Ранг: 66.1 (постоянный)
Статус: Участник

Создано: 10 августа 2006 10:45 New!
Цитата · Личное сообщение · #8

Johnson Finger пишет:
Но тогда я не понимаю, почему это дурацкая кнопка начинает работать только после того, как эту либу скопировать в папку с установленной прогой.


Эта библиотека - виртуальная. Во время запуска арма подгружает её в адресное пространство программы для обеспечения работоспособности своих API. И если ты убираешь арму, соответственно и библиотека тоже убирается, а значит и API тоже не будут работать. Программа открывает её вызовом LoadLibraryA. И ей будет все равно где находится библиотека: на диске или в памяти.
RAMZEZzz пишет:
И тем более, если эта либа не совсем армовская, а от одной крэк группы


Возможно они её просто переделали так, чтобы она всегда возвращала правильные значения


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 10 августа 2006 12:43 New!
Цитата · Личное сообщение · #9

Ещё может быть штука, что происходит эксепшн, и обработчик есесно идёт мимо нужного кода, когда значения возвращаемые не те. В проге ломал какой-то арму, так после распаковки там место было что вызывалась апи и потом atoi. Хотя мож это была GEtEnvironmentVariable. Ну ндеюсь к чему я это понятно


Ранг: 353.0 (мудрец)
Статус: Участник
resreveR

Создано: 10 августа 2006 13:02 New!
Цитата · Личное сообщение · #10

AdOLF_04 пишет:
Возможно они её просто переделали так, чтобы она всегда возвращала правильные значения

так оно и есть =) и не переделали, а написали так сказать эмуль..


Ранг: 66.1 (постоянный)
Статус: Участник

Создано: 10 августа 2006 13:17 New!
Цитата · Личное сообщение · #11

lord_Phoenix пишет:
и не переделали, а написали так сказать эмуль..


Ну да. Это я и имел в виду


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 10 августа 2006 14:34 New!
Цитата · Личное сообщение · #12

Так, теперь по порядку.
То RAMZEZzz - прикол не в этом, прога не считает себя зареганной, её вообще сложно зарегать, одним из этапов взлома у меня идет патч драйвера программы.
И прикол еще в том, что если прога не распакованная, то эту либу хоть ложи, хоть нет, эффекта не будет.
А распакованная действительно начинает использовать её, если подложишь в папку с этой прогой.
То Maximus Хм, тогда странно, а почему другие проги после распаковки ничего не требуют? А либа от тимы не пустышка, там действительно похоже что-то есть. И прикол не в том, чтобы прога вообще работала. Она и без нее работает, но вот одна очень необходимая кнопка перестает нажиматься. Только когда подложишь либо от этой тимы, она начинает нормально работать. Ладно, куда ни шло. Но вот если к разговору, что прога все равно требует эту либу, я подкладывал их целых две, одну от ломанной армы кастом билд, а вторую от лицензионного дистриба армы, кнопарь все равно не работает. Где смысл?
То AdOLF_04 Допустим, но опять же, почему в других прогах после распаковки все прекрасно работает и без этой либы? Кривая распаковка? Автоанпакеры распаковывают точно также, как и я руками.
А вот на счёт правильных значений это в принципе мысль, но опять же, ПРОГА НЕ СТАНОВИТСЯ ОТ ЭТОГО ЗАРЕГАННОЙ! Также появляются наги и триал от этого не исчезает. Их релиз вообще ничего не делает! Я бы и не понял, в чем дело, если бы не кинул эту либо вместе с моим распакованным ЕХЕ-шником. В их релизе только эта либа, может они забыли чего-то добавить в него (в релиз)?


Ранг: 66.1 (постоянный)
Статус: Участник

Создано: 10 августа 2006 14:40 New!
Цитата · Личное сообщение · #13

Johnson Finger пишет:
если прога не распакованная, то эту либу хоть ложи, хоть нет, эффекта не будет

Это потому что арма использует встроенную и на диск не смотрит вообще.

Johnson Finger пишет:
почему в других прогах после распаковки все прекрасно работает и без этой либы

Потому что они не используют API протектора.

Johnson Finger пишет:
ПРОГА НЕ СТАНОВИТСЯ ОТ ЭТОГО ЗАРЕГАННОЙ

Скорее всего кроме API программа еще использует глобальные переменные, которые устанавливает протектор. Попробуй поискать вызов GetEnvironmentVariableA.


Ранг: 353.0 (мудрец)
Статус: Участник
resreveR

Создано: 10 августа 2006 16:21 New!
Цитата · Личное сообщение · #14

AdOLF_04 пишет:
Это потому что арма использует встроенную и на диск не смотрит вообще.

+1, вот когда прога анпакнута и никто для нее(в смысле сама арма) не загрузит ArmAccess.dll, тогда уже в игру войдет твоя либа на диске
Johnson Finger пишет:
Допустим, но опять же, почему в других прогах после распаковки все прекрасно работает и без этой либы? Кривая распаковка? Автоанпакеры распаковывают точно также, как и я руками.
А вот на счёт правильных значений это в принципе мысль, но опять же, ПРОГА НЕ СТАНОВИТСЯ ОТ ЭТОГО ЗАРЕГАННОЙ! Также появляются наги и триал от этого не исчезает. Их релиз вообще ничего не делает! Я бы и не понял, в чем дело, если бы не кинул эту либо вместе с моим распакованным ЕХЕ-шником. В их релизе только эта либа, может они забыли чего-то добавить в него (в релиз)?

может тут как раз юзаются глобал.переменные, а либа - нет.. бывает и наоборот и все вместе =)

Ранг: 30.8 (посетитель)
Статус: Участник

Создано: 10 августа 2006 16:44 New!
Цитата · Личное сообщение · #15

@Johnson Finger
Если прога правильно сломана, то никакая либа не нужна.
Если криво, тогда начинаются всякие извращения с либами.
Если прога небольшая то может выложиш,а то беспредметный разговор.


Ранг: 353.0 (мудрец)
Статус: Участник
resreveR

Создано: 10 августа 2006 16:56 New!
Цитата · Личное сообщение · #16

Iona пишет:
Если прога правильно сломана, то никакая либа не нужна.

иногда красивее сделать такую вот либу-эмуль-пустышку имхо


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 10 августа 2006 17:53 New!
Цитата · Личное сообщение · #17

В общем, новости с фронта
похоже эта злосчастная кнопка действительно юзает что-то из армадилловской защиты, т.к. после окончания триала она вообще становится неактивной. Видимо, для её корректной работы и нужна эта либа.... Либо что-то подправить в самой проге, вот только что, понятия не имею Поэтому распакованная прога всегда находится в триальном режиме, кнопка активна, но не нажимается, т.к. вместе с распаковкой улетает и либа.
То lord_Phoenix -так что все таки юзается либа
То Iona - прога здоровая, сюда не залить, и распакованный ЕХЕ-шник весит 3.5 метра, запакованный -2 мб.
Я уже решил извратиться, и начал кромсать уже запакованную армой прогу, на предмет постоянного триала, часть сделал, армовская защита теперь не выбрасывает в ТЕМР папку свой файл, отвечающий за триал, осталось добить ключи реестра. Фактически добил, арма уже перестала добавлять триальные ключи (Trial Reset ничего не находит), но из-за этого она теперь считает, что триал кончился, т.к. и считать она их тоже не может.
Кстати, есть идей, как из памяти выковырять эту либу, когда запротекченная армой прога работает?

Ранг: 30.8 (посетитель)
Статус: Участник

Создано: 10 августа 2006 17:57 New!
Цитата · Личное сообщение · #18

@lord_Phoenix
И чегож тут красивее, если прогу всеравно надо распаковать.
Только заведома надо, надо распаковать криво.
Чтоб потом кривые руки заменить, красивой либой.
Просто програмер лоханулся, и назначил активизацию кнопки, по зарегености проги.
А не использовал возможности армадилы, и надеятся что попадется еще такой ламер наивно.


Ранг: 353.0 (мудрец)
Статус: Участник
resreveR

Создано: 10 августа 2006 18:21 New!
Цитата · Личное сообщение · #19

Iona пишет:
Только заведома надо, надо распаковать криво.

разьве распаковка проги, которая юзает сдк прота - кривая?


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 10 августа 2006 19:23 New!
Цитата · Личное сообщение · #20

Народ, вопрос повис в воздухе: "как из памяти выковырять эту либу, когда запротекченная армой прога работает?"


Ранг: 500.6 (!)
Статус: Участник

Создано: 10 августа 2006 20:25 New!
Цитата · Личное сообщение · #21

Попробуй на виртуалаллок поймать. Секурити длл ловил, а армаксес не пробовал.


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 10 августа 2006 21:05 New!
Цитата · Личное сообщение · #22

Блин, это уже даже и не смешно Прога, НЕРАСПАКОВАННАЯ, т.е. запакованная армой редактируется редактором ресурсов Как это может быть? Возможно ли такое, что прога была не пожата армой, а просто пошифрована? Че за бред вообще такой
Либу так и не смогу выудить, как и не пытался, так что выход один, просто убивать триал в запакованной проге.

Ранг: 74.0 (постоянный)
Статус: Участник

Создано: 11 августа 2006 02:04 New!
Цитата · Личное сообщение · #23

А есть метода по отлову этой длл ? Типа попроще ? Подойдет ли длл от другой проги (игры) ?


Ранг: 299.6 (наставник)
Статус: Участник
Armadillo Killer

Создано: 11 августа 2006 02:26 New!
Цитата · Личное сообщение · #24

Johnson Finger пишет:
Никак не мог понять, как либа может сломать эту прогу

Вот те на ... прога работает так ... при запуске прога обращается к ArmAccess.dll и использует от туда функцию InstallKey... по стандарту ключ инасталится в реестр .. Если он инсталится значит прога Trial если же нет то Full ... в DLL достаточно поменять одну строчку -> SETE на SETNE и все ключ при первом запуске не проинсталиться а значит буит Full ... эта фишка не сомсеми прогами прокатывает


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 11 августа 2006 09:18 New!
Цитата · Личное сообщение · #25

Soft_Ice пишет:
А есть метода по отлову этой длл ?

А нафик её ловить? Надо в программе пофиксить все неправильности с использованием апи армы и будет уже гуд. Библа эта служебная, тока вывод инфы и её изменение, защита в самой программе.

Johnson Finger пишет:
прога все равно требует эту либу, я подкладывал их целых две, одну от ломанной армы кастом билд, а вторую от лицензионного дистриба армы, кнопарь все равно не работает. Где смысл?

Библа это не защита, она лишь инфу о триалах и тд и тп достаёт. Надо фиксить саму программу. Смысл в программе.

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 11 августа 2006 09:54 New!
Цитата · Личное сообщение · #26

Soft_Ice пишет:
А есть метода по отлову этой длл ? Типа попроще ?

Делаешь аттач к процессу, когда библа в памяти. В олли смотришь карту памяти - там эта длл будет. Делаешь дамп через плаг PE Dumper. Проверил на lz32.dll - с галочкой на header 1000 получилось.


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 11 августа 2006 14:16 New!
Цитата · Личное сообщение · #27

В общем, как я понял, почему не работают любы от других прог, или армы вообще - просто была определенная версия армы, которой защищалась эта прога, и соотв-но, для такой проги подходит только одна версия либы, и то, которая зашита в самой проге, попробую отловить её, а если не получится, то тупо просто буду делать вечный триал нераспакованной проги.
То Z0oMiK - пасиб, хорошее объяснение по крайней мере я теперь понял, для чего и ради чего это все...
То tundra37 на досуге попробую это....


Ранг: 260.9 (наставник)
Статус: Участник
John Smith

Создано: 11 августа 2006 14:23 New!
Цитата · Личное сообщение · #28

Johnson Finger
Расскажи, что ты хлочешь делать когда получишь ArmAccess.dll???


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 11 августа 2006 14:46 New!
Цитата · Личное сообщение · #29

То Rascal - ничего. Просто из этой проги я хочу сделать что-то вроде Retail версии, но распаковав саму прогу, и кинув туда эту либу, т.к. по теории вероятности, если кнопарь базируется на API армы, то в данном случае, вместе с этой либой в распакованной проге эта кнопка будет работать.....


Ранг: 207.4 (наставник)
Статус: Участник
Jeefo Recovery

Создано: 11 августа 2006 15:16 New!
Цитата · Личное сообщение · #30

То tundra37 - а нет там нифига Весю карту памяти перелопатил, никакого даже упоминания об armaccess.dll нет вообще нигде, только стандартные либы, которые он использует в данный момент.
Есть еще идеи, как выхватить эту либу из памяти?
. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› ArmAccess.dll

Видеокурс ВЗЛОМ