![]() |
eXeL@B —› Вопросы новичков —› Arma EnvironmentVariables |
Посл.ответ | Сообщение |
|
Создано: 18 июня 2011 16:37 · Личное сообщение · #1 Есть софт http://cloudfront.systweak.com/sysrc_trial.exe его давали в запросах, но не в этом суть. RegCleanPro.dll накрыта армой. При загрузки ее через отладчик, скажем поставить бряк в проге на: 004D5399 JMP EAX И словить экспорт функу #18. В ней рега, и проверяется через апи армы VerifyKey. Если пропатчить VerifyKey в самом лоадере армы по адресу 019FC3D6 MOV BYTE PTR SS:[EBP-421],0 <--- на 1 прога будет зарегена, либо в самой длл любой переход на 1000189D MOV AL,1 Проблема в том, что после анпака армовые переменные накрываются и игноряться, соответственно код в арме и кое-какой в dll не выполняется. Если пропатчить dll в нужной месте, то прога запустится незарегеной, что странно. Вот анпакнутая dll: http://rghost.ru/11443981 Кто-нибудь сталкивался с таким делом? Что еще пофиксить нужно? ----- Array[Login..Logout] of Life ![]() |
|
Создано: 18 июня 2011 17:01 · Поправил: Vovan666 · Личное сообщение · #2 |
|
Создано: 18 июня 2011 17:21 · Поправил: MasterSoft · Личное сообщение · #3 может пригодиться: ну и собственно тулза: ![]() |
|
Создано: 18 июня 2011 17:32 · Поправил: Kindly · Личное сообщение · #4 Vovan666 - точно, есть аж 14 проверок, причем она скорее всего проверяет не саму dll, а армовый код в ней, функа #27. Там уже в ней или после нее в eax записывается значение. Хм, хотелось бы exe не трогать, а попробовать подменить значение в dll ![]() ![]() MasterSoft, смотрел я это, не то в данном случае, но все равно спасибо ![]() ----- Array[Login..Logout] of Life ![]() |
|
Создано: 18 июня 2011 17:57 · Личное сообщение · #5 |
|
Создано: 18 июня 2011 18:07 · Поправил: reversecode · Личное сообщение · #6 |
|
Создано: 18 июня 2011 18:08 · Поправил: Kindly · Личное сообщение · #7 zeppe1in - ты не обратил внимание на ?GetHardwareHash@@YAPBDXZ ? Если и найдешь, то для себя только. reversecode - ты сначала попробуй, потом говори. Единственное что я заметил в пакованой dll, так то что в ALTUSERNAME должен быть в eax = 7, иначе при патчинге в памяти зарегеной не запустится. ----- Array[Login..Logout] of Life ![]() |
|
Создано: 18 июня 2011 18:52 · Поправил: SReg · Личное сообщение · #8 Kindly пишет: И словить экспорт функу #18 там не 1 функа чекают регу Vovan666 пишет: Ищи в exe CMP EAX,13C727 (раз 10 встречается), это какая-то проверка dll на распакованность.updан-нет ошибся, что-то там еще. эта константа и есть проверка на зареганность! мой первый патч на эту прогу так и был сделан как она появилсь на рубике лежит. ![]() |
|
Создано: 18 июня 2011 19:21 · Поправил: Kindly · Личное сообщение · #9 SReg пишет: там не 1 функа чекают регу Может и не одна, но почему два/один байта в памяти все решает? По идее VerifyKey должна возвращать в al 1, а не 0 как в распакованной. Все-таки там что-то зависит от сред в пакованой библе ![]() Про exe более, менее понятно, заинлайнить на крайняк (хоть и не умею толком ![]() Такс, меняем в dll тут, точнее патчим если не туда: 10002786 MOV EAX,13C727 и проверочную константу обманываем... Мм. Еще не все... ----- Array[Login..Logout] of Life ![]() |
|
Создано: 18 июня 2011 20:21 · Личное сообщение · #10 |
|
Создано: 19 июня 2011 03:06 · Поправил: ClockMan · Личное сообщение · #11 Kindly А ArmAccess.DLL незабыл положить ![]() Красиво расспакованный ![]() ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 19 июня 2011 03:33 · Поправил: Kindly · Личное сообщение · #12 ClockMan - спасибо. Я уже без нее )) Вобщем, кому интересно, подменил MOV EAX,13C727 - спасибо Vovan666. Потом в анпакнутой dll занопил все вызовы процедуры #9 (это пока некрасиво, придумаю покрасивее ![]() Added: процедура #9 должна возвращать eax = 00000BB5 вместо нопов ![]() А, и еще, встречаемые инструкции в #27: MOV EAX,DWORD PTR DS:[1004E074] либо нопте, либо по адресам записывайте заветные 27 C7 13 ))) p.s. запарился )) ----- Array[Login..Logout] of Life ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Arma EnvironmentVariables |
Эта тема закрыта. Ответы больше не принимаются. |