1 (изменено: _gruz, 2015-05-14 09:36:28)

Тема: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Вообщем, такая паршивая ситуация получилась -- тестируя очередную ф-цию своего скрипта, я тупо стер весь исходник скрипта...  Как-то послал в тек. контрол текст, и он каким-то образом заместил полностью все что в файле (+ во время обработки ответа на нажатие горачей комб. кнопок сработал внутренний плагин AkelPad.a).

Копии не было, сейчас сижу, афигевший - в трее висит скрипт, ф-ции те, что нужно, но его файл исходника конечно же пустой.
Скрипт запускался выполнением .ahk файла (не скомпилирован) и меню Reload this script. Скрипт был не маленький, куча полезных ф-ций была прописана в нем.
В Дисп. задач показывает размер памяти -- AutoHotKey.exe 2668 Кб.
Дамп (станд. методом) -- 49 Мб.

------------------------------------------
Что есть:
1. Снял дамп памяти, 50 мб. (хотя вроде должен быть 79 Мб)
2. Скомпилированная старая версия этого же скрипта (хотя бы из него вытащить текст скрипта).
2.1. При ковырянии в EXE и дампах удалось вытащить примерно 30% скрипта. уже хорошо

------------------------------------------
Что можно сделать
3.1. Чем снять именно образ, а не дамп?
3.2. Как из EXE вытянуть скрипт?
3.3. Как мне комп выключить, не потеряв скрипт в памяти который - в спящий режим погрузиться?
3.4. Можно ли как-то приконнектиться к этому процессу, послать там контрол какой-то, и восстановить скрипт, хотя бы просто что бы EXE сохранить с образа памяти?

2

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

В памяти процесса можно поискать программой ArtMoney. А комп можно в сон или гибернацию — последнее надёжнее, т.к. память сохраняется на диск и не боится отключения света. Вот, кстати, и в этом файле, куда при гибернации память сохраняется, можно, наверно, поискать потом.

3

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

_gruz, ознакомьтесь с этой темой, отредактируйте свой пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

