Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› EXE- delphi 6.0-7.0 - PeStudbOEP v1.* |
Посл.ответ | Сообщение |
|
Создано: 28 марта 2010 14:02 · Личное сообщение · #1 Здравствуйте! 2 месяца ковыряюсь с файлом. В olly не запускается., вылетает в ntdll, поэтому как снять пакер не понятно (о запакованности говорит Peid 0.94 в режиме external scan). Основное окно запустилось в olly всего 2 раза, но последовательность действий вспомнить не могу (2 часа ночи было). w32dasm говорит есть "goodkey" и "reg_key". А также названия пары окон. Имени окна проверки ключа не нахожу ![]() Файл - электронная книга. Ключа нет. Процедура регистрации: из инф. о железе формируется ключ, его отсылают на мыло, приходит второй ключ, регистрируемся. Инфа записывается где-то всего 1 раз. 1 машина- 1 ключ, 1 процедура регистрации. Нужен не взлом, а понимание. Если можно, наведите на правильный путь новичка понятными словами ![]() ![]() |
|
Создано: 28 марта 2010 14:07 · Личное сообщение · #2 |
|
Создано: 28 марта 2010 14:15 · Поправил: Coderess · Личное сообщение · #3 |
|
Создано: 28 марта 2010 15:18 · Поправил: Student_trainee · Личное сообщение · #4 Да, конечно, Olly тоже говорит. Линк: Если не сложно, подскажите где копать, что читать... Все, найденное по обфускатору не работает. В w32dasm dump прога также вылетает по исключению. В название темы и на чем и чем. DeDe показывает ссылки в форме _PROC_адрес Форма, судя по описанию TfLogin в форме 7 вариантов окон. И 7 ссылок на процедуры. Предполагая, что это связано, верной будет 6, но асм код там не похож на правду (jmp, cmp, test ... должно же быть что-то подобное?) Кстати, есть интересная особенность: при загрузке файла, грузится его копия в 2 раза меньше по размеру. Ее дамп - это прыжки между ntdll и исходником...С адреса 00427090 ![]() |
|
Создано: 28 марта 2010 23:59 · Личное сообщение · #5 цука...здоровое гавно....))) хз пока почему две копии в памяти висят, но размер у них одинаковый. На дельфЕ навешан вмпрот, причём далеко не свежий. стартовый код целый Code:
для одного компа импорт можно не восстанавливать,... пока хватит инфо? ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 29 марта 2010 01:03 · Поправил: MasterSoft · Личное сообщение · #6 Bronco пишет: для одного компа импорт можно не восстанавливать,... вопрос по теме, есть какой-нить готовый скриптец в паблике, чтоб табличку фиксить? про последние версии вмпрота не говорю, до второй версии.... что-то болталось на tuts4you, но результат отрицательный. Самому писать не чужда, но изобретать велосипед заново вломы. Added: Bronco Я же не про этот сабж, я в целом.... как бы ![]() ![]() |
|
Создано: 29 марта 2010 02:37 · Личное сообщение · #7 |
|
Создано: 29 марта 2010 04:57 · Личное сообщение · #8 Табличка на своём месте вообще класс ! ![]() 0051CA0C 77114850 oleaut32.SysFreeString 0051CA10 7713C99D oleaut32.SysReAllocStringLen 0051CA14 77114B59 oleaut32.SysAllocStringLen 0051CA18 00000000 0051CA1C 77DC7883 ADVAPI32.RegQueryValueExA 0051CA20 77DC761B ADVAPI32.RegOpenKeyExA 0051CA24 77DC6BF0 ADVAPI32.RegCloseKey 0051CA28 00000000 0051CA2C 77D5FA46 USER32.GetKeyboardType 0051CA30 77D3E666 USER32.DestroyWindow 0051CA34 77D5EC98 USER32.LoadStringA 0051CA38 77D7050B USER32.MessageBoxA 0051CA3C 77D5EC40 USER32.CharNextA 0051CA40 00000000 0051CA44 7C809943 kernel32.GetACP 0051CA48 7C802442 kernel32.Sleep 0051CA4C 7C809B14 kernel32.VirtualFree 0051CA50 7C809A81 kernel32.VirtualAlloc 0051CA54 7C809737 kernel32.GetCurrentThreadId 0051CA58 7C809794 kernel32.InterlockedDecrement 0051CA5C 7C80977B kernel32.InterlockedIncrement 0051CA60 7C80B859 kernel32.VirtualQuery 0051CA64 7C80A0C7 kernel32.WideCharToMultiByte 0051CA68 7C823053 kernel32.SetCurrentDirectoryA 0051CA6C 7C809CAD kernel32.MultiByteToWideChar 0051CA70 7C80C6E0 kernel32.lstrlenA 0051CA74 7C810311 kernel32.lstrcpynA 0051CA78 7C801D4F kernel32.LoadLibraryExA 0051CA7C 7C80A405 kernel32.GetThreadLocale 0051CA80 7C801EEE kernel32.GetStartupInfoA 0051CA84 7C80AC28 kernel32.GetProcAddress 0051CA88 7C80B529 kernel32.GetModuleHandleA 0051CA8C 7C80B357 kernel32.GetModuleFileNameA 0051CA90 7C80D47E kernel32.GetLocaleInfoA 0051CA94 7C910331 ntdll.RtlGetLastWin32Error 0051CA98 7C8397A1 kernel32.GetCurrentDirectoryA 0051CA9C 7C812C8D kernel32.GetCommandLineA 0051CAA0 7C80AA66 kernel32.FreeLibrary 0051CAA4 7C813559 kernel32.FindFirstFileA 0051CAA8 7C80EFD7 kernel32.FindClose 0051CAAC 7C81CAA2 kernel32.ExitProcess 0051CAB0 7C80D293 kernel32.CompareStringA 0051CAB4 7C810F9F kernel32.WriteFile 0051CAB8 7C862B8A kernel32.UnhandledExceptionFilter 0051CABC 7C810DA6 kernel32.SetFilePointer 0051CAC0 7C81F850 kernel32.SetEndOfFile 0051CAC4 7C937A40 ntdll.RtlUnwind 0051CAC8 7C80180E kernel32.ReadFile 0051CACC 7C81EAE1 kernel32.RaiseException 0051CAD0 7C812CA9 kernel32.GetStdHandle 0051CAD4 7C810C8F kernel32.GetFileSize 0051CAD8 7C811069 kernel32.GetFileType 0051CADC 7C801A24 kernel32.CreateFileA 0051CAE0 7C809B77 kernel32.CloseHandle 0051CAE4 00000000 0051CAE8 7C809BF5 kernel32.TlsSetValue 0051CAEC 7C809750 kernel32.TlsGetValue 0051CAF0 7C8099BD kernel32.LocalAlloc 0051CAF4 7C80B529 kernel32.GetModuleHandleA 0051CAF8 00000000 0051CAFC 77D4190B USER32.CreateWindowExA 0051CB00 77D3A041 USER32.wvsprintfA 0051CB04 77D3C57E USER32.WindowFromPoint 0051CB08 77D393E9 USER32.WaitMessage 0051CB0C 77D3C064 USER32.UpdateWindow 0051CB10 77D5E438 USER32.UnregisterClassA 0051CB14 77D5F29F USER32.UnhookWindowsHookEx 0051CB18 77D38BCE USER32.TranslateMessage 0051CB1C 77D3FE8E USER32.TranslateMDISysAccel 0051CB20 77D8CAFE USER32.TrackPopupMenuEx 0051CB24 77D84F16 USER32.TrackPopupMenu 0051CB28 77D40554 USER32.SystemParametersInfoA 0051CB2C 77D3D4DE USER32.ShowWindow 0051CB30 77D40142 USER32.ShowScrollBar 0051CB34 77D75EBF USER32.ShowOwnedPopups 0051CB38 77D602B2 USER32.SetWindowsHookExA 0051CB3C 77D3DC5A USER32.SetWindowTextA 0051CB40 77D3C78E USER32.SetWindowPos 0051CB44 77D5FBEA USER32.SetWindowPlacement 0051CB48 77D3DEF1 USER32.SetWindowLongW 0051CB4C 77D3DED3 USER32.SetWindowLongA 0051CB50 77D38C06 USER32.SetTimer 0051CB54 77D3F6BB USER32.SetScrollRange 0051CB58 77D3F780 USER32.SetScrollPos 0051CB5C 77D3902C USER32.SetScrollInfo 0051CB60 77D3B46E USER32.SetRect 0051CB64 77D3EDFA USER32.SetPropA 0051CB68 77D3FDAE USER32.SetParent 0051CB6C 77D8AA06 USER32.SetMenuItemInfoA 0051CB70 77D6F116 USER32.SetMenu 0051CB74 77D466A7 USER32.SetForegroundWindow 0051CB78 77D3E5DC USER32.SetFocus 0051CB7C 77D560D5 USER32.SetDlgItemTextA 0051CB80 77D3C6A8 USER32.SetCursor 0051CB84 77D5F47E USER32.SetClipboardViewer 0051CB88 77D5FF10 USER32.SetClipboardData 0051CB8C 77D401DB USER32.SetClassLongA 0051CB90 77D3C988 USER32.SetCapture 0051CB94 77D45380 USER32.SetActiveWindow 0051CB98 77D3B762 USER32.SendMessageW 0051CB9C 77D3E2AE USER32.SendMessageA 0051CBA0 77D5152F USER32.SendDlgItemMessageA 0051CBA4 77D40438 USER32.ScrollWindow 0051CBA8 77D3C5B8 USER32.ScreenToClient 0051CBAC 77D3EEA2 USER32.RemovePropA 0051CBB0 77D5724D USER32.RemoveMenu 0051CBB4 77D3866D USER32.ReleaseDC 0051CBB8 77D3C9A4 USER32.ReleaseCapture 0051CBBC 77D38E00 USER32.RegisterWindowMessageA 0051CBC0 77D38E00 USER32.RegisterWindowMessageA 0051CBC4 77D42316 USER32.RegisterClassA 0051CBC8 77D3C6BC USER32.RedrawWindow 0051CBCC 77D3C531 USER32.PtInRect 0051CBD0 77D5EBB0 USER32.PostThreadMessageA 0051CBD4 77D5EDEB USER32.PostQuitMessage 0051CBD8 77D3DB62 USER32.PostMessageA 0051CBDC 77D39278 USER32.PeekMessageW 0051CBE0 77D3CEFD USER32.PeekMessageA 0051CBE4 77D3EEF7 USER32.OpenClipboard 0051CBE8 77D3B4D9 USER32.OffsetRect 0051CBEC 77D5ECF2 USER32.OemToCharA 0051CBF0 77D3D515 USER32.MoveWindow 0051CBF4 77D7050B USER32.MessageBoxA 0051CBF8 77D602D3 USER32.MessageBeep 0051CBFC 77D3B9D7 USER32.MapWindowPoints 0051CC00 77D403E9 USER32.MapVirtualKeyA 0051CC04 77D5EC98 USER32.LoadStringA 0051CC08 77D6F7A3 USER32.LoadMenuA 0051CC0C 77D75F3B USER32.LoadKeyboardLayoutA 0051CC10 77D421AE USER32.LoadIconA 0051CC14 77D3E8FA USER32.LoadCursorA 0051CC18 77D467A8 USER32.LoadBitmapA 0051CC1C 77D38C1A USER32.KillTimer 0051CC20 77D3D420 USER32.IsZoomed 0051CC24 77D3BD8E USER32.IsWindowVisible 0051CC28 77D3C416 USER32.IsWindowUnicode 0051CC2C 77D3C592 USER32.IsWindowEnabled 0051CC30 77D3B7DB USER32.IsWindow 0051CC34 77D3C676 USER32.IsRectEmpty 0051CC38 77D3C48A USER32.IsIconic 0051CC3C 77D5E73E USER32.IsDialogMessageW 0051CC40 77D55C98 USER32.IsDialogMessageA 0051CC44 77D3CDED USER32.IsClipboardFormatAvailable 0051CC48 77D3BEF3 USER32.IsChild 0051CC4C 77D4019F USER32.InvalidateRgn 0051CC50 77D3B49D USER32.InvalidateRect 0051CC54 77D3B3E7 USER32.IntersectRect 0051CC58 77D6F430 USER32.InsertMenuItemA 0051CC5C 77D54F9A USER32.InsertMenuA 0051CC60 77D3C64D USER32.InflateRect 0051CC64 77D38A58 USER32.GetWindowThreadProcessId 0051CC68 77D6EEAB USER32.GetWindowTextLengthA 0051CC6C 77D5F82E USER32.GetWindowTextA 0051CC70 77D3B57C USER32.GetWindowRect 0051CC74 77D3EB14 USER32.GetWindowPlacement 0051CC78 77D3887E USER32.GetWindowLongW 0051CC7C 77D3947C USER32.GetWindowLongA 0051CC80 77D38FF9 USER32.GetWindowDC 0051CC84 77D3D16F USER32.GetTopWindow 0051CC88 77D38F75 USER32.GetSystemMetrics 0051CC8C 77D3E7B8 USER32.GetSystemMenu 0051CC90 77D38E83 USER32.GetSysColorBrush 0051CC94 77D38E50 USER32.GetSysColor 0051CC98 77D4355A USER32.GetSubMenu 0051CC9C 77D3F7B7 USER32.GetScrollRange 0051CCA0 77D3F66F USER32.GetScrollPos 0051CCA4 77D43A2F USER32.GetScrollInfo 0051CCA8 77D3EE3C USER32.GetPropA 0051CCAC 77D3B5D7 USER32.GetParent 0051CCB0 77D3C298 USER32.GetWindow 0051CCB4 77D3C210 USER32.GetMessageTime 0051CCB8 77D3C6E4 USER32.GetMessagePos 0051CCBC 77D6EF6E USER32.GetMenuStringA 0051CCC0 77D5749F USER32.GetMenuState 0051CCC4 77D438EC USER32.GetMenuItemInfoA 0051CCC8 77D6EEE8 USER32.GetMenuItemID 0051CCCC 77D4375B USER32.GetMenuItemCount 0051CCD0 77D5EABE USER32.GetMenu 0051CCD4 77D54E3E USER32.GetLastActivePopup 0051CCD8 77D3EF35 USER32.GetKeyboardState 0051CCDC 77D73351 USER32.GetKeyboardLayoutNameA 0051CCE0 77D3BF8B USER32.GetKeyboardLayoutList 0051CCE4 77D3C43C USER32.GetKeyboardLayout 0051CCE8 77D3C379 USER32.GetKeyState 0051CCEC 77D6F3D4 USER32.GetKeyNameTextA 0051CCF0 77D3E9A1 USER32.GetIconInfo 0051CCF4 77D3C4AE USER32.GetForegroundWindow 0051CCF8 77D3C640 USER32.GetFocus 0051CCFC 77D452A4 USER32.GetDlgItem 0051CD00 77D3D7BB USER32.GetDesktopWindow 0051CD04 77D3F21D USER32.GetDCEx 0051CD08 77D38697 USER32.GetDC 0051CD0C 77D3C566 USER32.GetCursorPos 0051CD10 77D3CECD USER32.GetCursor 0051CD14 77D5FCB2 USER32.GetClipboardData 0051CD18 77D3B556 USER32.GetClientRect 0051CD1C 77D3E032 USER32.GetClassNameA 0051CD20 77D3E49A USER32.GetClassLongA 0051CD24 77D54D4A USER32.GetClassInfoA 0051CD28 77D394FF USER32.GetCapture 0051CD2C 77D3DF1E USER32.GetActiveWindow 0051CD30 77D3F5FE USER32.FrameRect 0051CD34 77D5F7D0 USER32.FindWindowExA 0051CD38 77D5F3C6 USER32.FindWindowA 0051CD3C 77D3D3C5 USER32.FillRect 0051CD40 77D3BDD1 USER32.EqualRect 0051CD44 77D3D935 USER32.EnumWindows 0051CD48 77D3FACD USER32.EnumThreadWindows 0051CD4C 77D5E245 USER32.EnumDisplayDevicesA 0051CD50 77D3E5BA USER32.EnumChildWindows 0051CD54 77D3B4C5 USER32.EndPaint 0051CD58 77D3C4D4 USER32.EnableWindow 0051CD5C 77D87BAD USER32.EnableScrollBar 0051CD60 77D3FC3C USER32.EnableMenuItem 0051CD64 77D5FE82 USER32.EmptyClipboard 0051CD68 77D55D61 USER32.DrawTextA 0051CD6C 77D6F3BC USER32.DrawMenuBar 0051CD70 77D3F38A USER32.DrawIconEx 0051CD74 77D501EF USER32.DrawIcon 0051CD78 77D52420 USER32.DrawFrameControl 0051CD7C 77D3F623 USER32.DrawFocusRect 0051CD80 77D3F807 USER32.DrawEdge 0051CD84 77D389D9 USER32.DispatchMessageW 0051CD88 77D3BCBD USER32.DispatchMessageA 0051CD8C 77D3E666 USER32.DestroyWindow 0051CD90 77D3E3A1 USER32.DestroyMenu 0051CD94 77D3E8CE USER32.DestroyIcon 0051CD98 77D3E8CE USER32.DestroyIcon 0051CD9C 77D3E87B USER32.DeleteMenu 0051CDA0 77D3DF6B USER32.DefWindowProcA 0051CDA4 77D6F6D4 USER32.DefMDIChildProcA 0051CDA8 77D6F685 USER32.DefFrameProcA 0051CDAC 77D57138 USER32.CreatePopupMenu 0051CDB0 77D4363F USER32.CreateMenu 0051CDB4 77D76C4F USER32.CreateIcon 0051CDB8 77D3EEE5 USER32.CloseClipboard 0051CDBC 77D54EE0 USER32.ClipCursor 0051CDC0 77D3BF2C USER32.ClientToScreen 0051CDC4 77D58565 USER32.ChildWindowFromPoint 0051CDC8 77D4711B USER32.CheckMenuItem 0051CDCC 77D5F492 USER32.ChangeClipboardChain 0051CDD0 77D3E34B USER32.CallWindowProcA 0051CDD4 77D3ED6E USER32.CallNextHookEx 0051CDD8 77D3B4B1 USER32.BeginPaint 0051CDDC 77D5EC40 USER32.CharNextA 0051CDE0 77D5F002 USER32.CharLowerBuffA 00 ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 29 марта 2010 12:21 · Поправил: Student_trainee · Личное сообщение · #9 Спасибо! ![]() Если можно, поясните, пожалуйста. Пытаюсь сделать рабочий дамп. Без таблицы импорта ничего не запускается, а ImportREC виснет намертво. Как вы делали дамп? А на счет халявы, т.е. т.к. нет оригинальной половины ключа, то расшифровать не получится в любом случае, так? И как вы нашли OEP? (я только учусь, извините ![]() ![]() |
|
Создано: 29 марта 2010 13:18 · Личное сообщение · #10 |
|
Создано: 29 марта 2010 15:45 · Личное сообщение · #11 |
|
Создано: 29 марта 2010 16:11 · Личное сообщение · #12 |
|
Создано: 29 марта 2010 16:33 · Поправил: Student_trainee · Личное сообщение · #13 |
|
Создано: 29 марта 2010 19:57 · Личное сообщение · #14 Student_trainee пишет: Шанс вписать логин-пароль в exe намертво? Не думаю что это проблемно, если будет валидная пара. // сбор первичного инфо идёт на уровне приложения. Student_trainee пишет: пару слов как вы дамп делали скопипасть в текстовик: Code:
сохрани с любой погремухой, загрузи приблуду в ольку, и запусти текстовик с помощью ODbgScript. В папке найдёшь дамп, ковыряй его скоко влезет....))) Для анализа приблуды, табличку которую пакер прописал, тебе пока хватит. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 29 марта 2010 21:25 · Поправил: Student_trainee · Личное сообщение · #15 |
|
Создано: 30 марта 2010 20:53 · Поправил: Student_trainee · Личное сообщение · #16 |
|
Создано: 01 апреля 2010 22:56 · Поправил: Student_trainee · Личное сообщение · #17 dump все равно вылетает по исключению, как и исходный exe... В добавок, на одном компе создается запускающийся дамп, а на другом дамп запускается только через оллю и делает все-те же странные прыжки между exe и ntdll. Делаю одним и тем же скриптом. На "не правильном" компе стоит KIS и он отключен. Только один раз запустилось основное окно программе в олли строка состояния:C:\PROGRA~1\KASPER~1\KASPER~1\kloehk.dll OEP = 004FB890 Окно открылось = 004FB8A5 И проблема, похоже, в том, что в случае, когда открылось главное окно запустилась копия файла. (в нормальном состоянии в процессах висят 2 exe, но под олей запускается только один). Стек забит кучей информации. Где запускаемая программа может хранить рег.ключ на 256 бит? mov eax.dump.004f93a4 вызывает создание главного окна и опрос системных параметров? Очень похоже, что файл вызывает свою виртуальную копию и работает уже с ней... Кроме того именно после адреса 004FB890 срабатывает bp на GetDeviceCaps. Мне не влом работать самостоятельно и у меня куча времени, но я просто не понимаю КАК. И может совсем уж дурацкий вопрос, но может кто-то скажет: почему в списке функций опубликованных в верхнем посте нет функций получения системных параметров? ![]() |
|
Создано: 02 апреля 2010 05:25 · Поправил: Rys · Личное сообщение · #18 |
|
Создано: 02 апреля 2010 09:52 · Личное сообщение · #19 Извините, не столько не внимателен, сколько не во все до конца и быстро въезжаю. Ваш скрипт идеально работает на других машинах. Проблема скорее в какой-то софтине на конкретном компе. Просто интересно в какой. ![]() Вылеты в ntdll происходят только в дампе снятом на этой машине. ![]() ![]() Спасибо, Bronco, за подсказки, буду разбираться. ![]() Спасибо, Rys, плагины Peid использовались. Буду внимательнее. ![]() ![]() |
![]() |
eXeL@B —› Вопросы новичков —› EXE- delphi 6.0-7.0 - PeStudbOEP v1.* |