![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#341
|
|
Newbie ![]() Группа: Пользователи Сообщений: 9 Регистрация: 10.8.2012 Из: Санкт-Петербург Пользователь №: 1252 ![]() |
Код aTheAnswerIsS DCB "The answer is: %s",0xA,0; DATA XREF: main+1B0o .rodata:0001280C ; .text:off_840Co .rodata:0001281F ALIGN 0x10 .rodata:00012820 DCB 0x10 .rodata:00012821 DCB 0x10 .rodata:00012822 DCB 0x10 .rodata:00012823 DCB 8 .rodata:00012824 DCB 0xA .rodata:00012825 DCB 0xA .rodata:00012826 DCB 0xA .rodata:00012827 DCB 0 .rodata:00012828 DCB 0x2B; + .rodata:00012829 DCB 0 .rodata:0001282A DCB 0x2D; - .rodata:0001282B DCB 0 .rodata:0001282C DCB 0x20 .rodata:0001282D DCB 0 .rodata:0001282E DCB 0x30; 0 .rodata:0001282F DCB 0x78; x .rodata:00012830 DCB 0 .rodata:00012831 DCB 0x30; 0 .rodata:00012832 DCB 0x58; X .rodata:00012833 DCB 0 .rodata:00012834 DCB 0x28; ( .rodata:00012835 DCB 0x6E; n .rodata:00012836 DCB 0x69; i .rodata:00012837 DCB 0x6C; l .rodata:00012838 DCB 0x29; ) .rodata:00012839 DCB 0 .rodata:0001283A DCB 0x28; ( .rodata:0001283B DCB 0x6E; n .rodata:0001283C DCB 0x75; u .rodata:0001283D DCB 0x6C; l .rodata:0001283E DCB 0x6C; l .rodata:0001283F DCB 0x29; ) .rodata:00012840 DCB 0 .rodata:00012841 DCB 0 .rodata:00012842 DCB 0 .rodata:00012843 DCB 0 Хотя наверное это просто адреса строки |
|
|
![]()
Сообщение
#342
|
|
Newbie ![]() Группа: Пользователи Сообщений: 3 Регистрация: 10.8.2012 Пользователь №: 1259 ![]() |
Как найти ответ в 12 задании???
|
|
|
![]()
Сообщение
#343
|
|
Newbie ![]() Группа: Пользователи Сообщений: 15 Регистрация: 10.8.2012 Пользователь №: 1257 ![]() |
Хм, странно это. Надо тогда поподробнее посмотреть, что же делает та функция, которая выдает ответ. Сейчас на домашний комп иду поставлю и гляну. Посмотрел в отладчике на ведроиде - еще в самом начале программы в стек пишется "emiT", " si ","\0won", причем первый кусок прямо прописан в программе, остальные получаются преобразованиями. Перед вызовом printf эти три куска текста просто переворачиваются и получается строка "Time is now", так что по идее разным вариантам тут взяться особо неоткуда ![]() |
|
|
![]()
Сообщение
#344
|
|
Newbie ![]() Группа: Пользователи Сообщений: 15 Регистрация: 10.8.2012 Пользователь №: 1257 ![]() |
Причем под ведром у меня вообще выполнилась непатченная версия, а проверка, судя по всему, производится по строчке с BogoMIPS (второй) из /proc/cpuinfo, последний символ должен быть "1". Если я все правильно понял...
|
|
|
![]()
Сообщение
#345
|
|
Newbie ![]() Группа: Пользователи Сообщений: 9 Регистрация: 10.8.2012 Из: Санкт-Петербург Пользователь №: 1252 ![]() |
Посмотрел в отладчике на ведроиде - еще в самом начале программы в стек пишется "emiT", " si ","\0won", причем первый кусок прямо прописан в программе, остальные получаются преобразованиями. Перед вызовом printf эти три куска текста просто переворачиваются и получается строка "Time is now", так что по идее разным вариантам тут взяться особо неоткуда ![]() вот да, похоже на то, потому что как раз три строки грузятся сначала в регистры Код .text:00008370 LDR R12, [SP,#0x470+var_1C] .text:00008374 LDR R0, [SP,#0x470+var_14] .text:00008378 LDR LR, [SP,#0x470+var_18] а потом уже пишутся в память и выводятся Код .text:000083B8 STR R12, [SP,#0x470+var_1C]
.text:000083BC STR R2, [SP,#0x470+var_18] .text:000083C0 STR R3, [SP,#0x470+var_14] .text:000083C4 BL printf |
|
|
![]()
Сообщение
#346
|
|
Newbie ![]() Группа: Пользователи Сообщений: 15 Регистрация: 10.8.2012 Пользователь №: 1257 ![]() |
ну да, а еще раньше, возле самой точки входа (main):
Код .text:0000821C LDR R3, =0x54696D65; Time
.text:00008220 ADD R0, SP, #0x470+var_30 .text:00008224 STR R3, [SP,#0x470+var_1C]; write to stack => emiT .text:00008228 ADD R3, R3, #0xCC000000 .text:0000822C ADD R3, R3, #0x5B0 .text:00008230 ADD R3, R3, #0xB .text:00008234 STR R3, [SP,#0x470+var_18]; write to stack => _si_ .text:00008238 ADD R3, R3, #0x4E000000 .text:0000823C ADD R3, R3, #0x60000 .text:00008240 ADD R3, R3, #0x3E0 .text:00008244 STR R3, [SP,#0x470+var_14]; write to stack => \0won |
|
|
![]()
Сообщение
#347
|
|
Newbie ![]() Группа: Пользователи Сообщений: 15 Регистрация: 10.8.2012 Пользователь №: 1257 ![]() |
Проверка производится следующая:
Открывается на чтение в текстовом режиме файл /proc/cpuinfo. Если открылся - проверяется с помощью fstatfs тип файловой системы, должен быть PROC_SUPER_MAGIC=0x9fa0. Если ок - читаются две строки. Должны прочитаться и длина второй строки быть больше 4 символов. У второй строки берется последний символ и сравнивается с 0x31="1", должен быть такой. Совершенно случайно работает под ведром, когда частота проца понижена до 300 МГц, BogoMIPS получается 299.11 и все ок, стоит частоту поднять, нагрузив смартфон - сразу выдает "Hay! PLEASE run me inside Ideco's jslinux!" ![]() |
|
|
![]()
Сообщение
#348
|
|
Newbie ![]() Группа: Пользователи Сообщений: 5 Регистрация: 10.8.2012 Пользователь №: 1253 ![]() |
А в самом эмуляторе если не выгражать этот файл, ответ можно получить? просто интресно.
|
|
|
![]()
Сообщение
#349
|
|
Junior Member ![]() ![]() Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240 ![]() |
Думаю на самом деле они хотели, что б скрипт запустили на их шлюзе
|
|
|
![]()
Сообщение
#350
|
|
Newbie ![]() Группа: Пользователи Сообщений: 7 Регистрация: 10.8.2012 Пользователь №: 1246 ![]() |
вы задрали 12й обсуждать, очевиндо уже со фчера днём было всё.
ЧТО С ТРОЯНОМ?!! орги так и не ответили внятно, одинаковый образ системы на 10м и 12м вопросе это ок или косяк. бл,бл,бл. |
|
|
![]()
Сообщение
#351
|
|
Newbie ![]() Группа: Пользователи Сообщений: 2 Регистрация: 11.8.2012 Пользователь №: 1266 ![]() |
Есть одна идея, но у кого-нибудь получилось перевести Read-only file system в rw?
|
|
|
![]()
Сообщение
#352
|
|
Newbie ![]() Группа: Пользователи Сообщений: 30 Регистрация: 10.8.2012 Пользователь №: 1264 ![]() |
Есть одна идея, но у кого-нибудь получилось перевести Read-only file system в rw? я слил образ винта, который используется для виртуалки. в этот образ можно положить свои файлы, и перенаправить все обращения на сайт к "поправленному образу" (есть идея как это сделать). монтироваться будет по прежнему r/o, но свои файлы там уже будут. кроме того, есть директория /tmp, которая доступна на запись. |
|
|
![]()
Сообщение
#353
|
|
Newbie ![]() Группа: Пользователи Сообщений: 30 Регистрация: 10.8.2012 Пользователь №: 1264 ![]() |
кстати, мне почему-то кажется, что ответ на 10-й вопрос может лежать совсем не внутри виртуалки
скажем, на сайте есть вот такой интересный скрипт |
|
|
![]()
Сообщение
#354
|
|
Newbie ![]() Группа: Пользователи Сообщений: 15 Регистрация: 10.8.2012 Пользователь №: 1257 ![]() |
на попытку выполнить mount -o remount,rw /dev/root / получаю:
Код hda: task_out_intr: status=0x41 { DriveReady Error } hda: task_out_intr: error=0x04 { DriveStatusError } ide: failed opcode was: unknown и так по кругу, зацикливается Кстати, а почему вообще монтируется r/o? в /etc/inittab перемонтирование r/w закомментировано: Код # Startup the system null::sysinit:/bin/mount -t proc proc /proc #null::sysinit:/bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW null::sysinit:/bin/mkdir -p /dev/pts null::sysinit:/bin/mkdir -p /dev/shm null::sysinit:/bin/mount -a null::sysinit:/bin/stty -F /dev/ttyS0 rows 30 null::sysinit:/bin/hostname -F /etc/hostname может, попробовать убрать комментарий, раз есть возможность подменить образ? |
|
|
![]()
Сообщение
#355
|
|
Newbie ![]() Группа: Пользователи Сообщений: 7 Регистрация: 10.8.2012 Пользователь №: 1246 ![]() |
1) ну и смысл перемонтирования рута в рид-райт? ну вот сделал ты это, и чо?
2) этот "интересный скрипт" просто стягивает с сайта файл q10.dat. он пустой. |
|
|
![]()
Сообщение
#356
|
|
Newbie ![]() Группа: Пользователи Сообщений: 30 Регистрация: 10.8.2012 Пользователь №: 1264 ![]() |
может, попробовать убрать комментарий, раз есть возможность подменить образ? я считаю, что не нужно пытаться корень примонтировать в rw. если есть необходимость писать то есть /tmp, туда и пишите (это ramdisk). а считаю я так вот почему. диск представляет из себя набор файликов по 64 килобайта каждый. в js на сайте подключается вот таким кодом: Цитата params.hda = { url: dir+"/hda%d.bin", block_size: 64, nb_blocks: 87 }; т.е. есть 87 файликов по 64 килобайта каждый и забирается все это по http. подменить можно на proxy сервере, который будет делать rewrite url'ов вида http://admin2012.ru/jslinux/default_q10/hdaXXXXXXXXX.bin, т.е. образ будет грузится с нашего сайта, а все остальное будет грузится с их сайта. вобщем, еще раз. для записи есть ramdisk, примонтированный в /tmp. в корневой файловой системе есть возможность подменить файлы, но сделать ее rw возможности нету. |
|
|
![]()
Сообщение
#357
|
|
Newbie ![]() Группа: Пользователи Сообщений: 30 Регистрация: 10.8.2012 Пользователь №: 1264 ![]() |
1) ну и смысл перемонтирования рута в рид-райт? ну вот сделал ты это, и чо? 2) этот "интересный скрипт" просто стягивает с сайта файл q10.dat. он пустой. да, со скриптом мимо тазика получилось. просто у оргов написано: Цитата включая даже неочевидные манипуляции с консолью (к примеру, анализ того, как она работает и как в нее передаются файлы и тд). и еще. троян -- это вероятно даже не процесс. ответ на 10-й вопрос: имя трояна (прошу заметить, не имя файла, это орги уточнили). другими словами, троян может даже не содержаться на файловой системе (а быть, например, резидентным кодом в памяти. откуда этот код туда попадает, это уже другой вопрос.) |
|
|
![]()
Сообщение
#358
|
|
Newbie ![]() Группа: Пользователи Сообщений: 10 Регистрация: 10.8.2012 Пользователь №: 1247 ![]() |
|
|
|
![]()
Сообщение
#359
|
|
Newbie ![]() Группа: Пользователи Сообщений: 7 Регистрация: 10.8.2012 Пользователь №: 1246 ![]() |
|
|
|
![]()
Сообщение
#360
|
|
Newbie ![]() Группа: Пользователи Сообщений: 30 Регистрация: 10.8.2012 Пользователь №: 1264 ![]() |
кто нибудь смог найти троян из 10-го вопроса?
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 16.6.2025, 8:14 | |
|