У нас желательно заглавные буквы использовать в начале предложений.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: _gruz, 2015-05-14 09:43:38)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Ах вот оно что! Спасибо что подсказали, не сочтите за неграмотного невежду (надеюсь, за знаки препинания не банят? Вроде все корректно, поправьте, если что.

Выковырял с EXEшника старую версию скрипта, (в скомпилированном файле исходник сохраняется!) и половину нового удалось где-то тоже достать, так что все не так уж и плохо! Не считая того, что пол ночи писал эту библиотеку скриптов, а вторую восстанавливал..

6 (изменено: Alectric, 2015-05-14 09:48:42)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Программой "Process Explorer", нажать свойства на нужный процесс, там в какой-то (непомню в какой) вкладке должен быть текст.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

7

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Из оперативной памяти/дампа извлечь исходный текст не получится, так как в таком виде он AHK просто не нужен.
Можно извлечь из EXE, в том числе упакованного. На зарубежном форуме была тема, но сейчас ссылка (в исходнике) выдает ошибку, поэтому выложу просто архив. AHK_decompiler

8

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Если exe компилировался без MPRESS, то исходный код хранится же в открытом виде, любым Resource Hacker'ом можно его вытащить.

9 (изменено: _gruz, 2015-05-15 06:37:11)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Что нашел пока.
Значит текст скрипта в скомпилированном EXE файле находится по смещению 000C9F60 + 8, и начинается так (у меня по крайней мере):

; <COMPILER: v1.1.22.00>\x0A

Строка эта зависит от версии компилятора. Навскидку -- это "валидно" для RC3, для RC2 вроде букву "v" забыли.

Заканчивается непонятно чем, но вроде так срабатывает:

\x00 \x00 \x01 \x00 \x03 \x00

Вот, как пока получилось: по Ctrl+Win+0 сканируем файл file.exe, если скрипт найден, копируем его код в буфер. Так же процесс логируется, запись добавляется в файл "исходное_имя_файа_и_расширение.log"

^#0::
FormatTime, TimeString, T12, Time
log := "`n `n `n `n [ " . TimeString . " ]    --------------------- >>>  BEGIN"
fn := "file.exe"
log .= "`nFile Name: " . fn

                        ;markBeginScript := "; <COMPILER: v1.1.22.00>"
markBeginScript := ";\s\<COMPILER\:\sv?\d\..*?\>"
markEndScript := "\x00\x00\x01\x00\x03\x00"
rgEx := markBeginScript . "(.*?)" . markEndScript
log .= "`nMarker 1 (Regular string): [" . markBeginScript . "]"
log .= "`nMarker 2 (Regular string): [" . markEndScript . "]"

FileRead, data, %fn%
log .= "`nSize of read data: " . StrLen(data)
if not ErrorLevel {
    pos1 := RegExMatch(data, rgEx, codeScript_)
    log .= "`n1: result RegExMatch(): offset:" . pos1
    if ErrorLevel < 0
    {
        MsgBox % "ERROR: " . %ErrorLevel% . "`nString not find."
        return
    }
    data =                    ; Free the memory.
    Clipboard := codeScript_1
    log .= "`n=== SCRIPT ===`n" . codeScript_1
}
else {
    MsgBox, FILE READ ERROR.`nErrorLevel: %ErrorLevel%
    return
}
logfn := fn . ".log"
FileAppend,%log%, %logfn%
TrayTip,, Code of script copy in to Clipboard and log saved in file: [%logfn%] `nPause 3 sec
Sleep, 3000
return

Нет уже времени уже довести до толка.

10

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Отличная тема. Особенно на фоне безуспешных поисков обфускаторов.

11

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

А при чём тут обфускаторы?

12

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

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

13

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

14

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

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

15

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Похоже на то.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

16

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Да не, для таких вот левых установщиков:

+ открыть спойлер

http://cs4.pikabu.ru/post_img/2015/04/16/7/1429185352_1000761353.png

когда каждая строка кода этой программы хочет что нибудь добавить

17

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

yalanne
А unchecky пробовали?

18 (изменено: _gruz, 2015-05-16 01:29:04)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma пишет:

Отличная тема. Особенно на фоне безуспешных поисков обфускаторов.

Раз отличная тема, то могли бы и плюсануть!
А то обусфакторы им нужны очень, что бы получать неплохо бабла, а как другим так лень!

Как вариант написание авторских защит, т.к. на все современные проги уже придуманы шаблонные методы взлома.
Наверное что то типа: подгрузка некоторой части кода удаленно после регистрации, морфинг - когда файл каждый запуск перекомпилируется по новому и каждый запуск файл фактически РАЗНЫЙ по внутренним байтам и командам, и часть ф-ций не компилировать а оставить в виде скриптов (зашифрованных по ключу, без проверки правильности ключа), ну и фрактальные или рекурсивные маскировки точек сборки, тьфу ты, entry point.ов (точек входа). И конечно же, использовать необратимое шифрование.

А вообще думаю приживется частичный или добровольный взнос -- когда каждый, кто хочет отблагодарить вас за программу, скидует любую сумму.

19

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:

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

   А если покажу что именно, докажу, что это моё и оно окажется не тем, что Вы предположили и даже близко к подобному не сидящем? Готовы  хоть долларов 200 на это поставить?

PS. Не думал, что на таком серьёзном форуме, модераторы могут так себя вести.

20

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma, одно радует: если для вас $200 столь небольшая сумма, что про неё можно говорить «хоть», значит, будет кому поддержать форум, когда придёт время платить за хостинг.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

21

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

200 не дам, а 10 может быть.
   Просто не люблю когда бросаются такими обвинениями. В теме по блокировке компьютера тоже намекали, что я аферист какой-то. Никто никому верить просто так не обязан, но если человек бросается такими обвинениями, то стоит за них отвечать.

22

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Это не обвинение, это чувство юмора.

23 (изменено: _gruz, 2015-05-17 17:41:18)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Прям заинтриговал что же там за прога Foma, я без подкола -- хоть намекни? Офисное приложение, работа с инетом, сбор данных, утилита?
Хотя уже кажется создано все, что только можно, нужно только научиться работать с ним.

24

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma, пришлите мне свой скрипт в личку. Попробую его обфуксировать.

25

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

А кто будет взламывать, тестировать? Тоже есть пара идей.

26

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Кому нужно, тот пусть тестирует на взлом. А так хоть по 200 деревянных собрать за обфуксацию (на поддержку форума) тоже неплохо.

27

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:

Это не обвинение, это чувство юмора.

  Неудачная попытка.

ypppu пишет:

Foma, пришлите мне свой скрипт в личку. Попробую его обфуксировать.

  Спасибо, я пожалуй, воздержусь.

28

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:

А так хоть по 200 деревянных собрать за обфуксацию (на поддержку форума) тоже неплохо.

  А что если попробовать самим написать?

В качестве комментария к "всё уже написано".
Может даже коммерческий вариант обфускатора? Ведь он нужен будет только тем, кто хочет денег. Вполне логично продавать такой обфускатор. И сам его код им же и запутать. Как говорится: "убедись сам". По мере  взламывания можно и обновлять.

Если цена будет вменяемая, я первый в очереди на покупку!

29

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma пишет:

Отличная тема. Особенно на фоне безуспешных поисков обфускаторов.

Foma пишет:

$200 не дам, а 10 может быть

Ну вот, а как доходит до дела... 200 р за процедуру обфускации оказывается чресчур дорого. Значит не такая уж и важная программа.

Вот образец обфускации для взлома. Исходный код - всего несколько строчек.

30

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Исходный код - всего несколько строчек.

А если быть точнее - 105 строк, моя софтинка .

Как сказал мой дед - Я твой дед

31

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Не, что-то много. Софтинка увидела некие строки, не относящиеся к коду.

32

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Через СЕ восстанавливается код понемногу, хотя полностью его "реабилитировать" не удаётся.

Как сказал мой дед - Я твой дед

33 (изменено: sergeiplugatyr, 2015-05-18 14:23:13)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Вот еще мой пример обфускации через dynamic obfuscator https://yadi.sk/d/UuZ2wHPUgNkRZ.

Как сказал мой дед - Я твой дед

34

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:

200 р за процедуру обфускации оказывается чресчур дорого. Значит не такая уж и важная программа.

  Дело не в цене, а в том что я не хочу никому присылать её код. И программа не одна. И они иногда обновляются. Какой мне смысл в единоразовой обфускации?

Мне кажется я предложил отличный выход для всех. А там, смотрите сами.

35

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:

Вот образец обфускации для взлома. Исходный код - всего несколько строчек.

Несколько строк не интересно. Интересно - пара тысяч. И чтобы там не только aaa:=0 были. И интересно было бы не exe курочить, а увидеть реальный код и во что он превратился. Короче, два ahk сравнить.

36

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

sergeiplugatyr пишет:

Вот еще мой пример обфускации через dynamic obfuscator https://yadi.sk/d/UuZ2wHPUgNkRZ.

  Честно говоря, в памяти ничего не нашёл. Неужели, вправду можно так хорошо обработать?

37

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Вот тут можно почитать как распаковывать AHK:
https://exelab.ru/f/index.php?action=vt … opic=23445

38

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Неужели, вправду можно так хорошо обработать?

На то он и обфускатор, превращает исходный код в кучу непонятных кракозябр.

Как сказал мой дед - Я твой дед

39

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Вот тут можно почитать как распаковывать AHK:

Распаковывает только старые AHK, т.е. которые компилировались под паролем, сам им пользуюсь иногда, хорошая программа.

Как сказал мой дед - Я твой дед

40

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Там еще пишут:

Isaev пишет: и чем его деобфусцировать?
Попробовать касперским, если не возьмет, то отписать дохтору.

в KAV встроен декомпилятор AHK, AutoIt и еще какой то хрени типа bat to exe.

41

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma пишет:

Несколько строк не интересно. Интересно - пара тысяч.

Несколько строчек до сих пор никто не извлёк. Куда уж там несколько тысяч.

42 (изменено: Foma, 2015-05-18 19:42:06)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

ypppu пишет:
Foma пишет:

Несколько строк не интересно. Интересно - пара тысяч.

Несколько строчек до сих пор никто не извлёк. Куда уж там несколько тысяч.

  А что там извлекать? Пара горячих клавиш и вызов Notepad? Нашёл я это место в памяти и что? Смысл в чём?
Я вижу только смысл в шифровании каких-то действий, сокрытии имён переменных, функций, подпрограмм и т.п. Как написано выше

обфускатор, превращает исходный код в кучу непонятных кракозябр

А как я могу это увидеть в пяти строках?

43

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Foma пишет:

  А что там извлекать? Пара горячих клавиш и вызов Notepad? Нашёл я это место в памяти и что?

Неа, там совсем другое.

44

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

sergeiplugatyr пишет:

Вот еще мой пример обфускации через dynamic obfuscator https://yadi.sk/d/UuZ2wHPUgNkRZ.

Общий принцип обфускации понятен,  при этом расшифровывать сильно лень. Хорошая штука!

45 (изменено: Foma, 2015-05-19 21:58:14)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Так ни у кого и не появилось желание предложить хороший простой удобный обфускатор? Пусть и за деньги.

46 (изменено: _gruz, 2015-05-20 01:08:57)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Дело в том, что на каждый винт есть своя отвертка.
Как раз смотрю.
что означают "#", "@" и знак "%"? если в начале стоит знак процента, то все остальное выводится как строка, или на исх. позицию вставляется значение переменной, если таковая есть.

Есть одна идея, если получится через пару часов выложу.

47

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

_gruz пишет:

Дело в том, что на каждый винт есть своя отвертка.

  Это понятно. Речь идёт о том, чтобы с малыми затратами так обработать код, чтобы затраты на его "расшифровывание" стали бы слишком велики по сравнению с возможным призом. Всего лишь.

48

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Модераторы, может стоит вынести в отдельную тему? Тогда может кто-то кроме критики ещё и идеи подбросит?

49

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

А для остальных участников дискуссии кто-нибудь может провести деобфускацию самой дискуссии? Хотя бы последних 10 постов?

50 (изменено: YMP, 2015-05-22 12:31:41)

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Я так понимаю, там идёт лютый оффтоп, т.к. шифрование не есть обфускация. Так что забейте.

Хотя да, тема-то вообще про восстановление. Так что и обфускация тоже оффтоп.

51

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Скажите "спасибо", что не про особенности использования знаков препинания после/вместо смайликов.

Хотя, по большому счету, действительно лучше вынести в отдельную тему.

52

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

Ну, создайте тогда тему, назовите, как считаете нужным, а я перенесу посты.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

53

Re: AHK: Восстановление текста скрипта из EXE файла (или дампа памяти)

teadrinker пишет:

Ну, создайте тогда тему, назовите, как считаете нужным, а я перенесу посты.

Разрабатываем собственный обфускатор и пр. для защиты.