admin / 07.05.2018

Dcoder, Mobile Compiler IDE скачать на Андроид бесплатно

Некоторым приходит в голову программировать для Android непосредственно на самом устройстве, а не на домашнем ПК. Это может быть действительно удобно для пользователей смартбуков, или например для студентов, вынужденных пользоваться компилятором C в экстремальных условиях.

Конечно, в качестве компилятора стоит выбрать gcc, так как он свободен и является стандартным компилятором для операционных систем на базе Linux. Итак, установить gcc на Android вполне реально, если у вас есть права root.

  • Сначала требуется установить пакетный менеджер botbrew, это самая простая часть задачи, ведь он есть в Play Market.
  • Далее, запустить его и установить с его помощью пакет gcc (он будет называться примерно так: gcc-4.7).

Это все, что нужно было сделать, и gcc для Android установлен на ваш девайс. Пользоваться им можно, запустив в терминале:
/data/botbrew/bin/botbrew gcc /sdcard/sources/hello.c -o /data/botbrew/root/hello
где
/sdcard/sources/hello.c — путь к файлу с исходным кодом.
/data/botbrew/root/hello — путь к файлу, куда gcc сохранит откомпилированную программу. Не стоит указывать для этого директорию на карте памяти, если она отформатирована в FAT. Для того чтобы запустить ее надо просто ввести путь файла в терминал и нажать ввод.

Также интересным вариантом будет установка полноценного дистрибутива линукс в chroot, который предоставит заодно и gcc. Естественно для этого тоже нужны права root.

Конечно, в Play Market есть и другие компиляторы C для Android, за деньги и бесплатные, но они не нужны если есть gcc.

См. также:

C4droid (C/C++ compiler) — это компилятор C/C++ для Android устройств. C4droid имеет почти полную поддержку языка C.

Скачать игры на андроид бесплатно

Пишите свои приложения и запускайте их прямо с вашего Android устройства. Это приложение использует TCC и uClibc, поэтому оно имеет полную поддержку ANSI C и некоторую поддержку ISO C99. C4droid может быть использован в образовательных целях и для практики на языке Си. Для поддержки C++ вам необходимо установить плагин GCC C4droid. Вместо «iostream.h» используйте «iostream».

 

 

Google Play: https://play.google.com/store/apps/details?id=com.n0n3m4.droidc

 

 

Плагин GCC for C4droid версия 4.7.1:

 

Установите плагин, запустите его и нажмите кнопку Install to internal memory.

На нашем сайте можно скачать взломанную C4droid (C/C++ compiler) на Андроид .

Реверс-инжиниринг

Вы потеряли исходник своей программы и вам нужно восстановить код. Вы скачали программу с вирусом и хотите узнать, что он делает.

Программы под Android распространяются в архивах. Эти архивы имеют расширение «.apk». Такие файлы не шифруются и являются по сути файлами «zip». Можете переименовать apk-файл в zip, чтобы убедиться в этом.

Вам необходимо поковыряться в APK-файле и получить какие-то данные. Можно потренироваться на кошках. Возьмём свою программу «Hello Kitty», найдём его apk-файл в папке проекта app\build\outputs\apk и переместим в отдельную папку для опытов.

Распаковав архив, вы можете увидеть структуру приложения и встретить знакомые файлы. И даже извлечь некоторые файлы для просмотра. К примеру, в папке res/drawable-hdpi-v4 я нашёл свою картинку pinkhellokitty.png. Казалось бы, вот оно — счастье. Но погодите радоваться. Если с изображениями проблем нет, то с чтением XML-файл вас ждёт облом. Какие-то строки вам видны, но в целом текст совершенно нечитаем. Поэтому сначала пойдём другим путём.

Так как пользовательские приложения для Android выполняются в java-машине, то APK-файлы наследуют все характерные черты JAR-файлов.

Содержимое архива обычно выглядит примерно так:

Каталог META-INF содержит:

CERT.RSA — сертификат приложения
CERT.SF — контрольные суммы файлов ресурсов (картинок, звуков и т.д.)
MANIFEST.MF — служебная информация, описывающая сам apk-файл

