Сейчас на форуме: Rio, vsv1, site-pro (+7 невидимых)

 eXeL@B —› Софт, инструменты —› Нужен пример Perl-скрипта для патчинга EXE
Посл.ответ Сообщение

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

Создано: 29 июня 2012 11:59
· Личное сообщение · #1

Просто нахождение по маске и подстановка в планируемом патче не подойдёт.
Тут требуется сначало отыскать указатель на нужную функцию, которую уже вызывать из места, которое будет патчится.
Хочется сразу сделать 1 патч под несколько версий модуля.
И важно, что бы весь код был виден (люди боятся бэкдоров).

Вот и подумал на ActivePerl сделать патч. Вот ищу пример.




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 29 июня 2012 12:13
· Личное сообщение · #2

OSA пишет:
И важно, что бы весь код был виден (люди боятся бэкдоров).

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

-----
aLL rIGHTS rEVERSED!





Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 29 июня 2012 12:19 · Поправил: ZaZa
· Личное сообщение · #3

OSA
Может взять исходник эксплоита, там примерно такой алгоритм, только вот работа преимущественно с памятью... Переписать под работу с файлом...
Кстати, по-моему эксплоит под WMF-баг использует работу с файлом...

-----
One death is a tragedy, one million is a statistic.




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

Создано: 29 июня 2012 12:21 · Поправил: OSA
· Личное сообщение · #4

OnLyOnE
Как ты представляешь работу в батнике с бинарными данными? (без сторонних утилит)
Тут нужен именно скриптовый язык.

ZaZa
Так я и прошу дать ссыль на какой нибудь патчер, написанный на Perl'е.




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 29 июня 2012 12:28
· Личное сообщение · #5

OSA
Я про патчеры на PERL вообще не слышал (не нужны они мне), так что и дать ссылку не могу...
Гуголь в помощь чтоли...

-----
One death is a tragedy, one million is a statistic.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 29 июня 2012 12:32 · Поправил: reversecode
· Личное сообщение · #6

OSA пишет:
Вот и подумал на ActivePerl сделать патч. Вот ищу пример.

а потом что бы пропатчить прогу патчем, нужно еще стянуть и установить ~20 мбайт ActivePerl-а?

еще в древние времена ДОСа, была утилита которой подсовывали file.crk, с бинарными значениями где какими байтами надо заменить и она патчила)))
вес той утилиты был очень смешен, что то несколько килобайт что ли если не меньше
и тоже все прозрачно и понятно



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

Создано: 29 июня 2012 12:36 · Поправил: OSA
· Личное сообщение · #7

reversecode
Ну а что делать. Просто сейчаз народ вообще боится запускать EXE'шники. А компилировать им лень.
Есть другие пути? Желательно кросс-платформенные.

Вот эта утилитка? (см. вложение)

60ed_29.06.2012_EXELAB.rU.tgz - SP.EXE




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 29 июня 2012 12:38
· Личное сообщение · #8

OSA пишет:
Тут нужен именно скриптовый язык.

Так батник это и есть скрипт для CMD.
А фрэймворк перла - это не сторонняя утилита?
Таскать с патчем еще и сам перл как среду работы патча... хм..
Странно по меньшей мере..
P.S. По поводу бэкдоров... если люди бояться пусть не пользуются... дело-то добровольное
Проблема, я так думаю, в доверии пользователей все-таки.. а не то на чем написан патч..

-----
aLL rIGHTS rEVERSED!





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 29 июня 2012 12:38 · Поправил: reversecode
· Личное сообщение · #9

перл на андроиде очень кросплатформенно)))
а вы не пакуйте файлы впротектом и народ перестанет боятся

OSA пишет:
Вот эта утилитка? (

а я что помню? это там давно было)) еще во времена ДОСааа




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 29 июня 2012 12:45 · Поправил: ZaZa
· Личное сообщение · #10

reversecode пишет:
еще в древние времена ДОСа, была утилита которой подсовывали file.crk, с бинарными значениями где какими байтами надо заменить и она патчила)))

а я что помню? это там давно было)) еще во времена ДОСааа

Может тада стоит новую написать? Еще меньше?

-----
One death is a tragedy, one million is a statistic.




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

Создано: 29 июня 2012 13:33
· Личное сообщение · #11

Ну а на VBS есть что то похожее?




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 29 июня 2012 13:47 · Поправил: ZaZa
· Личное сообщение · #12

OSA
Под VBS тоже не слышал...
Ты так и будешь перебирать все платформы или займешься наконец поиском в интернете? Если ничего не найдешь, тогда может стоит задуматься о написании своего скрипта/программы?

Даже начну немного под VBS:
Code:
  1. 36       private function readBytes(file)
  2. 37         dim inStream
  3. 38         ' ADODB stream object used
  4. 39         set inStream = WScript.CreateObject("ADODB.Stream")
  5. 40         ' open with no arguments makes the stream an empty container
  6. 41         inStream.Open
  7. 42         inStream.type= TypeBinary
  8. 43         inStream.LoadFromFile(file)
  9. 44         readBytes = inStream.Read()
  10. 45       end function
  11.  
  12. 69       private Sub writeBytes(file, bytes)
  13. 70         Dim binaryStream
  14. 71         Set binaryStream = CreateObject("ADODB.Stream")
  15. 72         binaryStream.Type = TypeBinary
  16. 73         'Open the stream and write binary data
  17. 74         binaryStream.Open
  18. 75         binaryStream.Write bytes
  19. 76         'Save binary data to disk
  20. 77         binaryStream.SaveToFile file, ForWriting
  21. 78       End Sub

Хотя лучше использовать не ADODB.Stream, а Scripting.FileSystemObject. Но это лишь только мое (сугубо личное) мнение...

-----
One death is a tragedy, one million is a statistic.




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

Создано: 29 июня 2012 13:58
· Личное сообщение · #13

OSA
ЛовиOSA пишет:
Вот эта утилитка? (см. вложение)


Вот такая например...

fadf_29.06.2012_EXELAB.rU.tgz - Crk.Exe.7z


 eXeL@B —› Софт, инструменты —› Нужен пример Perl-скрипта для патчинга EXE
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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