forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   BlitzHack (http://forum.boolean.name/showthread.php?t=4213)

impersonalis 20.08.2007 19:54

BlitzHack
 
Вложений: 1
Отчаялся найти бесплатную версию BlitzUI.
Потому портировал код http://blitzbasic.com/codearcs/codearcs.php?code=1098 на С++.
См. аттач.

johnk 20.08.2007 19:56

Re: BlitzHack
 
Класс! Спасибо! :)

impersonalis 20.08.2007 20:14

Re: BlitzHack
 
Прога позволяет просматривать имена
функций
глобалов
типов
меток
массивов
в ехе-файлах b3d & b+.
Идея, собственно, старая - многие независмо друг от друга обнаружили интересные незашифрованные "вксуности" внутри ехе-ов.
(Jimon подтвердит - как мы развлекались).
Вот полностью автоматизированный процесс.
Код при портировании я оптимизировал.

impersonalis 20.02.2008 00:39

Ответ: BlitzHack
 
ОЙ. я забыл вам дать нью вершан. :)

moka 21.02.2008 19:48

Ответ: BlitzHack
 
А что в ней Нью?

SBJoker 21.02.2008 19:52

Ответ: BlitzHack
 
В ней нью - более удобный интерфейс

impersonalis 31.12.2009 00:55

Ответ: BlitzHack
 
Вложений: 4
Проекту нужна ваш помощь.
Во-первых:
нужно сочинение на английском яызке (для стартового диалога) на тему " вы используете данное ПО на свой страх и риск. Любое использование данной программы в целях, противоречащих законодательству любой (гы-гы) страны запрещено. Программа предназчена для тестирования взломстойоксти вашей раработки" (текст надо переформулировтаь более юр.грамотно).
Во-воторых:
надо чекнуть на грамотность тексты текущих диалогов.
Пока это всё. Автор выбранного варианта будет указан в программе.

Подолжаю дорабатывать функционал. В ближ. время понадобятся тестеры.

Последние изыскания позволили превратить* вот такой код:
Код:

Global TXT$="preved!"
Global I%=1
Graphics 800,600,32,2
SetBuffer BackBuffer()
SetFont(LoadFont("Arial",20))
For q=1 To I
        Print TXT
Next

WaitKey()

например, в такой:
Код:

Global TXT$="hacked!"
Global I%=5
Graphics 800,600,32,2
SetBuffer BackBuffer()
SetFont(LoadFont("Arial",20))
For q=1 To I
        Print TXT
Next

WaitKey()

________________________________________
*- имея только exe-файл

moka 31.12.2009 02:51

Ответ: BlitzHack
 
Using this software, you take whole responsibility.
Using of this software, against country law is forbidden.
This software developed only for testing of yours applications on hacking resistance.

jimon 31.12.2009 02:56

Ответ: BlitzHack
 
impersonalis
офигенная картинка с ракетой !

ABTOMAT 31.12.2009 03:06

Ответ: BlitzHack
 
Цитата:

Сообщение от MoKa (Сообщение 131728)
This software is developed only for testing your applications for hack resistance.

В пассивном залоге ставится глагол to be
И testing for а не on =\ Или я не прав? И почему yours а не your?
И по-моему of перед your applications не нужен.
Чот ещё в переводе пару спорных мест заметил
- English Grammar Nazi
Цитата:

офигенная картинка с ракетой !
Да, картинка реально крута. Афтору зачот! Кстати этот хитрец нагло копирует мой стиль.

Randomize 31.12.2009 04:12

Ответ: BlitzHack
 
Арты жгут. Мега патриотично :D

Mhyhr 31.12.2009 12:08

Ответ: BlitzHack
 
Цитата:

оследние изыскания позволили превратить* вот такой код:
Неплохо - "сам скачал, сам под-патчил, сам затестил..." и без заморочек... хорофо) и арт красивый

impersonalis 31.12.2009 12:22

Ответ: BlitzHack
 
Цитата:

