| Посл.ответ |
Сообщение |
|
Создано: 18 января 2009 13:32:50 Личное сообщение #1 |
|
|
Создано: 28 февраля 2009 21:09:56 Личное сообщение #2
Блин, Alt+F4 всегда было смертью програм ) а вот Ctrl+F4 это можно юзать ) Закон юзабилити - делай то что ожидает юзер , тогда он не будет ворчать )
----- My love is very cool girl.
|
|
Создано: 28 февраля 2009 23:01:44 Личное сообщение #3
Не врубился. Alt+F4 закрывает модальное окно формы (если его нельзя закрыть другими способами).
|
|
Создано: 6 марта 2009 22:21:46 Личное сообщение #4
Новый билд
http://rapidshare.com/files/206138332/Idr.rar.html
Исправлен баг загрузки таблиц интерфейсов.
В ресурсах теперь отображаются и модальные формы.
"Неизвестные" контролы отображаются прямоугольничками, как в Дизайнере Билдера и Дельфи.
При наведении на контрол курсора появляется хинт с именем контрола.
|
|
Создано: 7 марта 2009 00:15:55 Личное сообщение #5 |
|
Создано: 7 марта 2009 02:14:46 Личное сообщение #6
Хз чего не хватает, но из 10 прог написанных на D7, загрузил только одну.
В остальных случаях смотрю на злобный мэсседж, что типа нехрена это не дельфЕ.
----- Чтобы юзер в нэте не делал,его всё равно жалко..
|
|
Создано: 7 марта 2009 03:44:53 · Поправил: SVLab Личное сообщение #7
К нему кроме баз еще что-нибудь надо? Не запускается: Cannot initialize Disasm
XP SP2
|
|
Создано: 7 марта 2009 12:25:31 Личное сообщение #8
Bronco
+1
Особенно не нравится, что Delphi 2 не поддерживается. Эту версию делфей по ходу вообще ни один декомпиль не поддерживает.
|
|
Создано: 7 марта 2009 14:59:15 Личное сообщение #9
Bronco
+1. неужто так трудно детект дельфей написать.
crypto
Вот код из моего DE Decompiler v2.0 который определяет Delphi это или нет:
- Public Function IsDelphiX(strFileName) As Byte
- On Error GoTo 1
- Dim strFile As Integer, strLng As Long, signDB(1 To 8), strSign As String * 100
-
- 'delphi
- signDB(1) = "C3E9::::::FF8D40"
- signDB(2) = "E8::::::::6A::E8::::::::8905::::::::E8::::::::8905::::::::C705::::::: :0A::::::B8::::::::C3"
- signDB(3) = "506A::E8::::FFFFBA::::::::528905::::::::894204"
- signDB(4) = "BA::::::::837D0C0175::5052C605::::::::::8B4D08890D::::::::894A04"
- signDB(5) = "538BD833C0A30::::::06A00E80::::0FFA30::::::0A10::::::0A30::::::033C0A 30::::::033C0A30::::::0E8"
- signDB(6) = "538BD833C0A3::::::::6A00E8::::::FFA3::::::::A1::::::::A3::::::::33C0A 3::::::::33C0A3::::::::E8"
- signDB(7) = "558BEC83C4"
- 'cpp builder
- signDB(8) = "EB1066623A432B2B484F4F4B90"
-
- If strFileName = "" Then Exit Function
- If (Not ExistFile(strFileName)) Then
- ShowMessage "File '" & strFileName & "' not found", True
- Exit Function
- End If
-
- 'открываем файл
- strFile = FreeFile
- Open strFileName For Binary As #strFile
- 'считаем из EXE файла PE заголовки
- Get #strFile, , DosHeader
- Get #strFile, DosHeader.peoffset + 1, PEHeader
- 'создаем массив секций
- ReDim sSections(PEHeader.Header.number_sections - 1)
- Get #strFile, DosHeader.peoffset + 25 + PEHeader.Header.header2_size, sSections
- sSection = PEHeader.Header.number_sections
- For i = 0 To sSection - 1
- sFileOffset = PEHeader.optional_header.entry_point - sSections(i).section_va + sSections(i).section_start
- If sFileOffset < 0 Then sFileOffset = PEHeader.optional_header.entry_point
- If sSections(i).section_start <= sFileOffset And sSections(i).section_start + sSections(i).section_size > sFileOffset Then Exit For
- Next
- Get #strFile, sSections(0).section_start + 6, strLng
- If strLng = &H6F6F4207 Then strDelphi = 1: IsDelphiX = 1: Close #strFile: Exit Function
- Get #strFile, sFileOffset + 1, strSign
- Close #strFile
-
- IsDelphiX = 0
-
- strDelphi = 0: strVbNet = 0
-
- For i = 1 To 8
- If CheckSign(strSign, signDB(i)) Then strDelphi = 1: IsDelphiX = 1: Exit For
- Next
-
- Exit Function
- 1
- End Function
Работает на все 100%. Повторюсь это именно детект Delphi или нет. Детект версии Delphi у меня осуществляется по совершенно другому алгоритму.
Вот определитель версии (отлаживался долго, не без помощи сторонних тестеров):
В sText первая секция программы.
- 'определитель версии
- sTemp = 0
- For j = 0 To 10
- sTemp = InStr(sTemp + 1, sText, Chr(8) & "TControl")
- If sTemp = 0 Then Exit For
- Get #strFile, sTemp + 9, xLng
- If VaToOffset(strFile, xLng) > 0 Then
- xLng1 = xLng
- Get #strFile, VaToOffset(strFile, xLng) - 39, xLng
- Get #strFile, VaToOffset(strFile, xLng1) - 83, xLng1
- Select Case xLng
- Case 0:
- If xLng1 = &H746E4907 Then sDelphiVersion = "Delphi 3" Else Close #sFile: ShowMessage "Files, compiled in Delphi 2 is not supported", True: Exit Sub
- Case &HB4: sDelphiVersion = "C++ Builder"
- Case &H114: sDelphiVersion = "Delphi 4"
- Case &H120: sDelphiVersion = "Delphi 5"
- Case &H138: sDelphiVersion = "Kylix"
- Case &H128: sDelphiVersion = "Delphi 6"
- Case &H15C:
- If xLng1 = &H40100000 Or xLng1 = &H100000 Then sDelphiVersion = "Delphi 7" Else sDelphiVersion = "Delphi 6"
- Case &H160:
- If xLng1 = &H40100000 Or xLng1 = &H100000 Then sDelphiVersion = "Delphi 7" Else sDelphiVersion = "Delphi 6"
- Case &H164: sDelphiVersion = "Delphi 7" '2005
- Case &H190: sDelphiVersion = "Delphi 2007"
- Case Else: sDelphiVersion = "Delphi 7"
- End Select
- Exit For
- End If
- Next
----- Decompilation and protection solutions |
|
Создано: 7 марта 2009 15:27:56 Личное сообщение #10
GPcH
DE Decompiler тоже вроде не поддерживает Delphi 2? Или нет? Я так понимаю сложно найти сам дистриб.
|
|
Создано: 7 марта 2009 17:25:02 Личное сообщение #11
GPcH
Спасибо большое. У меня проверка в один этап - проверяется вхождение инициализатора System или процедуры @HandleAnyException. Посмотрю, как воспользоваться твоим кодом проверки версии.
SVLab
Поищи выше, уже вопрос поднимали, я приводил перечень необходимых файлов.
Bronco
Пришли пож-ста хотя бы парочку файлов для проверки...
progopis
А что, неужели есть такая потребность? Я в свое время дистрибутива не нашел, у меня есть только версия 1, 3-7.
|
|
Создано: 7 марта 2009 18:42:50 Личное сообщение #12
crypto
я уже кидал ссыль..
Там кстати много интересного и полезного, несмотря на что автор для удобства упыксом сабжи кроет.
В частности у Митек неплохо оформлен редактор форм дельфовых, жаль что испектор обьектов только для наглядности.
----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 7 марта 2009 18:52:34 · Поправил: 4kusNick Личное сообщение #13
crypto
Если не трудно, сделай в след. релизе поддержку аргументов, чтобы можно было передавать файл проге через коммандную строку типа idr.exe "c:\someproggy.exe"
И коль сменил название проги, хорошо бы его поменять и в ресурсе версии ("описание файла").
----- ... we have to give freedom its REVENGE! ...
|
|
Создано: 7 марта 2009 19:00:50 Личное сообщение #14
crypto пишет:
в свое время дистрибутива не нашел
А нужен весь дистрибутив???
//у мну есть D2
----- Чтобы юзер в нэте не делал,его всё равно жалко..
|
|
Создано: 7 марта 2009 19:03:30 Личное сообщение #15
crypto пишет:
А что, неужели есть такая потребность?
Крекеру, который ломает в день по 5-10 программ одновременно, есть. Первую версию я не встречал. Начиная с 3-ей проги попадались. Напоролся и на 2-ку (могу скинуть файл). Декомпиляторы не справились, заюзал сигну для Delphi 3 в IDA - часть функций разпозналось - это очень облегчило работу с реверсом.
|
|
Создано: 7 марта 2009 19:07:08 Личное сообщение #16
Bronco
Залей плз дистриб версии 2.
|
|
Создано: 7 марта 2009 19:45:50 Личное сообщение #17
Bronco
Те файлы я смотрел, они упакованы. Ты не мог бы прислать уже распакованные, у меня со временем очень критично...
progopis
Не пришлешь файлы для версий 2 и 3?
|
|
Создано: 7 марта 2009 19:52:22 · Поправил: borov Личное сообщение #18
crypto пишет:
progopis
Не пришлешь файлы для версий 2 и 3?
а что их искать, например тотал, он откомпиленый 2-ой версией, PE Explorer - 3-ей.
----- Лучше быть одиноким, но свободным ©
|
|
Создано: 7 марта 2009 20:57:34 Личное сообщение #19
borov
Ну и где их можно найти?
|
|
Создано: 7 марта 2009 21:13:47 Личное сообщение #20
borov пишет:
например тотал
у тебя что нет Total Commander'a?
PE Explorer
----- Лучше быть одиноким, но свободным © |
|
Создано: 7 марта 2009 21:56:31 Личное сообщение #21
progopis, я попробую
//хз скока только по времени будет, через Дуос заливать 40 метров...))))
========
crypto, может проще upx.exe приатачить???
----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 7 марта 2009 22:08:06 Личное сообщение #22
Bronco
Приаттчь
borov
Я код вбиваю через vi, а компилирую из командной строки
|
|
Создано: 7 марта 2009 22:12:46 Личное сообщение #23
смешной ты человек crypto, даже UPX нет
а как пользоватся upx хоть знаешь?
----- Лучше быть одиноким, но свободным © |
|
Создано: 7 марта 2009 22:36:11 Личное сообщение #24
crypto
На этапе определения версии примерно посередине прогресса Access violation at address 00406d89 in module "idr.exe". Read of address 00000008. Версию определить успевает, но на этом все. Эксешник в дельфи 5, распакован после aspack 2.12. Что руками, что автоматами - результат один. Размер немаленький - 5,66м.
Если интересно: http://rapidshare.de/files/45914789/pack_u.7z.html (1,8м в 7Z-архиве)
|
|
Создано: 7 марта 2009 22:39:48 Личное сообщение #25
>>у тебя что нет Total Commander'a?
ну у меня на работе о тоталле многие на догадываются, какой Far юзают )
>>даже UPX нет
Некоторые FSG2.0 или ASPack юзают, может глупцы , что не имеют UPX ?
ЗЫ:
Как-то не по теме, кто че имеет, а кто чего не имеет. Ну не имеет файл, значит надо предоставить!
----- My love is very cool girl.
|
|
Создано: 7 марта 2009 22:46:59 Личное сообщение #26
Пример с Delphi 2 (пакнут аспаком разработчиком проги). Надеюсь сможешь снять ASPack, если нет - пиши в личку - залью уже распакованный мной файл. 75bc_07.03.2009_CRACKLAB.rU.tgz - QMWin.rar
|
|
Создано: 7 марта 2009 23:37:23 Личное сообщение #27
Отправил по почте прогу на Delphi2. Ничем не пакована.
----- ... we have to give freedom its REVENGE! ...
|
|
Создано: 7 марта 2009 23:43:32 Личное сообщение #28
theCollision пишет:
Некоторые FSG2.0 или ASPack юзают, может глупцы , что не имеют UPX ?
Любой уважающий себя реверсер должен иметь у себя все распространенные проты и пакеры на мой взгляд. Несмотря на это - для снятия большинства пакеров достаточно всего одной проги - Quick Unpack.
Тоже и насчет тотала и фара, имхо реверсеру без них никак. Под фар написано множество плагинов для доступа к FS сотовых телефонов. Тотал же идеальный FTP клиент.
----- Decompilation and protection solutions |
|
Создано: 7 марта 2009 23:48:20 Личное сообщение #29
progopis пишет:
DE Decompiler тоже вроде не поддерживает Delphi 2?
Я привык верить людям. Посмотрел в свое время DeDe - и увидел что он Delphi 2 не поддерживает.
Решил что не с проста. Потому даже ставить D2 не стал.
----- Decompilation and protection solutions |
|
Создано: 8 марта 2009 00:25:14 Личное сообщение #30
GPcH пишет:
Любой уважающий себя реверсер ...
Мне кажется, что реверсер должен знать ось - от и до, на которой сидит несколько лет.
Я думаю ты уже разобрал и разложил по полочкам 3 файлика: ntdll.dll, ntoskrnl.exe, ntkrnlpa.exe
Ну и до 4-го наверно руки дошли win32k.sys.
Я может принял бы эти высказывания, если бы не видел что васм ты читаешь.
И как бы не знать, что он больше специалист по алгоритмам, дискретке и кодированию...
|
|
Создано: 8 марта 2009 02:53:50 Личное сообщение #31
Ratinsh пишет:
Я думаю ты уже разобрал и разложил по полочкам 3 файлика
Они в сорцах в инете валяются - смысл их ковырять? Гораздо сложнее расковырять MSVBVM60.DLL
Пятый год ковыряю и продолжаю некоторым вещам удивляться.
Ratinsh пишет:
И как бы не знать, что он больше специалист по алгоритмам, дискретке и кодированию...
Да я в курсе. Но как бы есть такие вещи которые должны быть у всех. Тот же WinAMP к примеру
Ratinsh пишет:
Ну и до 4-го наверно руки дошли win32k.sys
Это больше троянописателям надо. Реверсерам оно ни к чему.
crypto
Если будут нужны какие файлы из дистрибутивов разных версий дельфей - пиши. Я в свое время когда свой декомпиль писал огромную коллекцию собрал.
----- Decompilation and protection solutions |