Каталог res содержит ресурсы — значки в нескольких разрешениях, описание размещения элементов на форме в xml-файле.

AndroidManifest.xml — служебная информация о приложении. В этом файле содержатся и так называемые «permission» — разрешения, которые требуются для работы приложения (например, доступ к сети или доступ к телефонной книге).

classes.dex — исполняемый код приложения. Именно этот файл интересует нас в первую очередь.

resources.arsc — таблица ресурсов. В этом файле собраны xml-описания всех ресурсов.

Вот и вся краткая информация, которую нужно знать, приступая к разбору вредоносных программ под Android.

Теперь рассмотрим популярные утилиты, используемые для изучения программ.

Apktool

Для начала скачиваем утилиту Apktool, который представляет собой jar-файл с номером версии. Для удобства переименовываем его в короткий вид apktool.jar, так как будем работать в командной строке. Подопытный файл разместите в той же папке с утилитой.

Запускаем в окне командной строки утилиту с флагом d:

Появится отдельная папка, имя которой будет совпадать с именем вашего файла. Зайдите в неё и исследуйте файлы. Вы заметите, что XML-файлы теперь доступны для чтения в нормальном виде. Таким образом, мы можем открыть файл activity_main.xml и узнать разметку своей активности.

В папке вы также найдёте множество системных файлов, которые проект тянет с собой при создании приложения. На них не обращаем внимания. Вам нужно искать только те файлы, которые создавали программисты, хакеры, вы.

При изучении своей или чужой программы вам надо посмотреть на файл манифеста, чтобы узнать используемые разрешения, список активностей, сервисов и т.д. А в папке res изучить все ресурсы, относящиеся к программе.

Моя тестовая программа была слишком проста. В других примерах могут быть дополнительные папки, например, assets, которая может содержать файлы, картинки и т.д. Там могут находиться html-файлы с сценариями на Javascript, которые ведут на вредные страницы.

В папке smali находятся уже файлы классов с тем же расширением smali. Код выглядит как в ассемблере и при желании можно понять листинг, но очень неудобно. Оставив файлы пока в покое.

Первую часть задачи мы выполнили.

dex2jar

Вторая утилита dex2jar, позволяет преобразовать файлы dex в jar. Скачиваем последнюю версию и распаковываем архив утилиты. Утилита содержит множество файлов для различных ситуаций. Можете поизучать их на досуге.

Запускаем команду d2j-dex2jar.bat app-debug.apk и получаем на выходе файл app-debug-dex2jar.jar. Это стандартный тип файлов для Java, но для нас пока не слишком полезный.

Установка gcc в Android

Тем не менее мы выполнили второй шаг и получили промежуточный файл.

JD-GUI

Утилита, которая поможет нам прочитать jar-файл, называется JD-GUI. На странице разработчика можно найти ссылки на плагины к средам разработки и даже онлайн-версию.

Скачиваем последнюю версию и распаковываем архив. Там всего два файла — исполняемый exe-файл и readme.txt

Запускаем программу и перетаскиваем на него jar-файл. И весь код на ладони.

Обратите внимание, что код немного будет отличаться. Например, код в студии:

Сравните с кодом в утилите.

Иными словами, вместо констант из класса R подставляются их реальные значения. Вам придётся попотеть, чтобы сопоставить данные. Но вы справитесь, я в вас верю.

Burp Suite

Burp Suite позволит вам просматривать HTTP-траффик на эмуляторе. Скачайте последнюю версию.

Далее следует настроить прокси и другие параметры.

Разбор вредоносной программы

Источник: Разбор вредоносной программы под Android на примере Trojan-Spy.AndroidOS.Zbot.a / Android.Smssniffer / Android/SpySMS / AndroidOS_SMSREP.B

В качестве примера возьмем программу suspicious.apk, который детектируется разными антивирусами как вредоносная программа.

Чтобы лучше понять, что именно искать, нужно проанализировать файл «AndroidManifest.xml» — посмотреть, какие именно разрешения требуются анализируемому приложению. Данный файл бинарный, а не обычный текстовый xml. Для того, чтобы его прочитать нужно воспользоваться консольной утилитой «aapt» из комплекта Android SDK. Она находится в каталоге «platform-tools». Так как графического интерфейса нет, то команду нужно вводить в консоли. Например, для Windows:

C:\android-sdk-windows\platform-tools\aapt.exe l -a C:\incoming\suspicious.apk

Разумеется, вы должны подставить свои пути. В Linux команда будет такой же с очевидными отличиями (не будет букв дисков и расширения «exe» у утилиты). Для большего удобства вывод можно перенаправить в файл:

C:\android-sdk-windows\platform-tools\aapt.exe l -a C:\incoming\suspicious.apk>>C:\incoming\manifest.txt

В файле нужно найти секцию «Android manifest» и искать перечисление разрешений. В анализируемом файле это выглядит так:

«android.permission.READ_PHONE_STATE» (Raw: «android.permission.READ_PHONE_STATE») «android.permission.INTERNET» (Raw: «android.permission.INTERNET») «android.permission.» (Raw: «android.permission.RECEIVE_SMS»)

Из этой информации становится понятно, что программа может получать состояние телефона (сюда включаются, например «телефон в режиме вызова», «телефон в режиме принятия данных»). Это разрешение нужно и для получения номера телефона, на котором запущена программа, работать с сетью и мониторить приход СМС. На этих аспектах и нужно сосредоточить внимание при дальнейшем анализе.

Для того, чтобы получить доступ к коду нужно выполнить два шага — преобразовать apk-файл в jar-файл и декомпилировать полученный байткод в более понятный для человека вид.

Воспользуемся конвертером «dex2jar»:

C:\dex2jar\dex2jar.bat C:\incoming\suspicious.apk

Сконвертированный файл будет находится в том же каталоге, что и оригинальный файл. К его имени будет добавлено «.dex2jar.jar», то есть в данном примере это будет «suspicious.apk.dex2jar.jar».

Этот файл можно открыть декомпилятором. Иерархия пакета в окне декомпилятора выглядит так:

На этом подготовительные шаги заканчиваются — дальнейший успех зависит только от вашего знания Java и умения пользоваться поисковиком.

К счастью, экземпляр выбранный для примера имеет довольно скромные размеры — финальный jar всего 7,01 KB.

В программе всего шесть классов. Исключим те, которые не представляют интереса. Это класс R, в котором только перечислены идентификаторы всех ресурсов. Так же из рассмотрения можно исключить класс Config, в котором содержится конфигурация сборки.

Рассмотрим подробнее оставшиеся три класса.

Activation

Этот класс срабатывает по событию onCreate(), то есть сразу после старта приложения.

TelephonyManager localTelephonyManager = (TelephonyManager)getSystemService(«phone»); — создает localTelephonyManager, в которую помещает данные об устройстве.

str1 = localTelephonyManager.getDeviceId(); — выбирает из полученных данных идентификационный номер устройства и помещает его в строку str1

Дальше идет цикл, который делит DeviceId на кусочки по четыре цифры, вставляя между ними дефис «-«, то есть из XXXXXXXXXXXXXXXX получается XXXX-XXXX-XXXX-XXXX.

Полученную строку цифр и дефисов передают в TextView с идентификатором 2131034112.

SmsReciever

Этот класс срабатывает при приходе СМС-сообщения, событие onReceive().

В задачу этого класса входит отслеживать входящие смс и в случае обнаружения запускать класс MainService, передавая ему указатель на новое пришедшее сообщение.

MainService

Этот класс довольно велик, поэтому не стану приводить его целиком. Сразу после вызова запускает субкласс «SmsBlockerThread», который блокирует уведомление о поступившем СМС, чтобы пользователь не был оповещен о новом входящем СМС.

Затем входящее СМС обрабатывается таким образом:

String str1 = localSmsMessage.getOriginatingAddress(); — номер телефона-получателя (то есть номер телефона, на котором установлен троянец) помещается в переменную str1.

String str2 = localSmsMessage.getMessageBody(); — тело сообщения помещается в переменную str2

Затем создаются связанные пары localBasicNameValuePair1 и localBasicNameValuePair2 в которые помещаются значения