Чот ещё в переводе пару спорных мест заметил
- English Grammar Nazi
Ещё надо дбавить что-то типа: автор не несёт какую-либо отвественность за результаты использования данного ПО.

NitE 31.12.2009 15:08

Ответ: BlitzHack
 
Цитата:

Using this software, you take whole responsibility.
тут всё включено, нет смысла писать трактат повторяя одно и тоже.

moka 31.12.2009 17:02

Ответ: BlitzHack
 
Цитата:

Сообщение от ABTOMAT (Сообщение 131731)
В пассивном залоге ставится глагол to be
И testing for а не on =\ Или я не прав? И почему yours а не your?
И по-моему of перед your applications не нужен.
Чот ещё в переводе пару спорных мест заметил

Цитата:

Сообщение от ABTOMAT;
This software is developed only for testing your applications for hack resistance.

Your - твой. Yours - твоих. В твоём варианте получается: "твой программ", а не "ваших программ".
"for hack resistance" - переводится как: "для влом стокости". Ты тестируешь не для того чтобы "взлом стойкость", а "на вломо стойкость". в данном случае "hacking resistance" - является процессом защиты, во время взлома, поэтому и ing. При этом ты тестируешь не для этого, а "На", взломо стойкость. Поэтому и "on".
"of" - потому что тестирование, чего-то.
А вот насчёт "is" - угу спасиб. В Британском часто их просто выкидывают, т.к. и без них понятно..

This software is developed only for testing of yours applications on hacking resistance.


Вот про ответственность.
Цитата:

Author of this software, doesn't take any responsibility about use of this software by you or anyone else.

impersonalis 31.12.2009 17:05

Ответ: BlitzHack
 
:?? как в итоге выглядит текст-то?

moka 31.12.2009 17:09

Ответ: BlitzHack
 
Author of this software, doesn't take any responsibility about use of this software by you or anyone else.
Using of this software, against country law is forbidden.
This software is developed only for testing of yours applications on hacking resistance.

NitE 31.12.2009 18:28

Ответ: BlitzHack
 
This software is distributed AS/IS.
The author of this software takes no responsibility for any damage that might be caused by it.
Using of this software against the law is forbidden.
This software is developed only for testing the security level of your applications.

так будет более правильно во всех смыслах ))

moka 31.12.2009 18:55

Ответ: BlitzHack
 
Цитата:

The author of this software takes no responsibility for any damage that might be caused by it.
Строка выглядит очень коряво..
Моя тоже корявая достаточно.. :(

Цитата:

Author does not take any responsibility of possible direct or indirect damage caused by the software.
Полазал по интернету, это предложение популярно.

Цитата:

This software is distributed AS/IS.
В таком случае, нужно объяснить что такое AS/IS. Потому что например я не знаю этого, так простой пользователь, тем более..

Цитата:

This software is developed only for testing the security level of your applications.
Тоже была мысль использовать security - но это не то. Т.к. уровень защиты, относиться более к системам приложений, или т.п. Поэтому тут как-раз взлом приложения.

Цитата:

Using of this software against the law is forbidden.
Нету как таковой просто закона. Есть закон страны, который покрывает такие вопросы. Поэтому нужно уточнять, чтобы пользователь учитывал, что законы нарушает он страны.


Author does not take any responsibility of possible direct or indirect damage caused by the software.
Using of this software against the country law is forbidden.
This software is developed only for testing of yours applications on hacking resistance.


Снова подмечу: of your applications - из ваших приложений. А of yours applications - ваших приложений.

NitE 31.12.2009 19:09

Ответ: BlitzHack
 
Цитата:

the law
намекает...

moka 31.12.2009 19:29

Ответ: BlitzHack
 
NitE, в суду намёков уже не будет.
Почитай блоги с делами судов по отношению соглашений на использование программного обеспечения. Там тебе весело расскажут, что даже опечатка в слове - дыра в соглашении.. И дело разработчиками проиграно.

NitE 31.12.2009 19:33

Ответ: BlitzHack
 
просто так будет смотрется правильнее, а раз уж на то пошло - думаешь в этих 3-х строчках нету дыр? если хочешь быть полностью защищент изволь писать длинное лицензионное соглашение на 10 листов ))

