Snusmumriken
Блин, это всё - мелкие частности.
Имхо стоит смотреть глобальнее:
1. Проблемы у конкретных пользователей, и их реальные причины (проблемы с головой/памятью? недостаток материалов обучения/желания учиться?)
2. Библиотеки, их количество и качество.
3. Реальная необходимость использования и невозможность избежать.
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
я выпилил функцию, нашлась другая
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
Ruslan
байткодные файлы были в .car (corona) архиве
я просто взял распаковал и запаковал без изминений - крах
Snusmumriken
С вероятностью около 60% чексумма md5. Посчитай чексумму скомпилированного скрипта, сравни с тем что записано в приложении.
После фикса ссылок - снова посчитай и перезапиши чексумму.
Snusmumriken
Car-архив может быть какой-то особенный, не?
Ruslan
Ruslan
https://coronalabs.com/
Snusmumriken
Если что, я - вообще не разбираюсь в декомпиляции приложений, на своём опыте успел только чуть-чуть поковырять сурцы нескольких android-приложений (smali2java), дабы сэмулировать местные API-обращения к серверу.
Детище 2d-движка короны, да?
Snusmumriken
Ну тогда возможно получится вскрыть короной же.
Snusmumriken
Блин, меня приглашали работать разработчиком этого движка, а я не пошёл. Мог бы чуть больше сказать ))))
Anonymous
https://t.me/itliba
Kirill
Как продолжить работу со стеком после прерывания обработки по luaL_error.
Anonymous
gdb> info frames ? ;)
Anonymous
gdb> frame [0-9]
Kirill
Оказалось свои либы несколько раз биндил
Tverd
Ребята, а подскажите для вдохновения, куда посмотреть для описание игровых сцен на луа? типа DSL для сцен?
fgntfg
fgntfg
например
Tverd
там можно только под МАК и это JSON
fgntfg
где? в короне?
Tverd
ну да, композер, который позволяет рисовать сцены был под мак, он был глючный и вообще пипец.
fgntfg
fgntfg
это другое
Tverd
дык это просто создание сцены на луа, это понятно, я под корону и пишу
Tverd
а хотелось бы DSL
fgntfg
кажется на хабре было чтото про архитектуру.
Tverd
типа
group 'first' {
image 'one.png' {
x = 10,
y = 20
}
}
fgntfg
так чтоб прям DSL был, я не видел, но и не искал особо.
fgntfg
можно набросать свой