f0=<номер телефона> b0=<текст сообщения>

Эти пары сохраняют в массив localArrayList, в который позже добавляют пару localBasicNameValuePair3, представляющую собой id=<id устройства>

При этом, как видите, DeviceId получается заново, а не используется то, что было получено в классе Activation. Заканчивается тем, что вызывается метод postRequest() из последнего класса ServerSession:

В качестве параметра передается тот самый массив пар, в котором номер телефона, содержимое СМС и идентификатор устройства.

ServerSession

Этот класс имеет два метода: initUrl(), который возвращает часть ссылки «(http://softthrifty.com/security.jsp)»:

и большой метод postRequest(), который вызывался из класса MainService. Несмотря на размер, задача postRequest() проста — отправить на сервер по ссылке, возвращаемой методом initUrl(), данные, добавив пары из массива, собранного в MainService.

То есть всего лишь обратиться по ссылке:

(http://softthrifty.com/security.jsp?f0=<номер телефона>&b0=<текст сообщения>&id=<id устройства>)

Итог

Итак, данный троянец перехватывает СМС и отправляет на сервер запрос, в котором передает номер зараженного телефона, содержимое СМС и идентификатор зараженного телефона. Такое поведение может быть признаком банковского троянца, атакующего двухфакторную авторизацию. Для успешной атаки требуется выполнение таких условий:

1) злоумышленник должен заразить компьютер жертвы, чтобы перехватить данные для он-лайн банкинга;
2) злоумышленник должен заразить телефон жертвы для перехвата СМС с кодом подтверждения от банка;
3) злоумышленник должен каким-то образом связать пользователя зараженного компьютера и зараженного телефона, чтобы знать, от каких учетных данных он-лайн банкинга данный код подтверждения;

В силу своих размеров и очевидности производимой деятельности такой образец хорошо подходит для демонстрации базовых приемов разбора вредоносных программ под Андроид.

Реклама

Статья проплачена кошками — всемирно известными производителями котят.

Если статья вам понравилась, то можете поддержать проект.

Альтернативно, вы можете использовать -cfg=arc-lzma-x64[-filter].ini опцию, чтобы изменить INI-файл для одной команды.

Восстановление системы может вернуть системные файлы и программы на вашем компьютере к тому времени, когда все работало нормально. Microsoft постоянно обновляет и улучшает системные файлы Windows, связанные с ARC.EXE.

как изменить формат файла с exe на apk?

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

Исправлено обнаружение типа файла для несжимаемых данных: теперь оно возвращает «$precomp $compressed». И, в заключение, -max использует precomp для всех файлов – так как вы хотели.

Совет 1: Как изменить иконку exe файла

Исправлено: когда дата файла позже 2038 года, распаковка архива терпела неудачу. 1) 22 ГБ файл из LostPlanet2 сжат до 7 ГБ и требует 2 ГБ ОЗУ для распаковки.

Данный файл EXE имеет рейтинг популярности 1 звезд и рейтинг безопасности «Неизвестно». Файлы EXE («исполняемые»), такие как ARC.EXE – это файлы, содержащие пошаговые инструкции, которым компьютер следует, чтобы выполнить ту или иную функцию.

Это делает исполняемые файлы одними из наиболее полезных видов файлов в операционной системе Windows.

Установка gcc в Android

В дополнение, вирусы могут заразить, переместить или повредить существующие файлы EXE, то впоследствии может привести к сообщениям об ошибках, когда исполняется dBRIEF или связанные программы.

Причины ошибок в файле ARC.EXE

Если вам требуется копия файла ARC.EXE, настоятельно рекомендуется получить ее непосредственно у Solution Systems. В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows.

Со временем ваш компьютер накапливает ненужные файлы в связи с обычным интернет-серфингом и повседневным использованием компьютера. Совет: Хотя утилита Очистки диска является прекрасным встроенным инструментом, она удаляет не все временные файлы с вашего компьютера.

Если утилита проверки системных файлов обнаружила проблему в EXE или другом важном системном файле, она предпримет попытку заменить проблемные файлы автоматически.

База файлов System Explorer