moka 31.12.2009 19:41

Ответ: BlitzHack
 
Дыр полнище, но столь наглядные хоть прикрыть.
Если уж делать лицензионное соглашение, то как например у адоба, или как тут: http://www.idautomation.com/software-license.html
или тут: http://www.soft.com/eValid/Products/...e/license.html

И т.п. Но данные продукт как понимаю не коммерческий, поэтому и не нужно слишком заморачиваться.

Да и в каком смысле правильнее? В подобных вещах нужна конкретика.

NitE 31.12.2009 19:44

Ответ: BlitzHack
 
ну я так понимаю на английском потомучто для англоговорящих людей - говорят обычно the law когда имеют ввиду закон (государственный).

moka 31.12.2009 19:53

Ответ: BlitzHack
 
NitE, уже почти год живу в англоязычном обществе, и если речь идёт о чём-то интернациональном, то упоминается страна.
Ты можешь с другом говорить о вашей стране, и не нужно использовать слово "страна", перед словом "закон", но когда речь идёт о интернете, и интернациональности, то нужно указывать.
Либо я подам в суд, и скажу, "что вот я играл тут в World of Empire III, и знаю законы, и не нарушал их, используя эту софтинку, так что я тут ни причём!".
Почитай блоги судебных дел, столько смеху там, столько абсурда, и выигрывают на глупостях.
Но тут, с таким соглашением выиграть вообще просто, но его наличие, и хоть как-то более менее нормальный вид, сразу отобьёт любого желающего..

NitE 31.12.2009 20:25

Ответ: BlitzHack
 
короче проще никакой контактной инфы не указывать и не будет проблем - к томуже мала вероятность что кто-то из америки или анлгий или ещё откудато подаст в суд на русскую любительскую и бесплатную софтинку - и уж темболее мала вероятность того что если кто-то прочитает the law подумает что это законы кений нежели страны в котрой он находится - подкинь ссылок по теме ! ))

impersonalis 31.12.2009 20:46

Ответ: BlitzHack
 
Вложений: 1
вот так. При запуске появляется окно. Если пользователь не нажмёт ОК программа завершает свою работу.

jimon 31.12.2009 21:05

Ответ: BlitzHack
 
impersonalis
ты еще показывай негатив каждый второй кадр и так со скорость 20-50 кадров в секунду

NitE 31.12.2009 23:03

Ответ: BlitzHack
 
и опять "the country law" говорит про какуюто конкретную, не указанную страну - должно быть что-то вроде "your country laws"

moka 31.12.2009 23:09

Ответ: BlitzHack
 
Цитата:

Сообщение от NitE (Сообщение 131829)
и опять "the country law" говорит про какуюто конкретную, не указанную страну - должно быть что-то вроде "your country laws"

Вот и дырка опять, нужно вообще указывать типо: одинарный\множественный. Потому что если указать просто закон - значит нарушение 2 законов, уже частично проходит мимо (зависит от паскудности адвокатов). А вот указать "законы", то нарушение одного закона (чаще так и бывает), не будет покрываться этой строкой ;)

Насчёт линков - гуугля, там этого добра полно.

ABTOMAT 01.01.2010 17:12

Ответ: BlitzHack
 
Цитата:

А вот насчёт "is" - угу спасиб. В Британском часто их просто выкидывают, т.к. и без них понятно..
Не знал, что так можно, спасибо за развёрнутое объяснение

Кстати "the software" - не ясно, какой именно софт имеется в виду.
Наверное, вернее было бы "this software"
А ещё можно было бы весь текст написать по-русски, а по-английски фразу:
Непонимание вами соглашения в случае, если вы его не прочли, но согласились с ним, не освобождает вас от ответственности. Если вы не можете прочесть, обратитесь к специалистам.
Или
Нажатие вами кнопки ОК означает, что вы прочли и полностью понимаете все пункты данного лицензионного соглашения и соглашаетесь с ними, в противном случае нажмите Cancel. Если вы не можете прочесть текст на русском, обратитесь к специалистам-переводчикам.

