Snusmumriken
Блин, это всё - мелкие частности. Имхо стоит смотреть глобальнее: 1. Проблемы у конкретных пользователей, и их реальные причины (проблемы с головой/памятью? недостаток материалов обучения/желания учиться?) 2. Библиотеки, их количество и качество. 3. Реальная необходимость использования и невозможность избежать.
Snusmumriken
Например, C cast'ом вроде можно "const" откастовать
Зависит от компилятора. TCC например, позволяет гораздо больше ломательной фигни, просто потому что там нет проверок, для скорости компиляции.
Elias
Нормальные компиляторы, типа GCC и Clang проверяют все И да, C cast позволяет кастовать типы, которые вообще никак не связаны друг с другом, например не имеют operator'а каста, т.е. C cast'ом пользователь говорить:"верь мнн, компилятор, я знаю лучше тебя"
fgntfg
всё есть void*, какие типы данных, вы о чём?
Elias
Во-во. Все в конце концов 0 и 1
Snusmumriken
В конце концов, всё - квантовая неопределённость
Anonymous
Snusmumriken
Anonymous
фройндшафт убер аллес
Snusmumriken
Ребзя, тут конкурс по короне мутят. Почти халявный switch.
Snusmumriken
ВКонтакте совместно с игровым движком @CoronaRu запускает конкурс для разработчиков игр. Создайте свою игру, используя Coronа, и адаптируйте её под HTML5 для игровой платформы Direct Games. Подробное описание конкурса, условия участия, а также требования к играм и разработчикам читайте в прикреплённой статье. https://vk.com/@vkgames-corona
Vasiliy
там написано сколько призовых мест?
Vasiliy
я слепой
Lucky
там монетизацию надо прикручивать. Так что участие уже приз.
Ivan
О, Пуговка!)
Ruslan
Я тут столкнулся с .lu файлом (я не lua'шник) как его декомпилить и скомпилить обратно?
Ruslan
байт код я уже нашел то luac в lu переименованый
Ruslan
ps: чего домены luadec.luaforge.net и luadec51.luaforge.net не доступны?
Snusmumriken
Карочи, луашный байткод различается в зависимости от версии. Тебе надо сначала выяснить, под какую версию lua он накалякан а потом найти хоть сетевой декомпилер.
Snusmumriken
Ну карочи байткод - это проблема.
Ruslan
ну я декомпильнул, вот скомпилить чет невыходит
Ruslan
ща онлайн попробую
Snusmumriken
Ну если декомпильнул - скомпиль своей версией lua.
Ruslan
Разобрался, не компилило потому что ошибка в коде
Ruslan
требует закрыть if
Ruslan
смотрю, а там все в порядке
Snusmumriken
Кинь скрин кусочка на строке с ошибкой.
Ruslan
Кинь скрин кусочка на строке с ошибкой.
.lua:1661: 'end' expected (to close 'if' at line 1649) near 'else'
Ruslan
я выпилил функцию, нашлась другая
Snusmumriken
А ну тут else ... end без if.
Ruslan
,
Snusmumriken
Карочи, видать не тот декодер байткода.
Ruslan
много их?
Ruslan
вот я другой попробовал
Ruslan
.lua:48: function arguments expected near ','
Ruslan
Snusmumriken
Snusmumriken
Ну типа.
Snusmumriken
Карочи, декомпилированный байткод неправильный, следовательно сделан для другой версии lua. Это может быть lua 5.0, 5.1, 5.2, 5.3 или luajit. У них у всех разный байткод, который может переводиться обратно не тем интерпретатором через жопку.
Snusmumriken
Популярные версии - 5.1, 5.3 и luajit. Советую попробовать прогнать их декомпилером. Ну, или попробовать запустить скрипт в разных интерпретаторах, там где не ругнётся - значит оно и есть, можно ковырять декомпилер данной версии.
Ruslan
я пробовал unluac v1.2.2.155 от 2015_06_13 и для 5.1
Snusmumriken
Если скинешь тот скрипт в скомпилированном виде - могу попробовать прогнать его на своих фиговинах, скажу точно. У меня, правда, декомпиляторы не водятся, но в сети можно глянуть : )
Ruslan
вот
Ruslan
моя цель была выпилить рекламу заменив android.revmob.com на 127.0.0.1 или не существующий
Ruslan
я пробовал HEX'ом заменить на несуществующий но не нарушая длину файла - крашится
Ruslan
просто удаление файла - крашится
Ruslan
зато если заблокировать на уровне фаервола - не крашится
Ruslan
т.е. там видимо чексумма есть
Snusmumriken
Скорее всего, само приложение проверяет чексуммы. Это делается тупо для безопасности, чтобы юзер не смог запустить произвольный скрипт который сломает его телефон и заразит миллиардом вирусов.
Snusmumriken
Потому что в формате luac нет чексумм, голый байткод, ничего лишнего кроме сигнатуры 1b4c756151 - [esc]LuaQ.
Snusmumriken
Можно попробовать подобрать те правки, которые сохранят чексумму MD5, например. Ну, долго и муторно пробовать менять тот адрес, пока чексумма не совпадёт.
Ruslan
байткодные файлы были в .car (corona) архиве я просто взял распаковал и запаковал без изминений - крах
Snusmumriken
С вероятностью около 60% чексумма md5. Посчитай чексумму скомпилированного скрипта, сравни с тем что записано в приложении. После фикса ссылок - снова посчитай и перезапиши чексумму.
Snusmumriken
Car-архив может быть какой-то особенный, не?
Ruslan
https://coronalabs.com/
Snusmumriken
Если что, я - вообще не разбираюсь в декомпиляции приложений, на своём опыте успел только чуть-чуть поковырять сурцы нескольких android-приложений (smali2java), дабы сэмулировать местные API-обращения к серверу. Детище 2d-движка короны, да?
Snusmumriken
Ну тогда возможно получится вскрыть короной же.
Snusmumriken
Блин, меня приглашали работать разработчиком этого движка, а я не пошёл. Мог бы чуть больше сказать ))))
Ruslan
Ну тогда возможно получится вскрыть короной же.
я вскрывал анпакером короны писаный на питоне https://github.com/0BuRner/corona-archiver
Anonymous
https://t.me/itliba
Kirill
Как продолжить работу со стеком после прерывания обработки по luaL_error.
Anonymous
gdb> info frames ? ;)
Anonymous
gdb> frame [0-9]
Kirill
Оказалось свои либы несколько раз биндил
Tverd
Ребята, а подскажите для вдохновения, куда посмотреть для описание игровых сцен на луа? типа DSL для сцен?
fgntfg
например
Tverd
там можно только под МАК и это JSON
fgntfg
где? в короне?
Tverd
ну да, композер, который позволяет рисовать сцены был под мак, он был глючный и вообще пипец.
fgntfg
это другое
Tverd
дык это просто создание сцены на луа, это понятно, я под корону и пишу
Tverd
а хотелось бы DSL
fgntfg
кажется на хабре было чтото про архитектуру.
Tverd
типа group 'first' { image 'one.png' { x = 10, y = 20 } }
fgntfg
так чтоб прям DSL был, я не видел, но и не искал особо.
fgntfg
можно набросать свой