Опция «solid =0″ в arc.ini позволяет нам сжимать Мультимедиа файлы типа WAV, BMP в не солид-режиме, который необходим для большинства внешних ММ-упаковщиков. Проверьте, пожалуйста, увеличивает ли оно скорость операций распаковки, особенно для архивов, содержащих тысячи файлов.

Также, так как это релиз для широкой публики, он беспрепятственно перезаписывает arc.ini и arc.groups файлы в вашем инсталляционном каталоге.

Пожалуйста, обратите внимание, что INI-файлы обеспечивают множество командных настроек, от file-to-file до stdin-to-stdout режима. Эта версия улучшает CPU время. В следующей версии я попробую отображаемые в память файлы, что также существенно улучшит скорость Ввода/Вывода.

Каждое программное приложение на вашем компьютере использует исполняемый файл: ваш веб-браузер, текстовый процессор, программа для создания таблиц и т.д.

Что из себя представляют файлы EXE?

Таким образом, любой исполняемый файл, который вы загружаете на свой компьютер, необходимо проверить на вирусы перед открытием, даже если вы считаете, что он получен из надежного источника.

Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка ARC.EXE. Запуск WinSweeper раз в день (при помощи автоматического сканирования) гарантирует, что ваш компьютер всегда будет чист, будет работает быстро и без ошибок ARC.EXE, связанных с временными файлами.

  • @echo off start <filename>.exe
  • Замените <filename> на название вашего файла EXE, значок которого вы хотите изменить.

Это не из-за того, что я не планируют сделать это, а потому, что этот релиз добавляет больше новых возможностей, чем исправляет ошибки. Наконец, клавиша Escape теперь может быть использована для выхода из программы (не для режима Файлового менеджера), подобно Alt-F4.

  • Главная
  • Файлы

    —>

  • Продукты
  • Компании
  • О программе

Это вызовет ошибки CRC при распаковке, даже если архив в порядке. В GUI FreeArc.exe, вы можете использовать только режим file-to-file, как настроено в arc-lzma-x64.ini.

ARC.EXE представляет собой разновидность файла EXE, связанного с dBRIEF, который разработан Solution Systems для ОС Windows.

Читайте также:

Другие посетители сайта сейчас читают:

This entry was posted in Новости медицины and tagged сироп алтея by Nikitin. Bookmark the permalink.

Я думаю, все знают, что Android приложения в большинстве своем написаны на языке программирования Java. Со времен выхода первой версии Android, перед разработчиками и энтузиазмами стояла задача — не только компилировать из Java файлов APK файл, для загрузки его в смартфон, но и выполнить обратное действие — декомпилировать APK файл Android приложения в набор Java файлов.

Зачем нужно декомпилировать APK файл в набор Java-файлов? Самый популярный ответ — посмотреть, как работает то или иное приложение. При декомпиляции приложения, если оно не было обфусцировано вы получите полный набор Java файлов с исходным кодом. Кроме того, декомпиляция Android приложений необходима для его русификации. Вы с легкостью можете перевести res файл на русский язык, а потом заново его упаковать в APK.

Но большинству людей нужна только декомпиляция приложений.

Установка gcc на Android

Для этого вышло много различных инструментов: dex2jar, JavaDecompiler и другие. Все они требовали установленной Java-машины на компьютере, а также наличия установленного Android SDK. Для декомпиляции простого Android приложения, особенно, если вы делаете это в первый раз, потребовалось бы огромное количество действий, а также скачивания гигабайт данных.

Можно ли сделать декомпиляцию Android приложения проще? Я думаю да. С развитием облачных технологий, многие вещи делаются гораздо удобнее. Так, для декомпиляции Android приложения можно воспользоваться онлайн сервисом под названием Android APK Decompiler.

Использовать облачный онлайн сервис для декомпиляции APK файла очень просто. Вам достаточно загрузить файл и дождаться завершения операции. Обычно, декомпиляция приложения таким методом занимает не более пяти минут.

Конечно же, если вы хотите потом собрать приложение, то Вам придется воспользоваться полным набором утилит, которые придется устанавливать на компьютер.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*