[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 184 | 26 | 35
Назад Вниз Каталог Обновить

Аноним 30/03/17 Чтв 01:49:27  149931733  
изображение.png (882Кб, 1022x566)
1490650638623[1].jpg (139Кб, 720x1208)
0x0ACE game
C неделю назад анон принес фотографию листа с ip адресом, перейдя по которому предлагается сыграть в некую игру.
После прохождения нескольких уровней прошедшие получали страницу с сообщением, что игра будет продолжена 30 марта в полночь (сегодня, 02:00 по московскому времени).

В этом треде успешно прошедшие в прошлый раз аноны вкатываются в игру, помогают, подсказывают.

Кто впервые видит, тоже вкатывайтесь. Сразу поясню, игра для программистов.
http://80.233.134.208/
Аноним 30/03/17 Чтв 01:49:47  149931750
1490685121404[1].png (316Кб, 833x623)
Заглушка, показанная прошедшим прошлые задания анонам. Висела до сегодняшнего дня.
Аноним 30/03/17 Чтв 01:51:52  149931823
бамп
Аноним 30/03/17 Чтв 01:53:37  149931898
бамп
Аноним 30/03/17 Чтв 01:55:57  149931990
бамп
Аноним 30/03/17 Чтв 01:58:50  149932093
>>149931733 (OP)
Как решить первое задание?
мимоинтеллектуал
Аноним 30/03/17 Чтв 02:00:14  149932142
>>149931733 (OP)
>http://80.233.134.208/
вспомнил как проигрывал с макак не умеющих в base64
Аноним 30/03/17 Чтв 02:00:48  149932171
>>149932142
Аноним 30/03/17 Чтв 02:01:25  149932197
Cicada уровня b, кота проебал, прости меня.
Аноним 30/03/17 Чтв 02:01:49  149932217
изображение.png (16Кб, 1011x507)
>>149932142
Тогда это им точно не решить.
я тоже хз, как это решать, с ассемблером дел не имел
Аноним 30/03/17 Чтв 02:02:39  149932247
Бляпасоныкакрешать
Аноним 30/03/17 Чтв 02:03:18  149932279
>>149932247
Конкретно пиши, что не понятно.
Аноним 30/03/17 Чтв 02:03:53  149932300
>>149932279
>/0bfaef6068392c9c77ed0ff9796039f30e6abc7a6a656de9783c8114768c7b47.html
Аноним 30/03/17 Чтв 02:04:42  149932339
>>149932279
Времени супер мало
Аноним 30/03/17 Чтв 02:05:10  149932350
>>149932300
Ну там же написан адрес, куда переходить. И что делать, написано.
Аноним 30/03/17 Чтв 02:05:51  149932379
>>149932339
Для ручного ввода, да.
Аноним 30/03/17 Чтв 02:06:22  149932399
>>149932217
Надо ВМку написать чтобы выполнить в ней бинарник. То что будет в регистрах при завершении ВМ - ответ.
Аноним 30/03/17 Чтв 02:07:52  149932455
>>149932399
Логично. Спасибо за подсказку. Сам решать будешь?
Аноним 30/03/17 Чтв 02:08:07  149932463
Бля, сделал бы если бы был ПК под рукой
Аноним 30/03/17 Чтв 02:08:51  149932488
>>149932455
Обязательно порешаю как будет время. Обожаю реверсинг.
Аноним 30/03/17 Чтв 02:10:47  149932547
>>149931733 (OP)
Заголовки блять эти менять.. Мне лень. Что там дальше?
Аноним 30/03/17 Чтв 02:11:29  149932579
>>149932488
С ассемблером дружишь? Я вообще в нем не секу, хотя из описания >>149932217 вроде бы, все понятно.
Попробую на php написать виртуальную машину, не знаю, что из этого выйдет.
Аноним 30/03/17 Чтв 02:13:13  149932635
>>149932488
>>149932547
PS. Там инструкции ассемблерные тоже описаны.
Интересно, это под какой то существующий компьютер или выдуманные?
Аноним 30/03/17 Чтв 02:14:43  149932677
>>149932547
как это делать правильно?
Аноним 30/03/17 Чтв 02:15:02  149932687
>>149932635
О, так там даже список инструкций есть? Я думал надо самому его составить реверснув бинарник. Тогда это вообще тривиальная задача.
Аноним 30/03/17 Чтв 02:16:07  149932724
бля, доверчивый
Аноним 30/03/17 Чтв 02:16:20  149932733
>>149932687
Не для того, кто сталкивается с ассемблером впервые.
Но я все равно постараюсь решить. Не зря же прошлые задания прошел.
Аноним 30/03/17 Чтв 02:18:18  149932804
>>149932677
Так там же и сказано как.
Аноним 30/03/17 Чтв 02:19:44  149932843
>>149932635
Вангую, что выдуманые или очень старые.
Аноним 30/03/17 Чтв 02:19:46  149932846
14904786286490.jpg (20Кб, 500x375)
Аноним 30/03/17 Чтв 02:23:45  149932995
14894351129510.jpg (135Кб, 1280x799)
давайте решайте, волшебники ебаные, интересно же
Аноним 30/03/17 Чтв 02:26:10  149933070
>>149932995
Спать уже надо идти.
Аноним 30/03/17 Чтв 02:28:04  149933128
Шарящие в ассемблере призываются в тред. Что значит imm, reg, reg+imm, reg+reg в mod байте? >>149932635
http://80.233.134.207/0x00000ACE.html
Аноним 30/03/17 Чтв 02:30:03  149933178
>>149933128
imm - immediate
reg - register
Это адресация. Типа mov r1, [r1 + 10] -> mov reg, [reg + imm]
Аноним 30/03/17 Чтв 02:31:32  149933215
>>149931733 (OP)
Гоу задудосим сервак?
Аноним 30/03/17 Чтв 02:32:08  149933229
>>149933215
Анус себе задудось, дудосер.
Аноним 30/03/17 Чтв 02:32:50  149933254
>>149933178
А можно чуточку поподробнее? Ассемблер для меня нов, никогда в него не вникал.
Аноним 30/03/17 Чтв 02:33:48  149933283
че это значит? http://80.233.134.207/0x00000ACE.html
Аноним 30/03/17 Чтв 02:35:00  149933318
>>149933283
Ключ какой то тебе нужно вписать в запрос к этой странице и получить ответ
Аноним 30/03/17 Чтв 02:35:11  149933322
>>149933283
Это для тех, кто прошел все задания, начиная с http://80.233.134.208/
Аноним 30/03/17 Чтв 02:37:16  149933389
>>149933254
Ну вот есть память. Чтобы что-то прочитать или записать в память нужно использовать адресацию:
mov r1, [0x1000] (прямая адресация) -> прочитать 2 байта из памяти по адресу 0x1000 (4096) в регистр r1

mov r1, 0x1000
mov r2, [r1] (косвенная адресация) -> тоже самое, только делается через регистр. Зачем? Ну, например если надо прочитать 100 байт из памяти, то можно сделать цикл в котором r1 будет увеличиваться и соотвественно будет читаться новый адрес памяти.

http://asmworld.ru/uchebnyj-kurs/014-rezhimy-adresacii/
Аноним 30/03/17 Чтв 02:37:24  149933397
>>149931733 (OP)
СИНИЙПРОГРАММИСТ
НЕ БУДИ МЕНЯ, Я ДВА ДНЯ НЕ СПАЛ
Я В ИГРЕ
Аноним 30/03/17 Чтв 02:39:20  149933450
в этом треде я буду постить картинки и вебм
Аноним 30/03/17 Чтв 02:39:39  149933459
14908180631450.webm (9678Кб, 1280x720, 00:00:30)
Аноним 30/03/17 Чтв 02:40:07  149933471
ace.jpg (183Кб, 580x476)
Вот вам подсказка
Аноним 30/03/17 Чтв 02:40:38  149933489
14905663658940.webm (6653Кб, 1280x720, 00:00:55)
Аноним 30/03/17 Чтв 02:41:19  149933505
>>149933389
Вроде понятно, спасибо. При прямой адресации данные берутся откуда? Из того bin файла?
Аноним 30/03/17 Чтв 02:41:31  149933515
14903530267920.jpg (197Кб, 434x665)
Аноним 30/03/17 Чтв 02:41:39  149933520
>>149933471
Ассемблер, наверное, под него.
Аноним 30/03/17 Чтв 02:41:56  149933531
14903877242110.jpg (71Кб, 807x538)
Аноним 30/03/17 Чтв 02:42:21  149933542
14894052968521.jpg (67Кб, 631x631)
Аноним 30/03/17 Чтв 02:42:42  149933556
>>149933515
>>149933542
Репортите это урода.
Аноним 30/03/17 Чтв 02:43:37  149933587
>>149933556
мог бы просто попросить не постить
Аноним 30/03/17 Чтв 02:43:51  149933596
>>149933389
Да, imm и reg понятно, а что тогда значит imm+reg и reg+reg?
Аноним 30/03/17 Чтв 02:44:35  149933626
14903499579620.webm (3760Кб, 1511x480, 00:01:59)
последний раз
Аноним 30/03/17 Чтв 02:50:16  149933780
>>149933626
Годный тредж, но, боюсь, что тем, кто может это порешать завтра на работу. Сам завтра гляну.

мимо-бухая-студентота
Аноним 30/03/17 Чтв 03:02:22  149934136
>>149932635
>* - nth opcode is not nth byte in binary
Что это значит? По какому адресу переходить тогда, если это не байт в бинарном файле?
Аноним 30/03/17 Чтв 03:09:11  149934316
14699726612980.jpg (31Кб, 400x400)
>>149933215
Аноним 30/03/17 Чтв 03:10:09  149934353
ОПЯТЬ ВЫЧИСЛЯТЬ ПРОТЕИНЫ,НЕ НАХУЙ ИДИ
Аноним 30/03/17 Чтв 03:10:45  149934366
>>149931733 (OP)
А, так вот почему тот школник тред создавал, лол.
Аноним 30/03/17 Чтв 03:14:39  149934477
>>149934136
Адрес перехода будет зависеть от длин всех команд от текущей до целевой. Вообще немного ебанутая схема.
Аноним 30/03/17 Чтв 03:17:03  149934547
>>149934477
Ну пипец, вообще не понятно. А переходить то куда, по указанному смещению в бинарном файле или как?
Аноним 30/03/17 Чтв 03:18:15  149934575
>>149932399
громко кекнул. Это не нужно
Аноним 30/03/17 Чтв 03:18:41  149934583
>>149934575
А что нужно?
Аноним 30/03/17 Чтв 03:22:04  149934671
>>149934547
Разбиваешь команды по границам и нумеруешь. Операнд команды условного перехода - номер пронумерованной команды. В вирмейкинге есть такая хуита, называется "дизассемблер длин" - тут тот же принцип.
Аноним 30/03/17 Чтв 03:25:26  149934756
>>149934671
Вот так? Там же команда из 4 байт состоит?
Аноним 30/03/17 Чтв 03:25:42  149934766
>>149934756
Картинка отлипла.
Аноним 30/03/17 Чтв 03:26:58  149934796
Слишком сложна
Аноним 30/03/17 Чтв 03:27:33  149934808
>>149934756
>>149934766
Судя по описанию часть операндов опциональна, поэтому просто разбить на куски по 4 байта не выйдет. Нужно распарсивать каждую команду по отдельности.
Аноним 30/03/17 Чтв 03:28:57  149934846
>>149934808
Опциональные же нулями замещаются, разве нет?
Аноним 30/03/17 Чтв 03:30:49  149934889
>>149934846
В описании этого не увидел. В реальном процессоре с архитектурой x86 - нет, проц последовательно декодирует каждую команду.
Аноним 30/03/17 Чтв 03:32:05  149934916
>>149934889
А как тогда узнать, есть ли там опциональные байты или это уже следующая команда?
Аноним 30/03/17 Чтв 03:32:22  149934922
Тред на форче.
https://boards.4chan.org/g/thread/59642690
Аноним 30/03/17 Чтв 03:35:28  149934978
>>149934916
Если ли опциональные байты определяется в коде операции и в байте mod-r/m для тех кодов операций, где он применим.
Аноним 30/03/17 Чтв 03:40:11  149935051
>>149934978
Вроде понимаю, если в мод указано imm, читать два следующих байта. Так?
Если там указано reg, то читать значение из регистра dest-reg (или src-reg?).
Пока непонятным остается, что такое reg+imm и reg+reg, что делать с этим?
Аноним 30/03/17 Чтв 03:54:15  149935300
blob (25Кб, 570x315)
>>149933489
я застрял на этом(( шо делать?
Аноним 30/03/17 Чтв 03:54:34  149935306
Что то не понял, как двоичные данные в шестнадцатеричные переведены.
Если перевести 00000000 00010010 00011010 10011111 в шестнадцатеричный вид, будет 00 12 1A 9F, а не так, как на пикрил.
6815 в hex тоже будет 1A 9F.
Я что то не понимаю? или там перепутаны байты?
Аноним 30/03/17 Чтв 03:54:34  149935307
>>149935051
>что такое reg+imm и reg+reg, что делать с этим
1. взять содержимое регистра reg и сложить c imm. Что делать с этой суммой зависит от опкода
2. взять содержимое регистра reg1 и сложить c содержимым регистра reg2. Что делать с этой суммой зависит от опкода
Аноним 30/03/17 Чтв 03:55:35  149935320
>>149935306
>или там перепутаны байты?
>little endian processor
В глаза ебешься или в гугле забанили?
Аноним 30/03/17 Чтв 03:56:32  149935340
>>149935307
>сложить
То есть, если команда у нас 0x01 logical or, нужно сделать логическую операцию reg or imm или reg + imm or (??)
Аноним 30/03/17 Чтв 03:57:02  149935347
>>149935320
Да, да, спасибо, понял.
Аноним 30/03/17 Чтв 03:57:26  149935354
>>149935300
Там простые числа, кароче.
Аноним 30/03/17 Чтв 03:58:32  149935383
>>149935354
и шо мне туда рандомное простое число записать?
Аноним 30/03/17 Чтв 03:59:01  149935395
>>149935383
аа блять. понял
Аноним 30/03/17 Чтв 03:59:35  149935403
>>149935383
Почему рандомное. Все простые числа между указанными двумя. и у тебя на это есть всего 5 секунд
Аноним 30/03/17 Чтв 04:00:26  149935423
>>149935354
><input type="hidden" name="verification" value="62702,65604.KEtJWwkJGiFleDFidRwfFCZJPT4VZAsMaBd+GT4UX0Q4MQ==" />
Там вот такая хуйня в сорцах. При каждом запросе рандомится. Расковырял что это?
Аноним 30/03/17 Чтв 04:01:36  149935450
>>149935403
да да понял)
Аноним 30/03/17 Чтв 04:02:12  149935466
>>149935423
ну это я видел. но к чему это я не понял
Аноним 30/03/17 Чтв 04:02:13  149935468
>>149935423
Главное, чтобы в post запросе он тоже был отправлен. Вроде рандомный, это не важно, на самом деле.
Аноним 30/03/17 Чтв 04:03:22  149935487
>>149935466
Ни к чему не относится. В запросе с числами не забудь его отправить и все.
Аноним 30/03/17 Чтв 04:09:34  149935590
>>149935468
>>149935487
ну это чтоб типа не слать запросы ботом, оно спецом рандомится и хиден инпут стоит. хотя я думаю там это может быть как то использовано, по скольку там первая часть это числа через запятую. а не просто радномные символы
Аноним 30/03/17 Чтв 04:10:20  149935603
>>149935403
>Все простые числа между указанными двумя
их запятой разделять или пробелами или как?
Аноним 30/03/17 Чтв 04:10:29  149935608
https://boards.4chan.org/g/thread/59642690

we are also looking except not really
Аноним 30/03/17 Чтв 04:10:47  149935612
>>149935603
>comma-separated list:
в глаза ебусь.
Аноним 30/03/17 Чтв 04:12:21  149935637
>>149935590
>хотя я думаю там это может быть как то использовано
Нет, не для чего оно не используется. Просто отправь эту строку в запросе и все.
мимо прошел этот уровень
Аноним 30/03/17 Чтв 04:13:19  149935651
>>149935612
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://5.9.247.121/d34dc0d3
// @grant none
// @require http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==

(function() {
'use strict';

var n = $(".challenge").html().replace(']','').replace('[','').replace(' ..., ','').split(',');
var output='';for (var i=(parseInt(n[0])+1);i<parseInt(n[1]);i++){if (isPrime(i)){go(i);}}
function go(number) {output=output+=number+',';$('input[name=solution]').attr('value', output.substring(0, output.length - 1));}
function isPrime(number) {var start = 2;while (start <= Math.sqrt(number)) {if (number % start++ < 1) return false;}return number > 1;}
})();


I am the american fag again, USE TAMPERMONKEY
Аноним 30/03/17 Чтв 04:13:23  149935652
сатрите че нагуглил
www.programiz.com/c-programming/examples/prime-number-intervals
Аноним 30/03/17 Чтв 04:14:41  149935669
>>149935651
>I am the american fag again
See.
Аноним 30/03/17 Чтв 04:14:55  149935676
>>149935651
I decided this with php, lol.
Аноним 30/03/17 Чтв 04:16:12  149935695
Интересно, к чему эти нижние подчеркивания?
Аноним 30/03/17 Чтв 04:16:53  149935704
>>149935695
>ace ace
Аноним 30/03/17 Чтв 04:17:44  149935721
>>149935676
solved*
не благодари
Аноним 30/03/17 Чтв 04:22:25  149935774
>>149935704
Азамат Ашмакын
Аноним 30/03/17 Чтв 04:23:31  149935790
Screenshot (8).png (171Кб, 909x941)
No eh podido solver este problema, no le entiendo
Аноним 30/03/17 Чтв 04:27:07  149935854
>>149935790
I think, it no disassemblers available for this code.
Аноним 30/03/17 Чтв 04:31:54  149935910
Вы код отдизасмили уже? Дайте бинарь, если нет.
Аноним 30/03/17 Чтв 04:32:27  149935917
>>149935608
>https://boards.4chan.org/g/thread/59642690
Why can not I post?
Аноним 30/03/17 Чтв 04:34:22  149935945
Что там с числами 1000409 - 1066577 было? Оба простые, но между ними слишком много других простых чисел
Аноним 30/03/17 Чтв 04:35:42  149935961
>>149935910
Не чем его дизассемблировать. Нужно вручную заpбирать.
Там каждый раз бинарь разный.
http://rgho.st/7lSFZg9KB

>>149935945
Вот их все и нужно ввести.
Аноним 30/03/17 Чтв 04:36:38  149935975
>>149935917
turn off vpn, could be russians are banned
Аноним 30/03/17 Чтв 04:38:37  149935997
>>149935961
> нечем
Процессорный модуль для IDA пишется минут 15.
Аноним 30/03/17 Чтв 04:40:42  149936028
>>149935997
Не работал с IDA, к сожалению, и тем более не знаю, как писать к ней процессорный модуль.
Впринципе, тут на любом языке можно написать виртуальную машину, я думаю.
Аноним 30/03/17 Чтв 04:41:14  149936039
>>149935961
да ебнешься ведь за 5 секунд это делать

мимо-застрявшей-на-этой-хуйне
Аноним 30/03/17 Чтв 04:42:00  149936049
>>149936039
А вручную и не сделаешь. Автоматизируй.
Аноним 30/03/17 Чтв 04:42:08  149936052
>>149936039
поэтому надо писать скрипт, я на питончике заебашил, который сделает это за тебя
Аноним 30/03/17 Чтв 04:42:21  149936054
>>149936039
>ься ведь за 5 секунд э
ты шо дурак. это кодом делать нужно. у меня другой вопрос я сука все сделал нашел все числа и ввел туда но оно пишет bad request
Аноним 30/03/17 Чтв 04:42:55  149936065
>>149936054
тебе нужно туда помимо ответа отсылать ключик итп же. Писали в начале
Аноним 30/03/17 Чтв 04:43:04  149936067
>>149936054
Header и verification не забыл?
Аноним 30/03/17 Чтв 04:43:28  149936074
>>149936067
двачую, скорее всего в этом проблема
Аноним 30/03/17 Чтв 04:43:47  149936081
>>149936065
его туда же в строку дописывать? в начало или конец?
Аноним 30/03/17 Чтв 04:44:22  149936091
>>149936049
>>149936052
понятное дело скриптом только.
кстати, есть те, которые уже прошли этот уровень?
Аноним 30/03/17 Чтв 04:44:30  149936092
>>149935403
Странно, пихаю этой фигне весь список простых чисел - а оно 400 bad request.
Пробовал и через запятую, и через пробел.
Это из-за превышения задержки в 5 секунд?
Аноним 30/03/17 Чтв 04:45:14  149936105
>>149936091
у меня друг сейчас быстренько четыре левела прошел и пошел спать. Завтра закончит. Наверное
Аноним 30/03/17 Чтв 04:45:27  149936107
>>149936067
Какой ещё verification?
Аноним 30/03/17 Чтв 04:45:35  149936109
>>149936092
header
verification

не забывай
Аноним 30/03/17 Чтв 04:46:06  149936119
>>149936107
ты шо осел. Тебе дан был твой уникальный ключ на втором этапе
Аноним 30/03/17 Чтв 04:46:25  149936128
>>149936091
Я прошел, еще в прошлый раз.

>>149936107
Тот, который в hidden input в html коде.
Аноним 30/03/17 Чтв 04:46:36  149936133
a = parseInt(document.getElementsByClassName('challenge')[0].innerText.split(',')[2]); b = parseInt(document.getElementsByClassName('challenge')[0].innerText.split(',')[0].slice(1)); function isPrime(num) { for (var i = 2; i < Math.sqrt(num); i++) {if (num%i===0) return false} return true}; primes=[]; for (var i = b + 1; i < a; i++) {if (isPrime(i)) primes.push(i)}; console.log(primes);var str = '' + primes[0]; for (var i = 1; i < primes.length; i++) {str += ', ' + primes}; document.getElementsByName('solution')[0].value = str;

я вот такой скрипт написал . запускаешь в консольке хрома оно сразу тебе засунет его в инпут
Аноним 30/03/17 Чтв 04:48:58  149936164
Анон, шарящий в ассемблере, если ты еще тут.
Вот пытаюсь я разобрать пример, у меня получается, что значение 6815 перемещается то ли в регистр r0, то ли в r2. Когда в примере написано, что значение перемещается в r1.
Подскажи, что я не так делаю?
Аноним 30/03/17 Чтв 04:50:50  149936190
>>149936128
Всё, посмотрел html, допёр.
Эх, я с JS не силён, и фигачить автоматические постилки в расширения браузера не смогу так быстро.
Надо завтра будет продолжить
Аноним 30/03/17 Чтв 04:50:50  149936191
>>149936039
Может все инструкции срут в r1?
Аноним 30/03/17 Чтв 04:51:38  149936204
>>149936133
блин, там ошибка была в коде. function isPrime(num) { for (var i = 2; i <= Math.sqrt(num); i++) меньше равно крч а не меньше
Аноним 30/03/17 Чтв 04:52:15  149936213
Ссылки на треды недельной давности есть?
Аноним 30/03/17 Чтв 04:53:00  149936228
>>149936213
Может на архиваче или тут в архиве, только хер найдешь теперь. Я не сохранял.
Аноним 30/03/17 Чтв 05:00:11  149936329
>>149936228
Что там хоть примерно в оп-посте было?
Аноним 30/03/17 Чтв 05:02:23  149936360
>>149936329
Пикча, как в оппосте, похожая.
Что ты там найти то хочешь?
Аноним 30/03/17 Чтв 05:03:28  149936373
>>149936164
Не понимаю, как там выглядит mov reg, reg
Аноним 30/03/17 Чтв 05:03:49  149936382
лучше бы кто-нибудь скрипт для бинаря скинул
Аноним 30/03/17 Чтв 05:04:42  149936392
>>149936373
Всмысле? Все скриншоты я уже скинул, больше там ничего.
Аноним 30/03/17 Чтв 05:14:58  149936538
бамп
Аноним 30/03/17 Чтв 05:16:14  149936566
Нас наебали походу. Больше похоже на формат op, dest, src, mode, а не как в описании.
Аноним 30/03/17 Чтв 05:17:21  149936583
>>149936566
Поподробнее пожалуйста, если шаришь.
Аноним 30/03/17 Чтв 05:19:58  149936636
Или не наебали, а пик был твой. Там биты нумеруются слева направа: 00 12 -> 00 опкод, 2 (4 бита) mode, 0 и 1 (по два бита), dest и src регистры соответственно.
Аноним 30/03/17 Чтв 05:23:18  149936684
>>149936636
Ну так это понятно, вон я выше скрин вкидывал, где пытался разобраться, что есть что. Только там получается, что значение записывается в регистр r0, нахера там 10 (r2) вообе не понятно. >>149936164
Аноним 30/03/17 Чтв 05:27:55  149936769
Я тебе об этом и пишу все там норм.
00 12 -> 0x1200
0x1200 & 0xff: опкод 0x12
(0x12 >> 8) & 0x0f: режим 2 (reg + imm)
(0x12 >> 12) & 0x03: в регистр 1.
(0x12 >> 14) & 0x03: в регистр 0.
Ну и imm читаем. А теперь, внимание, вопрос на засыпку: С ЧЕГО ВЫ ВЗЯЛИ, ЧТО ТАМ ЕСТЬ ПАМЯТЬ?.
Аноним 30/03/17 Чтв 05:31:30  149936830
>>149936769
Что то ты фигню написал, по моему. Там приведен пример кода и написано, что он делает. так же приведены все команды.

>С ЧЕГО ВЫ ВЗЯЛИ, ЧТО ТАМ ЕСТЬ ПАМЯТЬ?.
Там есть четыре регистра, о чем и написано.
Аноним 30/03/17 Чтв 05:32:59  149936859
>>149936830
> Что то ты фигню написал
Ну да, опкод 0, не 12. Получаем:
MOVE reg, imm
MOVE r1, (на исходный регистр похуй) imm
Аноним 30/03/17 Чтв 05:35:20  149936899
>>149936859
>MOVE r1
Но вот только нихера не r1 получается, или я что то не понимаю. imm же в dest-reg по идее записываться должен? А там 0x00, то есть r0.
Аноним 30/03/17 Чтв 05:36:06  149936910
>>149936899
PS. Это я про пример.
Аноним 30/03/17 Чтв 05:41:23  149937011
>>149936899
Погоди еще 15 минут.
Аноним 30/03/17 Чтв 05:45:24  149937085
>>149937011
Да, я тут пока. Не понятен мне этот пример и откуда там взялся регистр r1? Там или ошибка, или я жестоко проебываюсь где то.
Аноним 30/03/17 Чтв 05:46:44  149937111
>>149937085
Ты не в том порядке декодируешь биты после опкода.
Аноним 30/03/17 Чтв 05:48:06  149937141
>>149937111
А как надо? 9f и 1a перевернуты, это я понял. Но если таким же образом перевернуть два первых байта, там ерунда выйдет.
Аноним 30/03/17 Чтв 06:00:34  149937332
Ребят скиньте книжек, тоже хочу научиться такое решать и понимать. А то.я максимум говнокодить на c#/java умею. Ток не на английском. Словарный запас маленький, дольше переводить приходится.
Аноним 30/03/17 Чтв 06:04:02  149937392
>>149937141
Взять два байта. В первом байте опкод. В младших битах второго режим, в старших регистр назначения, в самых старших регистр источника (если нужен по режиму). Если режим требует, взять два байта imm, поменять местами. Всё.
Я почти дописал эмуль.
Аноним 30/03/17 Чтв 06:08:41  149937469
>>149937392
Блин, разобрался. Теперь все встало на свои места, спасибо, анон.
Ну и гимор же, ужас, все не по порядку.
Аноним 30/03/17 Чтв 06:09:56  149937487
>>149937469
http://ideone.com/vUzIug как-то так, но мог наебаться с signed/unsigned и прочим.
Аноним 30/03/17 Чтв 06:12:00  149937511
>>149937487
Запускал? Получается? Теперь отправить все это по быстрому надо.
Я на php попробую писать, но уже, наверное, завтра.
Аноним 30/03/17 Чтв 06:12:37  149937528
>>149937511
Там же и запускается. Смотри последнюю строку выхлопа.
Аноним 30/03/17 Чтв 06:13:41  149937552
>>149937528
Ошибки там.
Аноним 30/03/17 Чтв 06:14:22  149937564
>>149937552
Страницу перезагрузи, я поправил давно.
Аноним 30/03/17 Чтв 06:15:28  149937586
>>149937564
Пробуй теперь на следующий уровень.
Аноним 30/03/17 Чтв 06:16:24  149937604
>>149937586
Я мимокрок, не знаю даже чего и куда. Создай лучше ночью тред снова.
Аноним 30/03/17 Чтв 06:18:19  149937639
Без имени-1.png (29Кб, 595x331)
>>149937604
А решил чисто из любопытства?
Смотри, все таки недопонимаю, получается младшие биты второго байта не инвертируются, а старшие инвертируются?
Аноним 30/03/17 Чтв 06:19:02  149937658
>>149937639
не инвертируются, а задом наперед становятся, переворачиваются.
fix
Аноним 30/03/17 Чтв 06:25:36  149937757
>>149937639

00 12 9f 1a: 0x1200 операция, 0x1a9f непосредственное значение. Разбираем операцию: 0x00 опкод, 0x12 = 00010010 = 00 01 0010 = 0010 режим, 01 регистр назначения, 00 регистр исходный. Никакие биты инвертировать не надо, просто ты берешь их справа у байта.
Аноним 30/03/17 Чтв 06:28:24  149937794
>>149937757
Тьфу ты, я дурак, сам себя запутал, спать пора, все.
Разобрался, спасибо тебе еще раз, анон.
Сам не думаешь поиграть?
Аноним 30/03/17 Чтв 06:30:47  149937830
>>149937757
БЛЯЯЯЯЯЯДЬ ХУЛИ ТАК СЛОЖНО ТО А

анон, как научился этому? кто по специальности? кинь пожалуйста литературы или уроков по асм/си. посмотрел твой код на си, нихуя почти не понял, расстроился.
Аноним 30/03/17 Чтв 06:34:05  149937890
>>149937794
При желании я могу это пройти, наверное, но надо сидеть, а мне лень, да и спать уже пора.
Код мой говно, писал быстро и некрасиво. И наебался наверняка где-нибудь. По специальности я говнокодер. Си-тредик c литературой есть в /pr/, реверсинг тоже там же, уроки по асму в ассортименте в бэкапах wasm.ru (они вроде восстановили что-то на wasm.in, но я не разбирался), алсо http://beginners.re/
Аноним 30/03/17 Чтв 06:38:42  149937993
Там кстати из описания не совсем понятно, то ли JZ/JNZ переходит по опкодам, то ли все же JZ/JNZ переходит по 16-битным словам. Или по 32-битным. Хуй знает. Настоящие процессоры не умеют по индексу на инструкции скакать, если размер инструкции не фиксированный.
Аноним 30/03/17 Чтв 06:41:42  149938051
>>149937890
спасибо. спокойной​ ночи, няша
Аноним 30/03/17 Чтв 06:41:52  149938058
>>149937993
Кстати, про переходы я тоже не понял.
Там написано: >* - nth opcode is not nth byte in binary
что адрес куда переходить, это не смещение с бинарнике?
Куда переходить тогда?
Аноним 30/03/17 Чтв 06:43:19  149938090
>>149938058
Ну вот я прочитал, и решил, что это номер инструкции, считая с нуля. Т.е., сначала нужно весь код обработать, т.к., некоторые инструкции 2 байта, а некоторые 4, и поэтому без знания длин вперед прыгнуть не получится.
Аноним 30/03/17 Чтв 06:44:51  149938116
>>149938090
Просто порядковый номер инструкции? Возможно, кстати.
Аноним 30/03/17 Чтв 06:47:05  149938157
>>149931733 (OP)
Годнота тред. Жаль, что я кулхацкер-прыщеблядок, не умеющий в нормальный кодинг. Респект тому, кто все это затеял.
Аноним # OP  30/03/17 Чтв 06:55:13  149938294
Ладно, я спать, завтра продолжим, если тред утонет, к вечеру новый запилю. Если кому не лень, можете на архивач закинуть.
Аноним 30/03/17 Чтв 06:58:06  149938359
Что-то у меня ощущение, что как минимум в половине регистров должно оказаться 0x0ace, а у меня мусор какой-то.
Аноним 30/03/17 Чтв 06:58:43  149938375
>>149938359
>Что-то у меня ощущение, что как минимум в половине регистров должно оказаться 0x0ace
Бред.
Аноним 30/03/17 Чтв 07:05:36  149938493
>>149931733 (OP)
bump
Аноним 30/03/17 Чтв 07:59:34  149939741
бамп, посмотрим, где же все мамкины фрилансеры 300ккк/наносекунда
Аноним 30/03/17 Чтв 08:43:08  149941068
хорошийжоп.png (46Кб, 633x592)
>>149939741
Чего бампать-то? Ну написал я вм утром еще, ну прошел предыдущие уровни. Ну поправил ошибки. И получил пикрелейтед. Возможно, можно как-то продолжить сейчас, а не через месяц, но у меня в любом случае нет IPv6, так что я ебал.
Аноним 30/03/17 Чтв 08:49:08  149941292
>>149941068
скажи свой телеграм, анончик лень писать вм, а ipv6 и напоминашки в календре есть
Аноним 30/03/17 Чтв 08:50:33  149941336
Вот исправленная версия эмулятора (время правки на ideone закончилось, а автор квеста дебил, и не различает побитовые и логические операции). Читает challenge, пишет response. http://ideone.com/MSDJwU

>>149941292
Нет телеграммы. Возьми любой компиль под Linux (с ключиком -std=c11) или Pelles C под винду.
Аноним 30/03/17 Чтв 08:53:46  149941454
>>149931733 (OP)
Поясните, что нужно знать, чтоб решать такие задачки? Тененбаума читать?
Аноним 30/03/17 Чтв 11:05:42  149947014
Бамп годному треду.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 184 | 26 | 35
Назад Вверх Каталог Обновить

Топ тредов
Избранное