Сейчас на форуме: exp50848, rmn, _MBK_ (+7 невидимых)

 eXeL@B —› Основной форум —› Проблема с инлайном RoboTask'а
Посл.ответ Сообщение


Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 19 сентября 2010 08:47 · Поправил: Runtime_err0r
· Личное сообщение · #1

Возникла проблема при инлайне RoboTask'а: сделал инлайн патч по статье Maximus'а ( http://www.exelab.ru/rar/dl/CRACKLAB.rU_102.rar ), но возникла дополнительная проблема - после очистки блэклиста RoboTask выдаёт сообщение о том, что срок действия ключа истёк и надо обновиться. Это легко решается заменой одной цифры:

но изменять её надо после прыжка на OEP поэтому способ, описанный в статье уже не катит. Я сделал инлайн через библиотеку rtl100.bpl - RoboTask заработал, но остальные приложения (RTMacroRecorder.exe или CheckForUpdates.exe) стали падать с ошибкой В конце концов я сделал так - скопировал rtl100.bpl под именем rtl101.bpl, заинлайнил и заменил в файле RoboTask.exe все ссылки на rtl101.bpl. Это работает, но хотелось бы сделать поизящнее
Собственно вопрос в следующем - как бы сделать так, чтобы RTMacroRecorder.exe и CheckForUpdates.exe работали с заинлайненым rtl100.bpl или как сделать инлайн в самом ExE'шнике, а не через библиотеку ?
Выложил все файлы сюда : http://ifolder.ru/19372894 (пароль: CRACKL@B), внутри RoboTask.exe - уже пропатченный на предмет разбана ключа, rtl100.bpl.bak - оригинальный файл, rtl100.bpl - заинлайненный файл, Serial.txt - серийный номер




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 19 сентября 2010 09:20
· Личное сообщение · #2

Runtime_err0r дык в статье приложен патч к старой версии РобоТаск, посмотри как там сделано и сделай так же.

-----
StarForce и Themida ацтой!





Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 19 сентября 2010 09:26 · Поправил: Runtime_err0r
· Личное сообщение · #3

Maximus
Да я вот не хочу так же Я хочу просто изменить одну цифру и всё




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

Создано: 19 сентября 2010 09:35
· Личное сообщение · #4

Runtime_err0r
как то так
/*200DAA0E*/ PUSH EAX сохроняе еах
/*200DAA0F*/ MOV EAX,[40003C] получаем указ на ре
/*200DAA14*/ ADD EAX,400000 приб к указ имджик базу
/*200DAA19*/ ADD EAX,50 прибавляем к еах 50
/*200DAA1C*/ CMP DWORD PTR [EAX],1E0000 проверяем маджик сайз нашего файл
/*200DAA22*/ JNZ SHORT 200DAA3A неон прыгаем дальше
/*200DAA24*/ CMP DWORD PTR [49BF9B],38303032
/*200DAA2E*/ JNZ SHORT 200DAA3A
/*200DAA30*/ MOV DWORD PTR [49BF9B],38343032
/*200DAA3A*/ POP EAX востонавливаем еах
/*200DAA3B*/ JMP 2000AC88

и всё

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





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 19 сентября 2010 09:39 · Поправил: Maximus
· Личное сообщение · #5

Runtime_err0r кхы)) А кто тебе мешает НЕ делать лишний патч)) Там все делается по аналогии.
Я подменил значение ячейки указывающей на рег.имя. А тебе надо взять ее значение, прибавить к ней смещение и вписать нужное значение.

У меня концовка
Code:
  1. 0057067B   BA 86065700      MOV EDX,RoboTask.00570686  ; ASCII "u=Maximus // Revenge CREW q=999 d=20990902 k=business "
  2. 00570680   E8 7B0AE9FF      CALL RoboTask.00401100     ; JMP to rtl100.@System@@_CToPasStr$qqrp28System@%SmallString$iuc$255%pxc
  3. 00570685   C3               RETN


