From c4791e8f7e233bc8fcb9a20a5a1299ddebfe0413 Mon Sep 17 00:00:00 2001 From: firmianay Date: Sat, 5 Aug 2017 20:44:45 +0800 Subject: [PATCH] add cmd tips --- CONTRIBUTION.md | 4 +- LICENSE.md | 427 ------------------------ README.md | 1 + doc/1.3_linux_basic.md | 22 +- doc/1.5.1_c_basic.md | 4 +- doc/4.2_Linux_terminal_tips.md | 9 + doc/6.1_Linuxtools.md | 6 +- pic/4.2_0x1f.png | Bin 0 -> 60504 bytes src/Others/4.2_0x1f.c | 14 + {source => src}/Reverse/flag_pwnablekr | Bin {source => src}/Reverse/strings_crackme | Bin {source => src}/Reverse/xxd_crackme | Bin 12 files changed, 49 insertions(+), 438 deletions(-) delete mode 100644 LICENSE.md create mode 100644 doc/4.2_Linux_terminal_tips.md create mode 100644 pic/4.2_0x1f.png create mode 100644 src/Others/4.2_0x1f.c rename {source => src}/Reverse/flag_pwnablekr (100%) rename {source => src}/Reverse/strings_crackme (100%) rename {source => src}/Reverse/xxd_crackme (100%) diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index ea42b0b..4bc05cc 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -18,7 +18,7 @@ ├── pic │   ├── 1.3_byte_order.png ├── README.md -└── source +└── src ├── Crypto ├── Misc ├── Pwn @@ -32,7 +32,7 @@ - `CONTRIBUTION.md`:合作与贡献的相关内容。 - `doc`:该文件夹包含书全部内容的 Markdown 文件。(文字) - `pic`:该文件夹包含所有 Markdown 中引用的所有图片文件。(图片) -- `source`:该文件夹包含书中示例和练习的二进制文件或源代码,分专题保存。(代码) +- `src`:该文件夹包含书中示例和练习的二进制文件或源代码,分专题保存。(代码) ##### 注意事项 - 在开始编写某一个内容之前,请先在下面的表格里注明,以避免重复和冲突。如果是已经完成的章节,则可以直接进行修改。 diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 3b7b82d..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,427 +0,0 @@ -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md index 928ad84..219d377 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ - [四、技巧篇](doc/4_tips.md) - [4.1 AWD模式](doc/4.1_AWD.md) + - [4.2 Linux 命令行技巧](doc/4.2_Linux_terminal_tips.md) - [五、高级篇](doc/5_advanced.md) - [5.1 Fuzz 测试](doc/5.1_fuzz.md) diff --git a/doc/1.3_linux_basic.md b/doc/1.3_linux_basic.md index 892e0a9..dc2560d 100644 --- a/doc/1.3_linux_basic.md +++ b/doc/1.3_linux_basic.md @@ -1,9 +1,11 @@ # Linux 基础 -- [常用基础命令](#command) -- [字节序](#order) +- [常用基础命令](#常用基础命令) +- [字节序](#字节序) +- [输入输出](#输入输出) -## 常用基础命令 + +## 常用基础命令 ```text ls 用来显示目标列表 @@ -32,7 +34,7 @@ nano / vim / emacs 字符终端的文本编辑器 ``` -## 字节序 +## 字节序 目前计算机中采用两种字节存储机制:大端(Big-endian)和小端(Little-endian)。 >MSB (Most Significan Bit/Byte):最重要的位或最重要的字节。 @@ -44,3 +46,15 @@ Big-endian 规定 MSB 在存储时放在低地址,在传输时放在流的开 例如十六进制整数 0x12345678 存入以 1000H 开始的内存中: ![](../pic/1.3_byte_order.png) + + +## 输入输出 +- 使用命令的输出作为可执行文件的输入参数 + - ```$ ./vulnerable 'your_command_here'``` + - ```$ ./vulnerable $(your_command_here)``` +- 使用命令作为输入 + - ```$ your_command_here | ./vulnerable``` +- 将命令行输出写入文件 + - ```$ your_command_here > filename``` +- 使用文件作为输入 + - ```$ ./vulnerable < filename``` diff --git a/doc/1.5.1_c_basic.md b/doc/1.5.1_c_basic.md index 25da7a0..d32b884 100644 --- a/doc/1.5.1_c_basic.md +++ b/doc/1.5.1_c_basic.md @@ -1,8 +1,8 @@ # C 语言基础 -- [从源代码到可执行文件](#compile) +- [从源代码到可执行文件](#从源代码到可执行文件) -## 从源代码到可执行文件 +## 从源代码到可执行文件 我们以经典著作《The C Programming Language》中的第一个程序 “Hello World” 为例,讲解 Linux 下 GCC 的编译过程。 ```c diff --git a/doc/4.2_Linux_terminal_tips.md b/doc/4.2_Linux_terminal_tips.md new file mode 100644 index 0000000..89cbfd1 --- /dev/null +++ b/doc/4.2_Linux_terminal_tips.md @@ -0,0 +1,9 @@ +# Linux 命令行技巧 + +- [重定向输入字符](#重定向输入字符) + + +## 重定向输入字符 +有时候我们需要在 shell 里输入键盘上没有对应的字符,如 `0x1F`,就需要使用重定向输入。下面是一个例子:[源码](../src/Others/4.2_0x1f.c) + +![](../pic/4.2_0x1f.png) diff --git a/doc/6.1_Linuxtools.md b/doc/6.1_Linuxtools.md index b694d60..63d3754 100644 --- a/doc/6.1_Linuxtools.md +++ b/doc/6.1_Linuxtools.md @@ -171,9 +171,9 @@ strings [executable] | grep -i upx ``` #### 练习 -[strings_crackme](../source/Reverse/strings_crackme) +[strings_crackme](../src/Reverse/strings_crackme) -[flag_pwnablekr](../source/Reverse/flag_pwnablekr) +[flag_pwnablekr](../src/Reverse/flag_pwnablekr) ## xxd @@ -193,4 +193,4 @@ xxd -g1 ``` #### 练习 -[xxd_crackme](../source/Reverse/xxd_crackme) (使用 *strings* 再做一次) +[xxd_crackme](../src/Reverse/xxd_crackme) (使用 *strings* 再做一次) diff --git a/pic/4.2_0x1f.png b/pic/4.2_0x1f.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f4b7ce08dbd09d732a488ba918cfe904dfac96 GIT binary patch literal 60504 zcmbSy1CV5ImVH&1-CeeA+qP}9%XW3ywr$(CZFJeT|JA>l+1Z`l+1U73WW@WjA~Rop z`R={v+;h(hk(CyKfkcM{004jy6BU#P0Qd$2000;b4*K;UDsYAPuLH0>znCKU*PjQt zVer>;GzTG72L)?m2WLGyBLEXCYfB?4djmToBP)ATYllmqE^Yt-TmUgaK1G-Gvkg~G zC85vm>#3GQY8y2WHAA@{fCF0gDwI;|yi{XMLK6=IwQi+F@)WO1jp*u)s>EE0#_DD% z#+3!lIldI+`1rnO!){HtuRw~t)9yc@EH|r`Zr$J~Gg251?GD_H55`3;S05F>1M_`7 znn4?)nofDNK>s}XZuPCyyA{9}7u*+j9aC`n&k@{LX#pQf{ur7wGj)aV#nn{az4EW!;@!3{h#y?Il28+7 zQ3@N>>9y+?T!|8fex+eT(`my$67#`TcwB0 zqUnpaOYl1*nx7ydB+SP}TiLay(4N@S4V3f_t_INR6D`WwCj$4C6`Ppaa7C89K1k)k z`!xzft3m6fEq+{r9!Zx%CzzxcOO9QK!k~r7CjR-ZEOivj>I4<@ni*~Zc#!v_i($aiD2SFz5*Y^|aBy^KxLeZTuZakh_ zp8t5^8_d_`$>ECz4TNj)2)fMfd$xp`O_aacDrZjNqcZ3k#?E+52qCqQ82OwA7Bw|F zo_Q>F31vwkYw7Z@y)(yYmI}JXgqgjd4}}|Dj);!YBBC6EM&z>KMf(|aD*!*pLp1M6 z7|$gf&d${O0G~KvgxG1#f2D#U4^8OUeNOlL^bL> zfH=?bj}+VS4FvK)m7qWel@94!tp5cT z*qHzoDsn0=zh5DQ>H`{?*P2gDu{@WTK~&|;z^DRkyQbiE=GcP$M01+M5w+sAi z!d80^ruWsr~lY>IR7ygSUT-W_tJRu>E!g8#4W*Xnb)Y2N%3I zp&VzsNtM=;*0&7Ou{pe4j@Fu4uN7c)JFE`@@<5At)J~}wY-D&zRQ{w~U~ARaEC?b_ zjQ_z;!mpkkP0gU&M$)gc33&n;$Y`kk=*42%%OcmI>W4rfdPWqe6a`SBA1+AA%oD&0 zF|<1pBV38xJ{sA}rtdso*asR6x(vja98_`s4K{+sjX02!22*XBuWQ7)xbKJ5GaWmX{LE;Mh+fhu=WE-Nf{-aWWLOrp?+4R4NHp6YJ&b7G6 zv-mh~dPy-KX$(eAU&UzVcCl9DjIGd%O|R-FVdML&j7Mr23{gm%8_@>+i%q7H+Ih!6 z;NyL%1Z7sf*^wIXxPVUKn0)V`+d6PfTPz^h#(p538)B_yAWprE+Q(x#mh7Jwah+xi zYT+r+WzO7wl<6X}QAR}Qja6%I2+p2?vn?`)g3^CT1p9HXXl!vR`;}kp7`~t&29jvP z4d|Z9;pOtQ9xB3Wb_;#u7GtC<*}_{o!i$;&QUj7JU$rK)wE27lKA9r$35nL4PWAvV z&!VXJF6bA%H<~2|L`e;>88WoD>U4xc&M}FC+jMwo6?y{XxQ0}6IQbdBA}JU&YRn8z zkx-mTzDp;XSvG8&vL>u-WlECoa}Ydar+joe5n%@~7}1^@x+2#6a4p*H0JG}1u}34s zPhCEx{9d!taLnRwv#Jpn(nzs0k|Xv+@fn~c zMOe}d3&od3yF1y18TbJ_E3@rny+?Pbbr5ATcPc~8Mn zR^64HS(Ys?Hj%swyhlIc99m-~#A;XgDjulAa9w_&`b&p)4UsrHmoc}9XK31F|W~r1gpzRmZ^7H}scQ!UO zKX}AqqwDvFQdp8{x5|Vr3WPt<89Nkp8+Bj$pvlojkSIAQML*2rnt4c}MO!f4P%75yNq0P-E%peyegf*a8s!!Wv{xyd^hoqYv$k9B``W9FRpvcR zDqEpHejIFDkGUZW(uth<{15X{<0M&l6C?Im3@@n+Qg++;Iu)~Lq9I;47#!iK#*b!> z)f{;-Q!K;qV<+XLrcTjFsq4q-Y5li056;e$%lKT$bQ&##0I1i_?Nc6;>pQLw%vU$! zuB=9U+`1OtziJA<mMcU=MC{n zhQ{5Ebnk`eXE;mQiAa)N=(L!MvYHFaJlVoR_X^RKm+3!8%Pt&EEdh3y3$dscjLzOp zT)Brcy1}f&f7i6!vRW@8D)kWW$gE5!SSr#|lMOuifd&njQ(EwGs0(w5ORaDdB)+(1 zCvt+jpRwULXs9;2fQY3CB_oowa=nmm-^T|;fP5=R&cNa9*=e=_1~i9L2W{48F1dy_ z51bpk-4{UkA{{W@5w0sTfZ`>|EH*$omWq_9ODVF^)0<^{L}ba#$KBh5;(IcigT-}86je;j;BATi7qhr^d%3c9#w@3_Pm|jNmcte}knGxT>(64JY=A)=kMfRj%fsi#S{NxCzs`zEZ?1DfQeZ z0vY&L>ydGNt28SYDla-Q13z8Lrt-cj=H@HHGp;*i>2dSoY*-(qzjLmw@)4u1W}J}6 zQ^5hcqyA27aq_1kfwB;r(x%Z7$#chjm~oup%;)52(Z2x#GCSWwRdMF=eF@L? z=6Jmk7(W~tj)ge$1f$~8vbCH|^_nA|olxS>TT(gKW-y6K0qHz%`+b@(kS9m5wBM^u zg*7MESjpz^)$Jz;V-=JoV!)XiIK4etBiUA@CFDw|X_Y28e=h9xdFLLP{^FOMoc9#z z8O=Arw0P(klV3C!pX8!HD8cz%o9n7N7Z!x?ySa@)APFK!pGm3ejc?5k0NBP)R5XK7**_!(>X3zFC_hR|YF?@0?ZP0VF6>(sX7^|O6sXK=7zF5(}T`R zj(wf%gC+zKnDwt;7F43_NUfiBL)6);>@W%UHGTU=XuIBFq?Kk1a({8%(w3r}DlBSG zq;P8#x%z8s>X?Rk@_IRQLmsBpNO(dF(lv#1RG}VB1@UcHs+SOUOwg0&Cv-o%#bBd6 zw6U!g{Q|-q>>Qz8nAk4#2o71p9)}lXa8%MQ_g-5`A(3VmU8Jw(XJ7H$%tkiHO8dGL z5ONd^%Gjc{_Y=a&9J90OD;8ztC*nKR#8*bjFll~`ss!v&^8Et2UGdfh6Bgrt%mjL{ zB!$zQoj~m*&vOW~+_;5F*drs*Smx99l)lh*qGz&ebApYsP zwuKS+{QhdLlz;qVQ6ey%-D_|pdEk9bnqjq!Kkw!?uG&vRC-FpR3^6kmxUH%~K{f&y z?&1DpN`&zljDVPl`q#!0s;TUqa1Qy+EE zBn`v@RQf45-Ahqk$Rh&y#ZJ7OJ{;rAF_;5tlb0Va4`V_Uo=puhVai}P3IEabY&a6% zIcq}w=?h7VDnF)-@g~Sb-%>E|9N^6OS95mb70sd%A$Prri9aqW3uPH>slK-6-zBq< z&G%4XB!MJ0CSPsJZ-y2(5{r+&|kz`IB2G#j`#qV~-q%>9Y=pBcC!V6|= zzuv&+5xIFKDYljq6ulcRDPuMu zcwxECl*xd%@KF7JG-ME+^cR%YH~egTYB8rnIgEBXQc0v<7cE62JoMt^zVza!S$v5% z<<9)3yCb`APP^mpy%A-K1sy3Fy;6QBp9sJsb=r~JwNIA8una_fdxhti&0fT;CC@e$}&^j!c0{)%TP$8 zvy4G}QvZthz9XD_{ILP%G8)3f%x3IF9>2tpLlMg$k765uRRPdAFO^y z5zha^hWEEM~JO&{LL zCyuNAD!dmZmTC8p8jFRq%N1Z1$O<(a56C;)XpK1czSvfbyiQcD7ym0#L95fZ`cY^u zdm9cJGf(W2kD{D)S+2+m-9CF>C17QZDe;#A+q#I(X}q>#BKZLOMpSngKxeqS5tMq> zC{4l982yo3PE%f=LFLKS_ttO8FiRfmEQF#qGxIB7gJFVZs{u5+o&z2-NNmmeq*_4q z`c|V`UWAk{Samjs_unQ%9h>Ofd7a-D^P_XGbCsfK-5yS*z`O(IJvo*?p2Z(9B@2$^ z1@ZK@ma*Ig&`BZ*VMyzk6gwSYpz@!p9#xUtAqk@IHK0#9I{L1>&Y$qS zND7zt2Q8xX5+9ug|Ci=Ll7||jfN5{ z&cY=Mvpbu zdWYJvx8;{yHHG8Ka<1FQ5XTtuE%9x!Q!Dcx^F5o*CAbrTXoZR64z)Dr&}#g)Vg(j% z*F%9nW1Y(J%!bgFpY9GaMTqT|3@mLu&V`hTLW=(sR^uY!jhK*2E=dv&By$d|Qm3k$ zi{KkQ$b#dxb`Cd|uq-t}Uzj}5P&=b!TZ7HTvdk#Rgo#Tz@odDpTR#$2OqE+|3Hf!q z&L`%$O+5kEvvcnB<&KODZz~gTedIuKAz3@8+NS`6w;A^MM7|#Xhpf@x+gu?jY*EW+ zX>EDha`6=Aub~#DPQ6uHaIN~@+AwpHU5;C~E~9QN=FBl6?aDGLIa_|AW;Y%yunyby?3JKp zxG=(zgQ@vbM$Wj8Vbu^UDe$z*&bCtvnF8cwj9hWw))vCT$4#ZzNKX=RWkMvGI3AOT zM3C~tOg~nYt-WvoX#$Xi0c-UGho-tip-2~PAU9X+^#BQ5wI>6{qSc|KoDdi4Eh|D- z2E+B*%G;VPb}CE410TD79R&=i=)Oke*iAwhg{s0qDU#w?gY2X|H-b9zt$={nbHB(4 zk`52bINI@^@~M$5+Y7?1{8)=0NllIcFhGkf#|0{T^aa=Ijv1#^ug;q4jX34dB+`~! z)fl8N?ps(%H?N)(tT_#jV#q6Nd`wVW60-AFRX6+Hm+hg=e}lJnz#*d0ZhCZZq#-?t2FY&_p;K z3$}<1puq{+H5fSCfsUD}W0@1&$EAjrYpAfcu56*fEq&XZY4sjq2t+GA#{WJ2Y*>;A z-y=CU+)%l^I*FU2`wa3+R)5H?NP>*EIfoyq=3t*~55b_0Xg6CaqL@%bOP8oZ4o$8b z9{;xWpmpUqn=?}!Lo*1x7{8Kgp(kzh*hqNSF=V3>b-?KKm~$U3<`1@CXJWy>@C+TB zDXpNr6M{x_&D)$55vDD65@Q`XuTHw~aU7PC)+QRhR0EU9=XNec2^aC^{p-(`M=3HNJ~_h_ir%ED+~_U(n}&;e+q z)#`B1-KgG9LsbbLQ)HJDadf)2&-DRzz>lvVxRU>81l8Zf@cuxhzv!H*5b)o4-T!G( z0L$kG8I{A3@;Q*_&}zrm=aySE6fWceU*|8QpZNX#Cu-z<18f6k_iz)+wTEDwH?6+> zF8p#tB%sq$OZ&r?Eme6A@!bc=c-hn`;nx>oWL;R5f(YW4x&5H{E6jC4P8+bv4{k;_w5QpMywGed zB4w(qI_RFQozY~0QCNZSyX(#SNWDDJpq9tOZ;ywRQeqUh&mhSr~RU|Zrca{Sy5EU=^lm2H-_G~pY@2eII(74@0 z;5`t0FcCd z(PxKh)FiF4Xd#QS*T&P`)%>_a6*J8Gj(!TgN8~Xjf@6t4Cm*%MKRd_i0dElGG$^9e zyQ0NYqkz_<_3*jda-^kl#$l%v%fQ!Hgz#e%R^}W;+Ojh}>0b#T1O68QoRj+}0UT}W zZ{$Rl5)ty7lrAdN%2wAzl5q=XOu%Y3CAcK&Cff|w-dnt+Ud9iyLx#iZ zbSY}HgJasi4s*RTMoVoUh_n^fAep^4tRt&^AUEFw5lqLIqgnH%UcNfuh)jbQ*60ju z>i6?5bS}%mQhO5!{YM}1jKQ28x9bH^EmZ_Kv}0R6Qj5M|8OsHxK-P*VC%VkyG_)B#7(y^&hy=*ia>lCgxMMNLa(g}nf#jGa zwzDajHrIU85S@NJT?MrY6!zpb1`&!ltoqKy;pT5=f;C$9-)P|teOA=&($uc%YXb+M zmfLLJ6gV~(Ta0gC&DnBoLWb=KqNYKb!ym$wrL-w$MNZ5kB4m@zW7gJ1$R@EJ$*Us$ zbA6*$<@((;~tLch_A_FY_g6*57Nyp z^ADCizT8cZh|HjZ1_)rP*ea8~;6~c2>f!Ro=@~h(st|-a9%AwVrr`51>ad^3}PMcq# z@c+OI&ogs1S7tYoS*}YD^Z1Q!-Q(d&2hQGpLm&^KS#aZ9vFUiEiCtFba6UNUNS|#^ zPVzL>@z9;l+5q~**2N9bVD3gO=F~$&64!q!g2G*jjgPzb8?SA?q>Y+WM^RO}QW0hc z8l0r6+{afoUzn4;t=?yATxvU)mK}G&1NcP}8jY1>^l9(GXrt%gE zDD+)I8-WtKb2;(i`3xe!HH}Tg%iBbT^J9H{WEMXp!O4iib~4&lI7rGtmawU_*PBNY zU$8PU&56sAgDno)=$<<_*B?nndFerWx)JV%$=K<>8Z(z~Os3?9y3rok5_@r&>@?Lq zH|=sVT9cpqIrJMRX-mt>%TnTw-B&mF-fKeLx=v=)O_!zcJjjy^LE^g4^^1U%s9;yx z-I3%MB-(??=vy3ytT$shLt}|PVq0D_W)g2#SyH+ZB^n%tT6d_Jf90{2967CQa)#gP z7@X1$H>}a#_TH($cFcP^XO@tY(>4;r(S(V#-72PF6krdd)t+x%-eh1vY&c=1hJ<_` zpQM*AZpAys?#YFSY?j=ewTTWF$*fFf?|eInr$C2|t?l59wAQin2r5u7_~jxr+$C>o zL|DGm{-(_wozqW=Ar=ozApW%97g& zlyetmD(Cm`1kYj|YL5#X?Js-wQ?2 zKo4ij0`Lzg>Fc_iJW)I{984L__t+(6(^miC1#lYBTxyVoWUV%$34|qRDYC}Bu+sL2 z?g+bxun^^&oiiJi;H29n!Ulh=wbi49(2{j#XAwWFnlirGLaVwNxQW300r(aDy;243 zQt_JL<_pPl9Po6*UjF{3tSx7Z4UXSPS2R?y=X}ZXKKsfZO=abkZw|(B*er~obfq&R-@f=bhUc5wpg7EZq$aD?pRtPSxvbfx@?Iz2SuHSQQ zHMu6oz)j|A*nWjj`R~Vml4JMdTVd&nP~t%=$iAX3zWjYo5pSKo!TeY7l6aBDL=X?% z=CH5XCA~p7g}Oc63fYjTYFELcuoRu4{Z3UD>-Ew=mS{4x`CH%MoU?~P`aCgpI>%t< z)Il9}i@FrKT0gap*jO=mW<;isGP8a24Mh@jbEid)Y_mH=7ISKUv%8M&Lq7iGPo059 ze`e?!MGSM<|0HcPCo1H)455r~=*-}7nht#^VI zzw*8k^Xig-x%{OmE^Vg8+a%SUEpLu(XKt6;$~v=W6Ke!t_YavWeG+M6gGUDt6N$sl zL*rURAgM@!I*hD6y>)%FE9FL6f&Y4u6^OpeU(^e@EO;B@kHq%99N+hE9*lo3?EHK| zk+20!=s&|mjtwUiCD?potZ8^qYFl}hB-KM|J-itLrJnrw841#R);@XbJa3{Ne4i#qAnzks;=i(=<&xm_=U!p>ZG_||HQ{O00IPk81BM)z{T4gBoBlbb{;E<%>n9c{VUCrj7&rS$<7SZH3{7UqG`?TyA57umO|zI zaFr}7j)?p`*ZQIxnF#E>rHBLs#DM+}D7wFPnhwc3vf6in5b1D)-CGc(T|$@93TCG# zLpcPqALIt(5gtUq#dg23*8Vb1*}3{Nd$%5KeNEfj49bwmnc%iiawjCpNoj@oh5m1h zO$EqXxU1Kq%4-C#YVG(yDF`d=Y@X1YCu|8BYcS86CZDM;h0U6!a{C>klJ!SL9T3rV zncB_8Ph%dAxT&RsS@ILKi*p-S`*MpUG~U0|L$Q$UiX!a&uFH$=N^iuzRpm|Zxy}<@`nn-O&D|3Pxpng}fbWHNlTp=?#cd)1OM2 zTF02tW1Y(g$pHUQvi8eExrCIR&_%q$^gMGZn(i%vDiWp*Re@__uo2Bu_c)kc2H;U8Xx3=ue?_#7pHjUNB#3PdVI+psp)6L=1IG2yDpFUumPeN2 z%v(wO)t&zxOi2=kAW>Fb$#bz^hphr%DiTc6KiSVJpFA1+SPN$WuZBcba*b-S%Pg}2 zGY~nH@w_Sdq@*2m{?e7+o#|;*TOJm9g8w4lV6xS#1yo`?<_$H{s!tC9dYkxmY(Af| z-->CY6^iIU_)0#mSwr!5DAlk9K?}_9kS3C8aT0^k)q&50%e?tQhCh8N@S2uew-WW4 z$z#s-`dSA}tN*RT#b$iDmQIXa9dsf^HYw8QFMmQYTqfePn#16EE4`H+Btj!(J^A#b zhodt8B_gQ(QQ7R#?9lyh0Vs%PSXkBO)k3qozj5`3n{^$#0kZerdPLxU3ZAcq2BS^c zO%+RHsy3?t!~U5tz&N^+YPEFdECc7mZkVmrQe=3}E+eG5m9PNpa~?AEw58xA311Vb zc)V-Un&j)Oa9Mq+TJ=W`N@+3$zcJAQ*xTP}oKGeG;vjwLffh5s-{C3k9X24HND5;z z(qz19D6lih36)^#z|G0(7UDH0^AWQjuX_ek3HOK@ua#NT($#}P!XXRW1s^bnc~4J8 z2x=sg{&qRd%tLn#*zz58RTXhKr~2WYE9D7w|E=26izL%>z(B%g37b3Qql?aB*Rvw0 zl9_Uh%F$S`i@_ZUm?LHL2upm{sRz8m-qVeKaBFBd0{qbFmzY`E%xosrWrlEkK%O&m zT9qs!Ymri6jPL6GO-M=r!mizE9+w4%XqY?2529re#zd2^=O^PY^#~6jed<4Dzqs5y zP1P-U;}zQFl?k873FWZt4qJ6tl_e{njKP%qLCCn{m0iJl3I21zosvh^LnyDv&|1$` z67ymEb9=#c=4}f~z%=(8t)00NBVC)Lzm&J1T3zAn!8$rK@rIA>_gk|?D$UUv;XW6S z3(k+r2@>$Q58V+NlAbCusZtQ~hNKm@Kmm>52@9bn>dGb5-0APrWfYM?EOiul7j>ve zh=d8F2Vxn21P@(`8YZWXIGf{VRvO{LI-7$>!lfJZfW6tYpiNZqm)E*yx)Li3MjwBH ztRfeJ(MTPgtRWne{%0+YqX^2jjEuuQmeJAR>?V#?M^S--TJLfRdTCGU z4Li$T3yL9yzK-@~Q}|QPpqU~U!o+J$qasN34?La(9hv<(0{4*XPj>u4A@G0B&i-SF z_8*Iu5I<0+oJShn%{o2Rn#frm0a)F=wJ;a%Trn(i^#}=F7Ix5OwI)KxiV+9>nU}6X#g{+|rbLav$!2PWkwr$us%8 zyX163saJ6QP2|brFo8o;)Jf`?&6v{J$ugwKPtwc^a;ULFe_-l*PuUG+-s28KJMsnj z(_Q;;rEy8^&nIpd5@w=&F4O}@xrSbE=sgzIxjr8shJ4^95clDj*m*~to^JoyvlSam za}i%}r>hRWNWdIfKNv|%e0hFHxy}vK+LWTYv7Ft188Fd#v@k|;7T`zx<_qs^gX8J5#ff^VMvf|kr?KaL>dmij8 zXPz9Cs`0-Mz@|~=)T;Ntg*F^IPLMkdbfr)f`bn%rM+g2GUaN`Z@^iNrVX#&-Ty4LK zUu?r_3OHfKYD=mc(1-Z`1t1z?elY0&PNk3~GnM_9jvsZP`U&_WNw$-*ZgJ&T?9&3J znp5D}H;^UfzU1%s(5=2G!7DoQWFlyvdT~cJW^7rUkAN$Q!oY#8deyBPbKhA{#E6|H z3?1(%&L(Vg&o|~!_lay9XXTd2qy7h-LZ_xF=>E_VNgP(>k%Zyyf!g6lT-P}eEvUQF z-)%3h`UH`ghLX&6`tes08WLs9%#)+GPNtzd`d47``z`SLf&Let)WELQ#WP~0B8U7) zgwg%zMmjU#p|{ag_M|_kORhL;7)Zby7f*Hj?Dfi;a!rM`%uCP<-X)LrzLPRQQF{ZB(j@L#~j>#Oe$sO4~gQ&gF#PF&xrx zX;J)bG^F~>S~g}M@peLlMKuv5V`6>@&phSr*UShsiMPGZ-~{@JG`U^2jERBq0S})v zvA1Hx?D;3po5dK%vwJ{8b2VqGwNiy~UB5pp+Y6dERsXz(jHM5wC6jh=zfT&E-S8E2xoKFzdO^{KB%RSxp#1`=?;9jjc>9ID*-Q-i1q^*Xt7 z_M%hm0D}_0I_0I9$bVzqIeDB<@U=HYJh^&!Y*#Fa^`nu}q?qupFW`*z)dy6o#H%c; zx{W=bHuE9ZO9BZ4nLeIg+`ortK)~j{SY{fxPW*#GSm;L;8=^a{4TMbS{d-`bv#VWn zl^0&X_h>?&P7jMD2HY~jiITdP9Hz&|p%!tAcWKNqR+aGR9i3inYLfrMSfbc&+Cai} zT+PtHM%f)@)1atN|e=-L%7R;9icV?yUHF&81$j7EIPA6 z10>8CiDHKirFkWO96Egt$7Z!6ER>N+?O_qFt4J>9Vc*QXyIU0N(B zJK*3sl10S|o!unVhll=NIf5`XVhEz?v{TbLEHJElpL?8%KoeT7M+uo8i{CGZZT>J& zeoqcQ_hUk)HZ+#|>C{6&m@Hhnn~u_l@pZ|Xpv`ojzSE7oD;Hk$?}0?+J=Y!};aL)> zl!HH`d_JzyG>kh(+d#Xgu4p+koW5HkhFE{We=k+uFIXAydl9~x;-jY{6H3)P%8rxP zN5NrWZJqXD6nxKUN)>7D4pBSvzG=Qr!k?Q#s%v6j)p!x#4c-66U@OzMDqOhh8mjY| zAcg*V;;Ub4E(p%%D;6=YSBC=iOCJ7nc`3}R5%2=iVj%kNrPKZtX>>}uqOY3%^(gy# z@!uBf{d|6@)2}GBmn*cGrw{zyJfeSx9$PIT73co~JWKZz!OD+xho?k;h62xZLEDZ9 z-V|S-=Z_&WZuUg-pJ8YARC4?ac2bvgqt8-j?Z;Iw&Q{@Nz*1({5hE=%212uTM=I){ z;+~IK+A;4f2hgGajyH)!nPk>#>b^sq15X##uX8KyZ+EwXpV8uR+ffWHT|@WxHh+Ni zQ~ZCyn`CmV1Ig*DV?qC>J_Yw*3TXy^bw%Pr=skX@p3XSFZ(O!B5{LyP@J&u=Jk}C9 zcROQ+b_)21?fl(?EpNwkvBTVWjEiW)5>J^?+^d3x4c6bq|L>NI=>ekL(=yIjijN6R zIxNl6K!3(?-pxqIGqm+Ij#Sq?d;|@Z=|#7u-9}lgB7;Xeu#*qlqQF8zKB#OUG&vtamCiG&GNX)=%jy-eu#Q+<+T%9FRT;K#2VE7YH+7>-zjw2uBL?mVtxLSoOPu${opHZ6DV z1-ei(3XMLPqswraJ-0(>g4W|zMveoglu@yLGw&nN9UV{^?eNPPdV_e?6gk+>gyrl3 z6BJ~k*ms`4&4fWD3>m#LmXb(TG6Vlapn^pxv}ADK9++Q(1-#iUzxQ(qyqHQvNS5?uyh7~9M;7f3Jh-!y51*Oet1 zSIPX!k7$~+Ed9|nsFY&TV#=0&?^o=t0i?xNXorgUf1*p{dDb7(ft4E!gK6|X1!G~H zRw9OsGYJlXL|M&m=o}mS`Itb*OdhCQt1r73ra|IFIgZhEg=Rf^5FC%O=_aiYLl&Z!FQa({&sWEi=UTl7&(`0QjJw$g)7=Lr ze|Pq>c_5`381(7z@6@Jnwv|`z|LK^loW8zM^{-sb7T4JVF|SxKy(lh`d?%#s zXQTropg-^!rdE^hMu?f=;X$0vS!hrZq?n_h^hWYf%G3GJ7d<+hu10@gEsj;N<5Fw_ zGE(H|eGJsP5vLrVqW{V~$QbX>$aWNi2gYlUp?vE`)zI zL8^G|*K(7t{QSK0bTAP9!F(=+e@AcRT0&U)nXJS^tpC~_6abZ?hM1;x1rAXdbHaK! zaP^f}yR+tjzD_dD*Ip4jy+5$dqo0+KwCU_=exAXtevGVz@;U zDM%8v3E3L-j&OD0nJ)#(&;JyqO9D4^;M3(MlXZ%`8S6J+>krXFNe_#!DE)B!y7@{~ zEJE3$NB29zAGzhD0{u)-G$)5nuX)q#k3+gwN^0EfJMUs{g)J8}gxJp@GVpyxCsy|P zeIo-VH!v+2jxqCT4%7a~x?ZWTQ8f$2NJ`_b32lxD0pYwUR=SOYUH{Ao#8z<9^HqRN zdpah~yJS_FWdbFHXH$^t?y(oEn3DI!>^YwH>+c_}t;=p2annp~88vcEyGn4LYIbF> z$+volcuRHDC{9mb1wCMk7=WU%eKy#DSMytR);9)9MwnuyHGiv3@X3_nnv~7ac z-*WpG#M`q6(idk(N<(Rxsm6K6^oP%Uj5TzCBNa4{T`Xxos7keEN9uT@+8;5SSdjJn zY;K>Dpk<1$P+#clE++M7`f%#1s5STivImK(82}SqVAIJf-l>3+oCLWUW2zUmj~0w0 zXfkQ zn2^upViLL;C<873E)ACtQijGTAbIZEiZNVp?vC^Ul;d1H z{npj-$=#JfTJq{z40L3x0?Y?7fcaP>U~RPR<#Y-KmF>FkOYO?A$oJ7``&gfG)NnU4s%-An5rEm6*fs?oWbi6Svyw%W{8j`>kP+cteS;@k`a zz))hrZR~#AQ(rx|dwt^$-R$DBEuA>7F09X0iKD;*{~|s2bh(U=Jf%JwGV9&S$uDqC z1A&exF8^3}Tg6{nd3Ztomn-3qK@h0O{FNg18VYBM_tDSeA!~_M?PrgodPPml-*sw~ zy5d0}KB=pGXP5DPjm%fph+kEc_%^$B3ym|%!<)6fmhU)umUXC|?hkri^P{4o&6{+7 zC~E^ZFCyM@;MvJ^=;10qjVf*~Mutb4b`Q^ki4LU)C9Nh3;dqRzB!J;KHX=^zdCxlIQ5IJ4pQT9<9LfG;JLrLJw&DRUow}8 zvdbC|n23vMzA)>ob_~ZuIDcm`VMr|OY(9FkSumx21)GtV+daYATzok~y&^l=n)hAY=_w$>$ia{$wWW-VEv-9itZRGeNi(fcC<%RQFnGrK`)n>- zXJ%x)rE3xjGSU2WxB7LH{nyQTFFeed+C6~9lIVq<%UA`pkw{Qp1bO?sFAd{Fwsi

psn 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

ur^HjRr4bRRx=z=m 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 literal 0 HcmV?d00001 diff --git a/src/Others/4.2_0x1f.c b/src/Others/4.2_0x1f.c new file mode 100644 index 0000000..27fa408 --- /dev/null +++ b/src/Others/4.2_0x1f.c @@ -0,0 +1,14 @@ +#include +#include +void main() { + char data[8]; + char str[8]; + printf("请输入十六进制为 0x1f 的字符: "); + sprintf(str, "%c", 31); + scanf("%s", data); + if (!strcmp((const char *)data, (const char *)str)) { + printf("correct\n"); + } else { + printf("wrong\n"); + } +} diff --git a/source/Reverse/flag_pwnablekr b/src/Reverse/flag_pwnablekr similarity index 100% rename from source/Reverse/flag_pwnablekr rename to src/Reverse/flag_pwnablekr diff --git a/source/Reverse/strings_crackme b/src/Reverse/strings_crackme similarity index 100% rename from source/Reverse/strings_crackme rename to src/Reverse/strings_crackme diff --git a/source/Reverse/xxd_crackme b/src/Reverse/xxd_crackme similarity index 100% rename from source/Reverse/xxd_crackme rename to src/Reverse/xxd_crackme