{"id":420,"date":"2023-05-19T16:23:38","date_gmt":"2023-05-19T08:23:38","guid":{"rendered":"https:\/\/shangwendada.co\/?p=420"},"modified":"2023-07-21T15:57:23","modified_gmt":"2023-07-21T07:57:23","slug":"2023%e6%98%a5%e7%a7%8b%e6%9d%af%e6%98%a5%e5%ad%a3%e8%b5%9b-re%e6%96%b9%e5%90%91wp%e5%85%b16%e8%a7%a34","status":"publish","type":"post","link":"https:\/\/blog.shangwendada.top\/index.php\/2023\/05\/19\/2023%e6%98%a5%e7%a7%8b%e6%9d%af%e6%98%a5%e5%ad%a3%e8%b5%9b-re%e6%96%b9%e5%90%91wp%e5%85%b16%e8%a7%a34\/","title":{"rendered":"2023\u6625\u79cb\u676f\u6625\u5b63\u8d5b-Re\u65b9\u5411WP(\u51716\u89e34)"},"content":{"rendered":"<h1>2023\u6625\u79cb\u676f\u6625\u5b63\u8d5b-Re\u65b9\u5411WP(\u51716\u89e34)<\/h1>\n<h2><strong>sum<\/strong><\/h2>\n<p><div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/shangwendada.top\/wp-content\/uploads\/2023\/05\/image-1684484566752.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/shangwendada.top\/wp-content\/uploads\/2023\/05\/image-1684484566752.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"file\" \/><\/div><\/p>\n<p>\u76f4\u63a5\u67e5\u770b\u8fd9\u4e2a\u4ee3\u7801,\u9996\u5148\u770b\u5230Solver\u6c42\u89e3\u5668\uff0c\u5c5e\u4e8e\u662f\u4e00\u79cd\u6570\u5b66\u6e38\u620f\u3002<\/p>\n<p>\u8fdb\u4e00\u6b65\u5206\u6790\u53ef\u4ee5\u53d1\u73b0(char *)&matrix;\u4ee3\u7801\u4f7f\u7528\u4e86\u8fd9\u4e2a\u77e9\u9635\u4f5c\u4e3a\u5730\u56fe.\u6839\u636efor\u5faa\u73af\u904d\u5386\u8be5\u56fe\u7684\u903b\u8f91\u53ef\u4ee5\u53d1\u73b0\u8fd9\u4e2a\u5176\u5b9e\u662f\u4e00\u4e2a\u4e8c\u7ef4\u6570\u7ec4\u3002\u77e9\u9635\u5982\u4e0b\uff1a<\/p>\n<pre><code class=\"language-python\">[5, 3, 0, 0, 7, 0, 0, 0, 0]\n[6, 0, 0, 1, 9, 5, 0, 0, 0]\n[0, 9, 8, 0, 0, 0, 0, 6, 0]\n[8, 0, 0, 0, 6, 0, 0, 0, 3]\n[4, 0, 0, 8, 0, 3, 0, 0, 1]\n[7, 0, 0, 0, 2, 0, 0, 0, 6]\n[0, 6, 0, 0, 0, 0, 2, 8, 0]\n[0, 0, 0, 4, 1, 9, 0, 0, 5]\n[0, 0, 0, 0, 8, 0, 0, 7, 9]<\/code><\/pre>\n<p>\u6570\u72ec\u6e38\u620f<\/p>\n<p>\u67e5\u770bflag\u7684\u6784\u9020\u65b9\u5f0f\u662fv5\u7684\u503c\u8fdb\u884cmd5\u800cv5\u7684\u503c\u662f\u77e9\u9635\u6bcf\u4e2a\u5730\u65b9\u7684\u503c\u52a0\u8d77\u6765\u800c\u4e0d\u662f\u6211\u4eec\u9700\u8981\u586b\u5165\u7684\u503c\uff0c\u90a3\u4e48\u8fd9\u4e2a\u9898\u5c31\u7b54\u6848\u5c31\u4e3a(1-9)*9\u7b54\u6848\u4e3a405\u53d6md5\u5373\u53ef<\/p>\n<h2><strong>Poisoned_tea_CHELL<\/strong><\/h2>\n<p>\u8fd9\u4e2a\u9898\u6211\u4eec\u770b\u5230\u53cd\u7f16\u754c\u9762\u5f88\u5947\u602a\u5b57\u7b26\u4e32\u90fd\u65e0\u6cd5\u4ea4\u53c9\u5f15\u7528<\/p>\n<p>\u4e0d\u8fc7\u5728\u5bfb\u627e\u51fd\u6570\u7684\u65f6\u5019\u6211\u4eec\u53d1\u73b0\u4e86tea\uff0c\u548c\u6bd4\u8f83\u903b\u8f91<\/p>\n<pre><code class=\"language-c++\">__int64 sub_597A()\n{\n  __int64 result; \/\/ rax\n  int v1; \/\/ [rsp+8h] [rbp-468h]\n  int i; \/\/ [rsp+Ch] [rbp-464h]\n  int j; \/\/ [rsp+10h] [rbp-460h]\n  int v4; \/\/ [rsp+14h] [rbp-45Ch] BYREF\n  int v5; \/\/ [rsp+18h] [rbp-458h]\n  int v6; \/\/ [rsp+1Ch] [rbp-454h]\n  int v7[8]; \/\/ [rsp+20h] [rbp-450h] BYREF\n  int v8; \/\/ [rsp+40h] [rbp-430h]\n  int v9; \/\/ [rsp+44h] [rbp-42Ch]\n  int v10; \/\/ [rsp+48h] [rbp-428h]\n  int v11; \/\/ [rsp+4Ch] [rbp-424h]\n  int v12; \/\/ [rsp+50h] [rbp-420h]\n  int v13[258]; \/\/ [rsp+60h] [rbp-410h] BYREF\n  unsigned __int64 v14; \/\/ [rsp+468h] [rbp-8h]\n\n  v14 = __readfsqword(0x28u);\n  v1 = 1;\n  v7[0] = 5;\n  v7[1] = 2;\n  v7[2] = MEMORY[0x8464];\n  v7[3] = MEMORY[0x8454];\n  v7[4] = 0;\n  memset(v13, 0, 0x400uLL);\n  sub_5524(nullsub_1);\n  sub_5554(byte_645B);\n  sub_5594(byte_6469, v13);\n  sub_5574();\n  v4 = 0;\n  v5 = 0;\n  v6 = 0;\n  for ( i = 0; v13[i]; i += 2 )\n  {\n    v4 = v13[i];\n    v5 = v13[i + 1];\n    sub_5847(MEMORY[0x8474], &amp;v4, v7);\n    v13[i] = v4;\n    v13[i + 1] = v5;\n  }\n  v8 = 0;\n  v9 = 0;\n  v10 = 0;\n  v11 = 0;\n  v12 = 0;\n  for ( j = 0; v13[j]; j += 2 )\n  {\n    v8 = *(_DWORD *)(4LL * j + 0x8624);\n    v9 = *(_DWORD *)(4LL * (j + 1) + 0x8624);\n    v10 = v13[j];\n    v11 = v13[j + 1];\n    if ( v8 != v10 || v9 != v11 )\n    {\n      v1 = 0;\n      break;\n    }\n  }\n  if ( v1 )\n    sub_5524(&amp;dword_646C);\n  else\n    sub_5524(byte_6483);\n  result = 0LL;\n  if ( v14 != __readfsqword(0x28u) )\n    return sub_5544();\n  return result;\n}<\/code><\/pre>\n<p>\u5ba1\u8ba1\u4ee3\u7801\uff0c\u53d1\u73b0\u5e76\u6ca1\u6709\u51fa\u73b0\u5bc6\u6587\u548ckey\u3002\u56e0\u6b64\u6211\u4eec\u9700\u8981\u52a8\u6001\u8c03\u8bd5\u6765\u62ff\u5230\u6b63\u5e38\u7684\u5bc6\u6587\u548c\u5bc6\u94a5\uff0c\u4f46\u662f\u6b63\u5e38\u7684\u8fdc\u7a0b\u8c03\u8bd5\u65e0\u6cd5\u8c03\u8bd5\u8fd9\u4e2a\u9898\uff0c\u4f30\u8ba1\u662f\u505a\u4e86\u53cd\u8c03\uff0c\u56e0\u6b64\u6211\u4eec\u4f7f\u7528\u8fdb\u7a0b\u9644\u52a0\u8c03\u8bd5\uff0c\u53d1\u73b0\u53ef\u4ee5\u8c03\u8bd5\u3002\u8c03\u8bd5\u8fc7\u7a0b\u8fd9\u91cc\u4e0d\u8bf4\u4e86\uff0c\u6bd4\u8f83\u957f\uff0c\u6162\u6162\u627e\u5c31\u80fd\u627e\u5230<\/p>\n<p>\u7136\u540e\u6211\u505a\u7684\u65f6\u5019\u5fd8\u8bb0\u5b58\u8fed\u4ee3\u8f6e\u6570\u4e86\u56e0\u6b64\u9700\u8981\u7206\u7834\u4e00\u4e0b\uff0c\u811a\u672c\u5982\u4e0b<\/p>\n<pre><code class=\"language-c++\">#include&lt;iostream&gt;\n#include&lt;algorithm&gt;\n#include&lt;cstdio&gt;\n#include&lt;cmath&gt;\n#include&lt;map&gt;\n#include&lt;vector&gt;\n#include&lt;queue&gt;\n#include&lt;stack&gt;\n#include&lt;set&gt;\n#include&lt;string&gt;\n#include&lt;cstring&gt;\n#include&lt;list&gt;\n#include&lt;stdlib.h&gt;\nusing namespace std;\ntypedef int status;\ntypedef int selemtype;\n\/*\n                   _ooOoo_\n                  o8888888o\n                  88&quot; . &quot;88\n                  (| -_- |)\n                  O\\  =  \/O\n               ____\/`---&#039;\\____\n            .&#039;  \\\\|     |\/\/  `.\n            \/  \\\\|||  :  |||\/\/  \\\n           \/  _||||| -:- |||||-  \\\n           |   | \\\\\\  -  \/\/\/ |   |\n           | \\_|  &#039;&#039;\\---\/&#039;&#039;  |   |\n           \\  .-\\__  `-`  ___\/-. \/\n         ___`. .&#039;  \/--.--\\  `. . __\n      .&quot;&quot; &#039;&lt;  `.___\\_&lt;|&gt;_\/___.&#039;  &gt;&#039;&quot;&quot;.\n     | | :  `- \\`.;`\\ _ \/`;.`\/ - ` : | |\n     \\  \\ `-.   \\_ __\\ \/__ _\/   .-` \/  \/\n======`-.____`-.___\\_____\/___.-`____.-&#039;======\n                   `=---=&#039;\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    \u4f5b\u7956\u4fdd\u4f51       \u6c38\u4e0d\u5b95\u673a     \u6c38\u65e0BUG\n*\/\nunsigned int enc[20] =\n{\n    0xECFDA301,0x61BECDF5,0xB89E6C7D,0xCE36DC68,0x4B6E539E,0x642EB504,0x54F9D33C,0x6D06E365,0xEA873D53,0xA4618507,0xD7B18E30,0xC45B4042\n};\nunsigned int enc2[20] =\n{\n    0xECFDA301,0x61BECDF5,0xB89E6C7D,0xCE36DC68,0x4B6E539E,0x642EB504,0x54F9D33C,0x6D06E365,0xEA873D53,0xA4618507,0xD7B18E30,0xC45B4042\n};\n\n__int64 __fastcall sub_7F1E806D5847(int a1, unsigned int *a2, unsigned int *a3)\n{\n  __int64 result; \/\/ rax\n  int i; \/\/ [rsp+24h] [rbp-14h]\n  unsigned int v5; \/\/ [rsp+28h] [rbp-10h]\n  unsigned int v6; \/\/ [rsp+2Ch] [rbp-Ch]\n  unsigned int v7; \/\/ [rsp+30h] [rbp-8h]\n\n  v5 = *a2;\n  v6 = a2[1];\n  v7 = 0;\n  for(int i = 0 ; i &lt; a1 ; i ++ )\n  {\n    v7 -= 1091584273;\n  }\n  for ( i = 0; i &lt; a1; ++i )\n  {\n    v6 -= (v5 + ((v5 &gt;&gt; 5) ^ (16 * v5))) ^ (*(((v7 &gt;&gt; 11) &amp; 3) + a3) + v7);\n    v7 += 1091584273;\n\n    v5 -= (v6 + ((v6 &gt;&gt; 5) ^ (16 * v6))) ^ (*((v7 &amp; 3) + a3) + v7);\n  }\n  *a2 = v5;\n  result = v6;\n  a2[1] = v6;\n  return result;\n}\nunsigned int key[4]={\n    5,2,9,7\n};\n\nint main ()\n{\n    for(int i = 0 ; i &lt; 12 ; i ++ )\n    {\n        printf(&quot;0x%X,&quot;,enc[i]);\n    }\n    for(int j = 0 ; j &lt; 108 ; j ++ )\n    {\n        int ok = 0;\n        for(int i = 0 ; i &lt; 12 ; i ++ )\n        {\n            enc[i] = enc2[i];\n        }\n        for(int i = 0 ; i &lt; 12 ;  i+= 2)\n        {\n            if(!ok)\n            {\n                cout&lt;&lt;j&lt;&lt;&quot; :&quot;;\n                ok=1;\n            }\n\n            sub_7F1E806D5847(j,enc+i,key);\n\n        }\n\n        \/\/if(enc[12]&amp;0xff == &#039;}&#039;)\n            printf(&quot;%s\\n&quot;,enc);\n    }\n\n}\n<\/code><\/pre>\n<h2><strong>BWBA<\/strong><\/h2>\n<p>\u8fd9\u9898\u7684\u52a0\u5bc6\u903b\u8f91\u975e\u5e38\u7684\u7b80\u5355\u660e\u4e86<\/p>\n<pre><code class=\"language-c++\">__int64 __fastcall encrypt(__int64 a1, __int64 a2)\n{\n  double *v2; \/\/ rax\n  double *v3; \/\/ rax\n  double v5; \/\/ [rsp+8h] [rbp-38h]\n  double v6; \/\/ [rsp+8h] [rbp-38h]\n  double v7; \/\/ [rsp+8h] [rbp-38h]\n  char v8; \/\/ [rsp+23h] [rbp-1Dh] BYREF\n  int v9; \/\/ [rsp+24h] [rbp-1Ch]\n  int j; \/\/ [rsp+28h] [rbp-18h]\n  int i; \/\/ [rsp+2Ch] [rbp-14h]\n\n  v9 = std::vector&lt;int&gt;::size(a2);\n  std::allocator&lt;double&gt;::allocator(&amp;v8);\n  std::vector&lt;double&gt;::vector&lt;int&gt;(a1, (unsigned int)v9, 0LL, &amp;v8);\n  std::allocator&lt;double&gt;::~allocator(&amp;v8);\n  for ( i = 0; i &lt; v9; ++i )\n  {\n    for ( j = 0; j &lt; v9; ++j )\n    {\n      v5 = (double)*(int *)std::vector&lt;int&gt;::operator[](a2, j);\n      v6 = cos(((double)j + 0.5) * (3.141592653589793 * (double)i) \/ (double)v9) * v5;\n      v2 = (double *)std::vector&lt;double&gt;::operator[](a1, i);\n      *v2 = *v2 + v6;\n    }\n    if ( i )\n      v7 = sqrt(2.0 \/ (double)v9);\n    else\n      v7 = sqrt(1.0 \/ (double)v9);\n    v3 = (double *)std::vector&lt;double&gt;::operator[](a1, i);\n    *v3 = *v3 * v7;\n  }\n  return a1;\n}<\/code><\/pre>\n<p>\u4e00\u5f00\u59cb\u4ee5\u4e3a\u662f\u5085\u91cc\u53f6\u53d8\u6362\uff0c\u540e\u9762\u53d1\u73b0\u662f\u79bb\u6563\u4f59\u5f26\u53d8\u6362,\u8fd9\u91cc\u76f4\u63a5\u4e0a\u516c\u5f0f<br \/>\n<div class='fancybox-wrapper lazyload-container-unload' data-fancybox='post-images' href='https:\/\/shangwendada.top\/wp-content\/uploads\/2023\/05\/image-1684484584767.png'><img class=\"lazyload lazyload-style-1\" src=\"data:image\/svg+xml;base64,PCEtLUFyZ29uTG9hZGluZy0tPgo8c3ZnIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmZmZmMDAiPjxnPjwvZz4KPC9zdmc+\"  decoding=\"async\" data-original=\"https:\/\/shangwendada.top\/wp-content\/uploads\/2023\/05\/image-1684484584767.png\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB\/AAffA0nNPuCLAAAAAElFTkSuQmCC\" alt=\"file\" \/><\/div><\/p>\n<p>\u6211\u4eec\u8fd9\u91cc\u9700\u8981\u4f7f\u7528\u7684\u662fIDCT\u516c\u5f0f<\/p>\n<p>\u4e0d\u8fc7\u8fd9\u91cc\u9700\u8981\u6ce8\u610f\u7684\u662f\u7cbe\u5ea6\u4f1a\u51fa\u73b0\u504f\u5dee\uff0c\u56e0\u6b64\u6211\u4eec\u9700\u8981\u56db\u820d\u4e94\u5165\u53d6\u503c<\/p>\n<pre><code class=\"language-c++\">#include &lt;iostream&gt;\n#include &lt;vector&gt;\n#include &lt;cmath&gt;\n\nstd::vector&lt;double&gt; decrypt(const std::vector&lt;double&gt;&amp; input)\n{\n    int v9 = input.size();\n    std::vector&lt;double&gt; result(v9, 0.0);\n\n    for (int i = 0; i &lt; v9; ++i)\n    {\n        for (int j = 0; j &lt; v9; ++j)\n        {\n            double v7 = (j == 0) ? sqrt(1.0 \/ v9) : sqrt(2.0 \/ v9);\n            double v5 = input[j];\n            double v6 = cos((i + 0.5) * (3.141592653589793 * j) \/ v9) * v5 * v7;\n            result[i] += v6;\n        }\n        \/\/ \u56db\u820d\u4e94\u5165\n        result[i] = round(result[i]);\n    }\n\n    return result;\n}\n\nint main()\n{\n    std::vector&lt;double&gt; input = {370.75, 234.362, -58.0834, 59.8212, 88.8221, -30.2406, 21.8316, 49.9781, -33.5259, 2.69675, 43.5386, -30.2925, -28.0754, 27.593, -2.53962, -27.1883, -5.60777, -0.263937, 6.80326, 8.03022, -6.34681, -0.89506, -6.80685, -13.6088, 27.0958, 29.8439, -21.7688, -20.6925, -13.2155, -37.0994, 2.23679, 37.6699, -3.5, 9.85188, 57.2806, 13.5715, -20.7184, 8.6816, 3.59369, -4.5302, 4.22203, -28.8166, -23.695, 31.2268, 6.58823, -39.9966, -20.7877, -19.7624, -22.031, 16.3285, 2.07557, -26.2521, 16.1914, 18.3976, -26.9295, 3.03769, 41.0412, 20.2598, 14.991, 6.99392, -22.3752, -7.24466, 8.96299, -10.4874};\n\n    std::vector&lt;double&gt; decrypted = decrypt(input);\n\n    for (const auto&amp; value : decrypted)\n    {\n        std::cout &lt;&lt;(char) value;\n    }\n    std::cout &lt;&lt; std::endl;\n\n    return 0;\n}\n<\/code><\/pre>\n<h2><strong>Pytrans<\/strong><\/h2>\n<p>\u8fd9\u9898\u5c31\u662fLinux\u4e0bpython\u4f7f\u7528pyinstall\u6253\u5305\u7684\u7a0b\u5e8f\uff0c\u6211\u4eec\u76f4\u63a5\u89e3\u5305\u5c31\u884c\u4e86\u3002<\/p>\n<p>\u4f7f\u7528uncompyle6\u53cd\u7f16\u8bd1run.py<\/p>\n<pre><code class=\"language-python\"># uncompyle6 version 3.9.0\n# Python bytecode version base 3.8.0 (3413)\n# Decompiled from: Python 3.10.4 (tags\/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)]\n# Embedded file name: run.py\nimport base64, zlib, ctypes\ntry:\n    mylib = ctypes.cdll.LoadLibrary(&#039;.\/mylib.so&#039;)\nexcept:\n    print(&#039;file no exit!&#039;)\nelse:\n    a = []\ntry:\n    sstr = input(&quot;Please enter the 10 digits and ending with &#039;\\\\n&#039;: &quot;).split(&#039; &#039;)\n    if len(sstr) == 10:\n        for i in sstr:\n            a.append(int(i))\n\n    mylib.check.argtypes = (\n     ctypes.POINTER(ctypes.c_int), ctypes.c_int)\n    mylib.check.restype = ctypes.c_char_p\n    scrambled_code_string = mylib.check((ctypes.c_int * len(a))(*a), len(a))\n    try:\n        decoded_data = base64.b64decode(scrambled_code_string)\n        uncompressed_data = zlib.decompress(decoded_data)\n        exec(__import__(&#039;marshal&#039;).loads(uncompressed_data))\n    except:\n        print(&#039;Incorrect input caused decryption failure!&#039;)\n\nexcept:\n    pass\n# okay decompiling .\\run.pyc\n<\/code><\/pre>\n<p>\u5206\u6790\u53d1\u73b0\uff0c\u7a0b\u5e8f\u52a0\u8f7d\u4e86\u4e00\u4e2amylib.so\u7136\u540e\u4f20\u5165\u4e86\u8f93\u5165\u7684\u662f\u4e2a\u6570\u5b57\u4f5c\u4e3a\u5224\u65ad,\u8c03\u7528\u7684\u662fcheck\u51fd\u6570<\/p>\n<p>\u51fd\u6570\u5185\u5bb9\u5982\u4e0b:<\/p>\n<pre><code class=\"language-c++\">void *__fastcall check(_DWORD *a1)\n{\n  void *v2; \/\/ [rsp+18h] [rbp-28h]\n  char v3[24]; \/\/ [rsp+20h] [rbp-20h] BYREF\n  unsigned __int64 v4; \/\/ [rsp+38h] [rbp-8h]\n\n  v4 = __readfsqword(0x28u);\n  sub_1239();\n  if ( -27 * a1[7]\n     + -11 * a1[6]\n     + 16 * a1[5]\n     + *a1\n     + 2 * a1[1]\n     - a1[2]\n     + 8 * a1[3]\n     - 14 * a1[4]\n     + 26 * a1[8]\n     + 17 * a1[9] != 14462\n    || -30 * a1[8] + 13 * a1[5] + a1[3] + a1[1] + 2 * *a1 - 15 * a1[4] - 24 * a1[6] + 16 * a1[7] + 36 * a1[9] != -2591\n    || 16 * a1[6]\n     + -21 * a1[5]\n     + 7 * a1[3]\n     + 3 * a1[1]\n     - *a1\n     - a1[2]\n     + 12 * a1[4]\n     - 23 * a1[7]\n     + 25 * a1[8]\n     - 18 * a1[9] != 2517\n    || -6 * a1[6] + 2 * a1[2] - a1[1] + 2 * a1[5] + 9 * a1[7] + 2 * a1[8] - 5 * a1[9] != 203\n    || -5 * a1[8] + 6 * a1[7] + 3 * a1[1] - a1[3] - a1[5] + a1[6] + 5 * a1[9] != 3547\n    || -9 * a1[8] + a1[4] + a1[2] + a1[7] - 5 * a1[9] != -7609\n    || 2 * a1[5] + -a1[3] - a1[4] + a1[8] + 6 * a1[9] != 4884\n    || a1[6] - a1[7] + 2 * a1[8] != 1618\n    || a1[4] - a1[6] + 2 * a1[9] != 1096\n    || a1[8] + a1[4] + a1[3] + a1[2] + a1[1] + *a1 - a1[5] - a1[6] - a1[7] - a1[9] != 711\n    || 2 * (2 * a1[4] + a1[3]) + 5 * a1[5] != 7151 )\n  {\n    return 0LL;\n  }\n  v3[0] = 0;\n  v3[1] = 0;\n  v3[2] = 0;\n  v3[3] = 0;\n  v3[4] = 0;\n  v3[5] = 0;\n  v3[6] = 0;\n  v3[7] = 0;\n  v3[8] = 0;\n  v3[9] = 0;\n  v3[10] = 0;\n  v3[11] = 0;\n  v3[12] = 0;\n  v3[13] = 0;\n  v3[14] = 0;\n  v3[15] = a1[4] % 255;\n  v2 = malloc(0x4F0uLL);\n  sub_27E4(&amp;unk_62C0, v2, v3);\n  return v2;\n}<\/code><\/pre>\n<p>\u662f\u4e2az3\u65b9\u7a0b,\u6211\u4eec\u76f4\u63a5\u89e3z3<\/p>\n<pre><code class=\"language-python\">from z3 import *\n\na1 = [BitVec(&quot;num[%d]&quot; % i, 32) for i in range(13)]\nsolver = Solver()\n\n# \u6dfb\u52a0\u65b9\u7a0b\u7ec4\u4e2d\u7684\u6bcf\u4e2a\u4e0d\u7b49\u5f0f\u7ea6\u675f\u6761\u4ef6\nsolver.add(\n    -27 * a1[7]\n    + -11 * a1[6]\n    + 16 * a1[5]\n    + a1[0]\n    + 2 * a1[1]\n    - a1[2]\n    + 8 * a1[3]\n    - 14 * a1[4]\n    + 26 * a1[8]\n    + 17 * a1[9] == 14462\n)\nsolver.add(\n    -30 * a1[8] + 13 * a1[5] + a1[3] + a1[1] + 2 * a1[0] - 15 * a1[4] - 24 * a1[6] + 16 * a1[7] + 36 * a1[9] == -2591\n)\nsolver.add(\n    16 * a1[6]\n    + -21 * a1[5]\n    + 7 * a1[3]\n    + 3 * a1[1]\n    - a1[0]\n    - a1[2]\n    + 12 * a1[4]\n    - 23 * a1[7]\n    + 25 * a1[8]\n    - 18 * a1[9] == 2517\n)\nsolver.add(\n    -6 * a1[6] + 2 * a1[2] - a1[1] + 2 * a1[5] + 9 * a1[7] + 2 * a1[8] - 5 * a1[9] == 203\n)\nsolver.add(\n    -5 * a1[8] + 6 * a1[7] + 3 * a1[1] - a1[3] - a1[5] + a1[6] + 5 * a1[9] == 3547\n)\nsolver.add(\n    -9 * a1[8] + a1[4] + a1[2] + a1[7] - 5 * a1[9] == -7609\n)\nsolver.add(\n    2 * a1[5] + -a1[3] - a1[4] + a1[8] + 6 * a1[9] == 4884\n)\nsolver.add(\n    a1[6] - a1[7] + 2 * a1[8] == 1618\n)\nsolver.add(\n    a1[4] - a1[6] + 2 * a1[9] == 1096\n)\nsolver.add(\n    a1[8] + a1[4] + a1[3] + a1[2] + a1[1] + a1[0] - a1[5] - a1[6] - a1[7] - a1[9] == 711\n)\nsolver.add(\n2 * (2 * a1[4] + a1[3]) + 5 * a1[5] == 7151\n)\n\nprint(solver.check())\nfor i in a1:\n    print(solver.model()[i], end=&quot; &quot;)\n\n#511 112 821 949 517 637 897 575 648 738<\/code><\/pre>\n<p>\u89e3\u51fa\u6765\u4e4b\u540e\u53d1\u73b0\u540e\u9762\u7a0b\u5e8f\u8fd8\u6709\u5185\u5bb9,\u8c03\u7528\u4e86sub_27E4(&amp;unk_62C0, v2, v3);\u8be5\u51fd\u6570\uff0c\u5229\u7528\u8be5\u51fd\u6570\u7684\u8fd4\u56de\u503c\u7136\u540e\u4e00\u7cfb\u5217\u64cd\u4f5c\u4f7f\u7528exec\u52a0\u8f7d\u4e86\u5e8f\u5217\u5316\u4ee3\u7801\u3002\u7531\u4e8esub_27E4(&amp;unk_62C0, v2, v3);\u51fd\u6570\u6d89\u53ca\u5230\u7684\u52a0\u5bc6\u975e\u5e38\u7684\u7e41\u6742\uff0c\u56e0\u6b64\u6211\u4eec\u81ea\u5df1\u5199\u4e00\u4e2aloader\u5c31\u53ef\u4ee5\u52a0\u8f7d\u51fa\u4ed6\u7684\u8fd4\u56de\u503c<\/p>\n<pre><code class=\"language-python\"># -*- coding: utf-8 -*-\nimport base64, zlib, ctypes, marshal\nimport dis\n\ntry:\n    mylib = ctypes.cdll.LoadLibrary(&#039;.\/mylib.so&#039;)\nexcept:\n    print(&#039;file no exit!&#039;)\nelse:\n    a = []\ntry:\n    sstr = &quot;511 112 821 949 517 637 897 575 648 738&quot;.split(&#039; &#039;)\n    if len(sstr) == 10:\n        for i in sstr:\n            a.append(int(i))\n\n    mylib.check.argtypes = (\n        ctypes.POINTER(ctypes.c_int), ctypes.c_int)\n    mylib.check.restype = ctypes.c_char_p\n    scrambled_code_string = mylib.check((ctypes.c_int * len(a))(*a), len(a))\n    try:\n        decoded_data = base64.b64decode(scrambled_code_string)\n        uncompressed_data = zlib.decompress(decoded_data)\n        code_obj = marshal.loads(uncompressed_data)\n        dis.disassemble(code_obj)\n        exec(code_obj)\n    except:\n        print(&#039;Incorrect input caused decryption failure!&#039;)\n\nexcept:\n    pass\n<\/code><\/pre>\n<p>\u8f93\u51fa\u7684\u662f\u5b57\u8282\u7801,\u5b57\u8282\u7801\u6bd4\u8f83\u957f,\u8fd9\u91cc\u7b80\u660e\u4e3b\u8981\u903b\u8f91\uff0c\u903b\u8f91\u4e3a\u628a\u4f60\u8f93\u5165\u768410\u4e2a\u6570\u5b57\u8f6c\u5316\u4e3a\u4e8c\u8fdb\u5236\u4f5c\u4e3a10*10\u7684\u5730\u56fe\u3002<\/p>\n<p>\u7136\u540e\u628a\u4f60\u7ecf\u8fc7\u7684\u8def\u5f84\u5728footprint\u7684\u8868\u91cc\u67e5\u627e\u5c31\u662fflag<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2023\u6625\u79cb\u676f\u6625\u5b63\u8d5b-Re\u65b9\u5411WP(\u51716\u89e34) sum \u76f4\u63a5\u67e5\u770b\u8fd9\u4e2a\u4ee3\u7801,\u9996\u5148\u770b\u5230Solver\u6c42\u89e3\u5668\uff0c\u5c5e\u4e8e\u662f\u4e00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/posts\/420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/comments?post=420"}],"version-history":[{"count":2,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/posts\/420\/revisions"}],"predecessor-version":[{"id":514,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/posts\/420\/revisions\/514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/media\/7"}],"wp:attachment":[{"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/media?parent=420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/categories?post=420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.shangwendada.top\/index.php\/wp-json\/wp\/v2\/tags?post=420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}