То есть спихиваем ответственность за перевод на специалистов. Если юзер не обратился к ним - сам виноват, его предупреждали.

impersonalis 01.01.2010 18:14

Ответ: BlitzHack
 
ABTOMAT
так и сделаем!!
В таком сулчае - надо перевести на англ.фразу про перевод. И сформулировать "лицензию" на русском.
Так же подумал - смнеить название на Blitz HackResistance Test или что-то типа

moka 01.01.2010 23:04

Ответ: BlitzHack
 
Цитата:

Yes I agree to the above agreement.
Перед этим должна стоять галочка, которую нужно пометить. Если галочку не пометить, кнопка для продолжения будет не активна. :)

.Squid 03.01.2010 01:04

Ответ: BlitzHack
 
Цитата:

Сообщение от MoKa (Сообщение 131779)
Your - твой. Yours - твоих. В твоём варианте получается: "твой программ", а не "ваших программ".

При всем моем уважение к тебе, МоКа, это просто какой-то фейеричный бред. "Yours" используется в качестве замены "your + существительное". Например. My game rules, but yours sucks.
Цитата:

Сообщение от MoKa (Сообщение 131779)
"for hack resistance" - переводится как: "для влом стокости". Ты тестируешь не для того чтобы "взлом стойкость", а "на вломо стойкость". в данном случае "hacking resistance" - является процессом защиты, во время взлома, поэтому и ing. При этом ты тестируешь не для этого, а "На", взломо стойкость. Поэтому и "on".

Ты тут вообще пытаешься предлоги на русский переводить? Неблагодарное занятие - как правило они совершенно не совпадают. "Testing on" возможно только, если этот "testing" проводится, например, на мосту, тогда будет "testing on the bridge". А тестирование на предмет чего-то всегда с "for".
C запятыми вообще что-то намудрил.

Как по мне, то у NitE самый верный вариант. Не понял только зачем писать "as is" как "AS/IS".

NitE 03.01.2010 01:19

Ответ: BlitzHack
 
Цитата:

Как по мне, то у NitE самый верный вариант. Не понял только зачем писать "as is" как "AS/IS".
спасибо, вот и я про тоже.
видел просто в разных местах по разному, большими буквами и со слэшем выглядит эффектнее ))

BlackOut 03.01.2010 01:55

Ответ: BlitzHack
 
И где можно скачать сеё детише? Естественно для проверки той самой вЗлОмоустойчивости?:cool: первые посты темы отредактированы и атачи в них походу вырезаны...
http://rapidshare.com/files/51060969/BHack11.zip.html как понимаю не последний (impersonalis (Posted 2 years ago))

impersonalis 03.01.2010 02:24

Ответ: BlitzHack
 
всему своё время.
как только - так сразу.
---
Тут даже с интерфейсом вон сколько трабл.

ABTOMAT 03.01.2010 16:55

Ответ: BlitzHack
 
Цитата:

Сообщение от .Squid (Сообщение 132031)
При всем моем уважение к тебе, МоКа, это просто какой-то фейеричный бред. "Yours" используется в качестве замены "your + существительное". Например. My game rules, but yours sucks.
Ты тут вообще пытаешься предлоги на русский переводить? Неблагодарное занятие - как правило они совершенно не совпадают. "Testing on" возможно только, если этот "testing" проводится, например, на мосту, тогда будет "testing on the bridge". А тестирование на предмет чего-то всегда с "for".
C запятыми вообще что-то намудрил.

Как по мне, то у NitE самый верный вариант. Не понял только зачем писать "as is" как "AS/IS".

Так и знал, что тестирование на предмет чего-л - for

impersonalis 05.01.2010 01:27