У тебя концовка
Code:
  1. MOV BYTE [EDX+Смещение], Патч
  2. CALL rtl100.@System@@_CToPasStr$qqrp28System@%SmallString$iuc$255%pxc
  3. RETN

Остальное как в патче к старой версии

Кстати обрати внимание что для Роботаск процедуру CRC я патчу не как в в статье, а немного подругому (в конце вместо RET идет JMP, остальное не трогается)
Code:
  1. 005B8414   55               PUSH EBP
  2. 005B8415   8BEC             MOV EBP,ESP
  3. 005B8417   52               PUSH EDX
  4. 005B8418   56               PUSH ESI
  5. 005B8419   51               PUSH ECX
  6. 005B841A   FC               CLD
  7. 005B841B   BA 8E243B9C      MOV EDX,9C3B248E
  8. 005B8420   8B75 08          MOV ESI,DWORD PTR SS:[EBP+8]
  9. 005B8423   8B4D 0C          MOV ECX,DWORD PTR SS:[EBP+C]
  10. 005B8426   AC               LODS BYTE PTR DS:[ESI]
  11. 005B8427   30C2             XOR DL,AL
  12. 005B8429   B0 08            MOV AL,8
  13. 005B842B   D1EA             SHR EDX,1
  14. 005B842D   73 06            JNB SHORT RoboTask.005B8435
  15. 005B842F   81F2 9AF3A7C1    XOR EDX,C1A7F39A
  16. 005B8435   FEC8             DEC AL
  17. 005B8437  ^75 F2            JNZ SHORT RoboTask.005B842B
  18. 005B8439   49               DEC ECX
  19. 005B843A   09C9             OR ECX,ECX
  20. 005B843C  ^75 E8            JNZ SHORT RoboTask.005B8426
  21. 005B843E   92               XCHG EAX,EDX
  22. 005B843F   59               POP ECX
  23. 005B8440   5E               POP ESI
  24. 005B8441  ^E9 1B82FBFF      JMP RoboTask.00570661


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

-----
StarForce и Themida ацтой!





Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 19 сентября 2010 10:50
· Личное сообщение · #6

ClockMan
Спасибо, теперь всё работает, как часы, извиняюсь за каламбур

Maximus
Спасибо, но твой способ мне кажется более сложным, тем более, что проверки CRC там вообще нет
В любом случае, спасибо за статью и за ответ, буду разбираться потихоньку




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 19 сентября 2010 12:06 · Поправил: Maximus
· Личное сообщение · #7

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

>или как сделать инлайн в самом ExE'шнике....
Зато достаточно пропатчить только EXE без модулей.

-----
StarForce и Themida ацтой!





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 19 сентября 2010 12:44
· Личное сообщение · #8

Вот тоже самое, пропатченное как я написал выше, и где патчить rtl100 не надо.
rghost.ru/2668503

-----
StarForce и Themida ацтой!





Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 19 сентября 2010 16:28
· Личное сообщение · #9

Maximus
Спасибо за патч, буду разбираться, но мой способ проще (IMHO разумеется )




Ранг: 60.7 (постоянный), 12thx
Активность: 0.040
Статус: Участник
KpTeaM

Создано: 16 февраля 2011 09:38
· Личное сообщение · #10

Возникла очередная одна проблема с инлайном аспра - есть такая программа для записи дисков Complex Evolution (h**p://www.complexnt.com/downloads.htm), упакована аспром, есть забаненный ключик - forum.ru-board.com/postings.cgi?action=edit&forum=35&topic=27640&postno=47
Попробовал заинлайнить по статье Maximus'а, но в том месте, где в статье "Отлично, этот кусок не запакован при старте программы и доступен для патча." в комплексе этот кусок запакован

Есть ли какие-нибудь альтернативные способы инлайна ?




Ранг: 95.2 (постоянный), 26thx
Активность: 0.060
Статус: Участник

Создано: 17 февраля 2011 04:54
· Личное сообщение · #11

Посмотреть где этот кусок анпакается и инлайнить сначало там?


 eXeL@B —› Основной форум —› Проблема с инлайном RoboTask'а
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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