Страница: 1 | 2 |
Вопрос: Запись данных в EXE
Добавлено: 29.10.04 11:20
Автор вопроса: someone | Web-сайт:
как записать данные в EXE??
скажем есть пароль, который в реестр нельзя записывать а надо в EXE. КАК?
Ответы
Всего ответов: 21
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 29.10.04 12:59
Можешь пользоваться ресурсами Только это просмотреть не составит труда, да и запись данных в файл тоже легко просмотреть
Номер ответа: 2
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #2
Добавлено: 29.10.04 13:39
ксати по этому поводу была очень длинная дисскусия...
я предлагал в какойнить стандартной картинке менять цвета пикселов....
Номер ответа: 3
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #3
Добавлено: 29.10.04 13:41
Только для тебя, монстр хтмл.
1.
sPassword = "My cool password"
2. Compile
3. Пароль в exe
И еще. Если есть вопрос, то:
- используй мозг,
- поиск по сайту, форуму, фак,
- Google,
- книги,
- И В ПОСЛЕДНЕМ СЛУЧАЕ задавай вопрос ЗДЕСЬ.
Используй в порядке убывания.
Это всех пионеров касается.
Номер ответа: 4
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #4
Добавлено: 29.10.04 14:04
2Nash Bridges
Только для тебя, монстр вб
Намекаешь, что он отсутствует
1. Ты не понял. Надо, что-бы на ходу заменялись данные. Т.е. если я в ходе работы EXE-файла изменю
то при следующем запуске EXE пароль НЕ СОХРАНИТСЯ.
И в области другой формы пароль считыватся НЕ БУДЕТ.
Только без обид, пожалуйста.
Номер ответа: 5
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #5
Добавлено: 29.10.04 14:06
2Sne объясни, плиз. Я ресурсами еще никогда не пользовался
2Barsik прикольно ты придумал. Только вариант sne мне более подходит
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 29.10.04 15:19
существуют стандартные АПИ для чтения/редактирования ресурсов... Если несколько часов посидеть, то можно добиться нужного результата...
Номер ответа: 7
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #7
Добавлено: 29.10.04 20:15
2sne попробую...
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 30.10.04 02:05
http://vbnet.ru/samples/download.aspx?id=585
Номер ответа: 9
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #9
Добавлено: 30.10.04 08:27
Я вот всегда думал, зачем прятать если точно известно что найдут? Может быть лучше записать пароль ну или регистрационный код в обычный текстовый файл, положить его в папку с программой. Ну сделать его скрытым и системным, не для того, чтобы спрятать от плохих дядек, а для того чтобы случайно не “убили”. Конечно все в файле крепко закодировать, добавить чего нить этакого, и спокойно ждать, ведь pancake серавно сломают.
З.Ы. просто мысль вслух….
Номер ответа: 10
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #10
Добавлено: 30.10.04 12:56
У меня где-то был пример, как произвольный текст прошивается в BMP-картинку, и при этом визуально заметить искажение картинки очень трудно (практически невозможно). Если, конечно, это не просто квадрат Малевича )
Если нужно - могу поискать.
Однако, имей в виду, что если прочитав сей хитро спрятанный в битмапе пароль, ты будешь проверять его правильность в коде условным оператором (или CASE'ом), то любой чайник запросто сделает "патч" к твоей проге, который заставит этот условный оператор по-любому выполняться по ветке "пароль верен". Мне не один и не два раза попадалась на глаза статья в Инете, как можно (даже ни хрена не соображая в ассемблере) найти в дизассемблированном коде этот условный оператор и "подправить" его. Т.е. даже полный дуб может взять эту статью и по ней тупо (как по инструкции) сломать защиту такого рода.
Кроме того, имей в виду, что те, кому надо, ломают и программы, защищённые специальным образом от дизассемблирования.
А вообще - полазий по этому форуму, по RELIB.COM, по VBRUSSIAN.COM и т.д.: эта тема обсуждалась уже раз сто, наверное )
Номер ответа: 11
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #11
Добавлено: 30.10.04 13:54
всем спасибо
Номер ответа: 12
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #12
Добавлено: 01.11.04 15:20
Если нужно - могу поискать.
Поищи, а коль найдешь брось мне на мыло... адрес в профиле...
Номер ответа: 13
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #13
Добавлено: 01.11.04 20:28
На PowerBasic'е, правда:
' Embed text message in bitmap file.
' Length of text depends on number of colors used
' Peter Lameijn.
'=====================================================
#Compile Exe
#Include "win32api.inc"
'------------------------------------------------------------------------------
Function WriteBmpText(BmpFile As String, sPlainText As String) As Long
Local BMFH As BITMAPFILEHEADER, hFile As Dword, dStr As String, CtLen As Dword, Cnt As Long
hFile = FreeFile
Open BmpFile For Binary As #hFile
Get #hFile, 14, dStr
Poke$ VarPtr(BMFH), dStr
Get #hFile, 40, dStr
CtLen = (BMFH.bfOffBits - 14 - 40) \ 4
Print "Max. number of characters to embed is" + Str$(CtLen)
If Len(sPlainText) <= CtLen Then
For Cnt = 1 To Len(sPlainText)
Get #hFile, 3, dStr
Put$ #hFile, Mid$(sPlainText, Cnt, 1)
Next
Function = 1
End If
Close #hFile
End Function
'------------------------------------------------------------------------------
Function ReadBmpText(BmpFile As String) As String
Local BMFH As BITMAPFILEHEADER, hFile As Dword, dStr As String, Cnt As Long, Text As String
hFile = FreeFile
Open BmpFile For Binary As hFile
Get #hFile, 14, dStr
Poke$ VarPtr(BMFH), dStr
Get #hFile, 40, dStr
For Cnt = 1 To ((BMFH.bfOffBits - 54) \ 4)
Get #hFile, 4, dStr
If Mid$(dStr, 4, 1) = Chr$(0) Then Exit For
Text = Text + Mid$(dStr, 4, 1)
Next
Close #hFile
Function = Text
End Function
'------------------------------------------------------------------------------
Function PbMain() As Long
Local dStr As String
If Dir$("c:\temp\textbmp.bmp" <> "" Then Kill "c:\temp\textbmp.bmp"
FileCopy "c:\winnt\winnt256.bmp", "c:\temp\textbmp.bmp"
WriteBmpText "c:\temp\textbmp.bmp", "Embedded test..."
dStr = ReadBmpText("c:\temp\textbmp.bmp"
Print "Retrieved text: "; dStr
WaitKey$
End Function
Номер ответа: 14
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #14
Добавлено: 02.11.04 01:01
А ты попробуй переведи это на VB
Номер ответа: 15
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #15
Добавлено: 02.11.04 12:54
)
Не смогу. Просто я точно помню, что в этом форуме был кто-то, кто владеет Power Basic'ом... потому и выложил этот код.
Но где-то у меня было то же самое, но на VB6! просто найти не смог