Ответ: BlitzHack
 
Вложений: 3
:) Итак.
Появилась возможность управлять графическими режимами.
При тестовой работе, был изменён* следующий код:
Код:

Graphics 100,200,32,2
SetBuffer BackBuffer()
While Not KeyHit(1)
Wend
End

на
Код:

Graphics 800,600,32,1
SetBuffer BackBuffer()
While Not KeyHit(1)
Wend
End

Алгоритм позволяет корректно скипать при декодировании те значения, что были заданы переменными.

Я так и не понял - что делать с приветствием.
________________________________________
*- имея только exe-файл

impersonalis 05.01.2010 03:01

Ответ: BlitzHack
 
Вложений: 2
Добавил вывод на главную форму режима сборки ехе-файла (DEBUG|RELEASE).

impersonalis 05.01.2010 03:49

Вложений: 1
Итак - первый тест

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

ARA 05.01.2010 10:54

Ответ: BlitzHack
 
Какова суть лицензионных соглашений? Как-будто разработчик сам прописывает законы какие-то свои в этих соглашениях :)

Или может разрабы просто цитируют законы в ЛС?

impersonalis 05.01.2010 21:18

Ответ: BlitzHack
 
2ARENSHI под конец не понял и всё запуталсо.

2all кто-нибудь тестировал? есть нарекания?

Mhyhr 05.01.2010 21:46

Ответ: BlitzHack
 
Цитата:

кто-нибудь тестировал? есть нарекания?
Всё хорошо вроде, все живы, по крайней мере всё распознает и рассовывает по категориям...=)

ABTOMAT 05.01.2010 22:20

Ответ: BlitzHack
 
