smali

суббота, 30 ноября 2013 г.

Олег Плисс — Виртуальные машины. Часть 1

Олег Плисс — Виртуальные машины. Часть 2

Олег Плисс — Виртуальные машины. Часть 3

Олег Плисс — Виртуальные машины. Часть 4

Java Day Kiev: "Power of Gradle" Evgeny Borisov

Java Day Kiev: "The Dark Arts of Performance Tuning" Leonid Igolnik (EN)

Java Day Kiev: "Аварийный дамп — «черный ящик» упавшей JVM" Andrei Pangin

воскресенье, 24 ноября 2013 г.

UA Mobile 2013 Мой доклад "Reverse engineering of Android applications. What is behind?"

Inside DVM internals

Inside DVM tools

Inside DVM basics

Inside DVM Intro

воскресенье, 17 ноября 2013 г.

Reverse engineering of Android application. What is behind?


Reverse engineering - это получение и исследование исходного кода приложения.



Мы обсудим следующие темы:

- basics
-- why java is vulnerable?
-- why android apps are vulnerable?
-- legal issues to consider when decompiling
-- protecting yourself
- tools (for decompilation and disassembling)
- DVM byte code
- dex file format
- obfuscation

В ходе доклада будут "изнутри" рассмотрены некоторые популярные Андроид-приложения. Соответствующий пакет будет скачан со смартфона и подвергнут декомпиляции - таким образом нам удастся проанализировать исходный код на Java

http://www.uamobile.org/question/reverse-engineeging-android-aplication-what-behind



понедельник, 11 ноября 2013 г.

Reverse engineeging of Android aplication. What is behind?




Reverse engineeging - это получение и исследование исходного кода приложения.
Мы обсудим следующие темы:
- what is reverse engineeging?
- why reverse engineeging?
- history and basics of decompilers
- when reverse engineeging is legal?
- how and why to protect your code?
- inside jvm internals
- class file structure
- useful tools
- practical examples
В ходе доклада будут "изнутри" рассмотрены некоторые популярные Андроид-приложения. Соответствующий пакет будет скачан со смартфона и подвергнут декомпиляции - таким образом нам удастся проанализировать исходный код на Java.

16:00 – 16:45

23 ноября в Киеве при участии Киевского национального университета технологии и дизайна, при поддержке Украинского союза промышленников и предпринимателей состоится конференция, посвященная  разработкам мобильных приложений и сервисов — UA Mobile  2013.

пятница, 6 сентября 2013 г.

О менеджменте и программировании. Жизненное.


По большому счёту ещё пару лет назад я планировал немного двинутся в сторону управления командой / управления проектами.
Но я собирался вернуться к разработке.
Что сейчас и делаю.

Проектный менеджмент мне очень понравился.
Есть внутрення готовность хоть завтра взять небольшой проект.
И развитие в этом направлении забрасывать не собираюсь.

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

Плюс ещё один определяющий фактор - как я заметил, сейчас довольно низкий спрос на PM на рынке.
И финансово почему-то это довольно скромно оплачивается.
Хотя довольно странно - работа сложная и ответственная.
И во многом определяет успех поекта.
Меня такая ситуация немного пугает.
Неужели никому не нужны хорошие менеджеры?
А если нужны - откуда они появятся?

Впрочем - это скорее риторические вопросы.
Прошу прощения за эмоциональность.
Просто как-то зацепило.

Сейчас для меня основное направление- развитие в направлении system architect.
И решил для себя впредь если и заниматься проектным менеджментом - не более 50%.
В любом случае хочу оставаться разработчиком (в перспективе - архитектором).

четверг, 5 сентября 2013 г.

Inside JVM. Step 2. (EN)

Decided to dig into JVM byte code again .
Took a quick look at jvm spec, javap, reJ, ClassEditor.

Next steps - to build a very simple java based jvm.
In educational purposes.
Even not a one jvm, but a series of jvm when next one is more difficult then previous one and includes presentations.

When the project will be ready - we could play with something more interesting based on it.
The main thing - the maximum simplicity and clarity.
OS - Windows.
Minimum dependencies on external libraries.

However, the main goal - to make a cool hands-on course on jvm internals.
To learn out jvm internal (at least that what I want).
Plus - to help everyone interested in the topic.

We could start with the parser of Class files.
Then make a small set of simple processing of the + stack.
Then add the object creation and the heap.
And so on.
Actually we could ctreate a high level plan before starting implementation.

And vice versa - the code and presentation will will explain one another.
And then maybe we could write a book based on the project.

Here are examples of a similar projects / articles (but not exactly what I want).

Home Made Java Virtual Machine
http://www.codeproject.com/Articles/24029/Home-Made-Java-Virtual-Machine

small java jvm
http://igormaznitsa.com/projects/mjvm/index.html

Home Made Java Virtual Machine
http://www.codeproject.com/Articles/24029/Home-Made-Java-Virtual-Machine

How to create your own virtual machine - Part 2
http://www.codeproject.com/Articles/61924/How-to-create-your-own-virtual-machine-Part-2

companion to the book Inside the Java Virtual Machine
http://web.informatik.uni-bonn.de/IV/martini/Lehre/Veranstaltungen/SS00/InformatikII/JavaSimulation/index.html

Is there a desire to give some suggestions?
Is there a desire to participate in a "project"?

[Inside JVM. Step 2.] Давайте напишем jvm.

Решил снова покопать байт код.
Пока пролистал jvm spec, javap, reJ, ClassEditor.

Дальше хочется построить простейшую jvm на java.
В учебных целях.
Вернее даже не одну jvm, а серию итераций jvm с постепенным усложнением и с поясняющими презентациями.

Когда проект будет готов - можно будет на  его основе "играться" с чем-то более интересным.
Главное - максимальная простота и наглядность.
ОС - Windows.
Минимум зависимостей от сторонних библиотек.

Однако основная цель - сделать классный практический курс по jvm internals.
Чтоб разобраться самому (по крайней мере я о себе).
Плюс - помочь всем, кого интересует тема.

Начать можно с парсера .class файлов.
Затем сделать простейшую обработку небольшого набора команд + стек.
Затем добавить создание объектов и heap.
И так далее.

И наоборот - код и работающие примерчики будут пояснять презентации )
А потом возможно можно будет написать книжку на основе проекта.

Вот примеры похожего (но всё же не совсем то).

Home Made Java Virtual Machine
http://www.codeproject.com/Articles/24029/Home-Made-Java-Virtual-Machine

small java jvm
http://igormaznitsa.com/projects/mjvm/index.html

Home Made Java Virtual Machine
http://www.codeproject.com/Articles/24029/Home-Made-Java-Virtual-Machine

How to create your own virtual machine -- Part 2
http://www.codeproject.com/Articles/61924/How-to-create-your-own-virtual-machine-Part-2

companion to the book Inside the Java Virtual Machine
http://web.informatik.uni-bonn.de/IV/martini/Lehre/Veranstaltungen/SS00/InformatikII/JavaSimulation/index.html

Есть желание подсказать куда лучше копать?
Есть желание поучаствовать в "проекте"?