Потестил - не смог поменять тип граф режима (хотел с 3Д на 2Д поменять - нельзя, хоте вроде и не предусмотрено)
Ну и не смог поменять само разрешение (у меня везде var'ы - может проблема в них?)
Даёшь возможность вместо var пихать константы.
Ну и много ложных стрингов.
А так рулит.
По крайней мере если кто-то выложил игрушку в разрешении, которое мой ноут не хавает - не пропадём теперь :-D

impersonalis 05.01.2010 22:24

Ответ: BlitzHack
 
Цитата:

Потестил - не смог поменять тип граф режима (хотел с 3Д на 2Д поменять - нельзя, хоте вроде и не предусмотрено)
с 3д на 2д менять нельзя - поползёт весь файл, из-за разных объёмов дефиниций, занимаемых той и другой командой в теле ехе. Буду думать.
Цитата:

Даёшь возможность вместо var пихать константы.
проблема таже что и выше (константый аргумент занимает места 4 байта, в то время как запись со ссылкой на перменную - на 2 байта больше). Буду думать.
Цитата:

Ну и много ложных стрингов.
Угу - буду думать

ABTOMAT 05.01.2010 22:34

Ответ: BlitzHack
 
Цитата:

с 3д на 2д менять нельзя - поползёт весь файл
Ну в принципе это особо и не надо :) т.к. даже если поменял Graphics3D на 2D то тогда получим мав при попытке загрузки чего-то-там без 3Д-режима.
Так что лучше забей на это, толку в нём нет.
А вот менять переменную на константу было бы очень круто :(

Alex.D. 25.01.2010 00:01

Ответ: BlitzHack
 
Цитата:

Сообщение от impersonalis (Сообщение 132280)
с 3д на 2д менять нельзя - поползёт весь файл, из-за разных объёмов дефиниций, занимаемых той и другой командой в теле ехе. Буду думать.

Та таблица (в ресурсном файле с программой) содержит имена функций и после них смещение от сигнатуры SVWU (4ый байт от начала) до адреса инструкции вызова (call) который изначально инвалидный (FCFFFFFF) и правится при загрузке программы. После названия функции (вида _f...) идет 5 байт, 4 из которых на смещение и один (нуль) отделяет следующее название. В большинстве случаев прийдется переделывать эту таблицу, но в некоторых (как смена 3д на 2д) можно попробывать просто сменить имя (_fgraphics3d на _fgraphics, а лишние 2 байта тоже занулить)

Цитата:

Сообщение от impersonalis (Сообщение 132280)
проблема таже что и выше (константый аргумент занимает места 4 байта, в то время как запись со ссылкой на перменную - на 2 байта больше). Буду думать.

Компилятор блица не использует инструкцию push, вместо этого он сдвигает стек и записывает в него по смещению
Соответственно запись в стек
по смещению:
*константы - 8 байт
*локальной переменной - 7 байт
*глобальной переменной - 10 байт
без смещения (первый параметр функции):
*константы - 7 байт
*локальной переменной - 6 байт
*глобальной переменной - 9 байт
В случае с глобальной переменной, замена на константу безболезненна, оставшиеся 2-3 байта можно затереть NOPами
В случае с локальной переменной, выход для некоторых функций - записывать одинарное слово (mov word [esp], const \ mov word[esp+offset], const) что укладывается в нужные 6\7 байт.

impersonalis 25.01.2010 00:31

Ответ: BlitzHack
 
Цитата:

Та таблица (в ресурсном файле с программой) содержит имена функций и после них смещение от сигнатуры SVWU (4ый байт от начала) до адреса инструкции вызова (call) который изначально инвалидный (FCFFFFFF) и правится при загрузке программы. После названия функции (вида _f...) идет 5 байт, 4 из которых на смещение и один (нуль) отделяет следующее название. В большинстве случаев прийдется переделывать эту таблицу, но в некоторых (как смена 3д на 2д) можно попробывать просто сменить имя (_fgraphics3d на _fgraphics, а лишние 2 байта тоже занулить)
Это, разумеется, я вычислил - иначе бы не смог сделать текущий функционал. 3д на 2д менять чревато ошибками в логике программы, а обратное - в смещениях асм-кода.
Пока особо нет времени и интереса к программе (как оказалось, ресурс внутри ехе - чистый асм, а его трактовка не представялет из себя особого интереса: наилучший результата здесь даст дизасм и его разбор, а софт для этого есть и лучше чем мой; т.о. мой софт по-прежнему - простенький вьювер, заточенный под б3д).

Harter 07.09.2012 14:38

Ответ: BlitzHack
 
Простите за некроманство, но если кому-нибудь когда-нибудь понадобится скрыть свой код бесплатно без регистрации от BlitzHack - ASPack вам в помощь! Он не просто уменьшает размер *.exe, а и еще, как выяснилось, выступает в роли обфускатора. По крайней мере для Blitz3D.

SBJoker 07.09.2012 15:34

Ответ: BlitzHack
 
И даже после распаковки?

Platon 07.09.2012 17:14

Ответ: BlitzHack
 
Цитата:

Сообщение от Harter (Сообщение 238016)
Простите за некроманство, но если кому-нибудь когда-нибудь понадобится скрыть свой код бесплатно без регистрации от BlitzHack - ASPack вам в помощь! Он не просто уменьшает размер *.exe, а и еще, как выяснилось, выступает в роли обфускатора. По крайней мере для Blitz3D.

ASPack, как и другие "детские" упаковщики снимается легко ( естественно при наличии соответствующих навыков или автораспаковщиков ). Все они сыпятся как минимум в одном месте, на которое намекает SBJoker - после запуска, в памяти будет дешифрованый ехешник, который можно сдампить и восстановить оригинал.
А более сложные протекторы не гарантируют стабильную работу.

ЗЫ
Кстати, где-то в сети видел транслятор x86 в llvm с возможной последующей оптимизацией. Это я к тому что было бы круто иметь в блице хотя бы такой низкоуровневый оптимизатор.

Harter 08.09.2012 13:43

Ответ: BlitzHack
 
Да, пардон, поспешил с выводами. Достаточно было взглянуть хотя бы на статью в википедии.


Часовой пояс GMT +4, время: 00:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot