有一个软件,安装时要输入密码,经过分析已经找到了关键代码和数据,但验证过程无法求逆,想请各位大虾指教:
程序代码:
100030FB /$ 56 PUSH ESI
100030FC |. B8 FFFFFFFF MOV EAX,-1 ;运算的一个参数0xffffffff
10003101 |. 57 PUSH EDI
10003102 |. 8BF2 MOV ESI,EDX
10003104 |. 03D0 ADD EDX,EAX
10003106 |. 85F6 TEST ESI,ESI
10003108 |. 74 24 JE SHORT ginstall.1000312E
1000310A |> 0FB631 /MOVZX ESI,BYTE PTR DS:[ECX] ;第一次esi=0x34
1000310D |. 0FB7F8 |MOVZX EDI,AX ; 一个参数,第一次edi=0xffff
10003110 |. C1E8 08 |SHR EAX,8 ; 参数变换,第一次eax=0x00ffffff
10003113 |. 33F7 |XOR ESI,EDI ; 0x34 xor 0xFFFF = 0xFFCB
10003115 |. 81E6 FF000000 |AND ESI,0FF ; esi=0xCB
1000311B |. 41 |INC ECX
1000311C |. 8B34B5 70FC00>|MOV ESI,DWORD PTR DS:[ESI*4+1000FC70] ;查表运算,无法解决的问题。
10003123 |. 33F0 |XOR ESI,EAX ; 再将查表结果参与一次异或运算
10003125 |. 8BC6 |MOV EAX,ESI ; 前一次运算的结果参与下一次运算,这也是难点之一
10003127 |. 8BF2 |MOV ESI,EDX
10003129 |. 4A |DEC EDX
1000312A |. 85F6 |TEST ESI,ESI
1000312C |.^ 75 DC \JNZ SHORT ginstall.1000310A
1000312E |> F7D0 NOT EAX
10003130 |. 5F POP EDI
10003131 |. 5E POP ESI
10003132 \. C3 RETN ;最后的结果必须是eax=0x637c5355
进入入口时的寄存器初始状态:
EAX 00000002 输入密码的长度
ECX 0012F598 ASCII "42" 输入密码值
EDX 00000003 输入密码的长度+1
EBX 00583D28
ESP 0012F590 栈顶
EBP 0012F798
ESI 00000419 无关
EDI 00000111 无关
EIP 100030FB
所要查的表格(数字看起来根本没有规律):
1000FC70 00 00 00 00 96 30 07 77 2C 61 0E EE BA 51 09 99 ....?w,a詈Q.?
1000FC80 19 C4 6D 07 8F F4 6A 70 35 A5 63 E9 A3 95 64 9E 捻?jp5ャ椋??
1000FC90 32 88 DB 0E A4 B8 DC 79 1E E9 D5 E0 88 D9 D2 97 2?じ荠檎?僖?
1000FCA0 2B 4C B6 09 BD 7C B1 7E 07 2D B8 E7 91 1D BF 90 +L?近炳-哥??
1000FCB0 64 10 B7 1D F2 20 B0 6A 48 71 B9 F3 DE 41 BE 84 d??瓣Hq贵蘖?
1000FCC0 7D D4 DA 1A EB E4 DD 6D 51 B5 D4 F4 C7 85 D3 83 }在脘蓓Q翟羟??
1000FCD0 56 98 6C 13 C0 A8 6B 64 7A F9 62 FD EC C9 65 8A V?括kdz??慑?
1000FCE0 4F 5C 01 14 D9 6C 06 63 63 3D 0F FA F5 0D 08 8D O\凫cc=?.?
1000FCF0 C8 20 6E 3B 5E 10 69 4C E4 41 60 D5 72 71 67 A2 ?n;^iL淞`镇qg?
1000FD00 D1 E4 03 3C 47 D4 04 4B FD 85 0D D2 6B B5 0A A5 唁<G?K?.译??
1000FD10 FA A8 B5 35 6C 98 B2 42 D6 C9 BB DB 40 F9 BC AC ??l?B稚慧@??
1000FD20 E3 6C D8 32 75 5C DF 45 CF 0D D6 DC 59 3D D1 AB 沆?u\吲?周Y=勋
1000FD30 AC 30 D9 26 3A 00 DE 51 80 51 D7 C8 16 61 D0 BF ??:.扪?兹a锌
1000FD40 B5 F4 B4 21 23 C4 B3 56 99 95 BA CF 0F A5 BD B8 掉?#某V?合ソ?
1000FD50 9E B8 02 28 08 88 05 5F B2 D9 0C C6 24 E9 0B B1 ?(?_操.???
1000FD60 87 7C 6F 2F 11 4C 68 58 AB 1D 61 C1 3D 2D 66 B6 ?o/LhX?a?-f?
1000FD70 90 41 DC 76 06 71 DB 01 BC 20 D2 98 2A 10 D5 EF ?荟q???*诊
1000FD80 89 85 B1 71 1F B5 B6 06 A5 E4 BF 9F 33 D4 B8 E8 ?瘪刀ヤ?3愿?
1000FD90 A2 C9 07 78 34 F9 00 0F 8E A8 09 96 18 98 0E E1 ⑸x4??.???
1000FDA0 BB 0D 6A 7F 2D 3D 6D 08 97 6C 64 91 01 5C 63 E6 ?j-=m?d?\c?
1000FDB0 F4 51 6B 6B 62 61 6C 1C D8 30 65 85 4E 00 62 F2 粞kkbal?e?.b?
1000FDC0 ED 95 06 6C 7B A5 01 1B C1 F4 08 82 57 C4 0F F5 ?l{?留???
1000FDD0 C6 D9 B0 65 50 E9 B7 12 EA B8 BE 8B 7C 88 B9 FC 瀑板P榉旮?|??
1000FDE0 DF 1D DD 62 49 2D DA 15 F3 7C D3 8C 65 4C D4 FB ?葩I-?簏?eL喳
1000FDF0 58 61 B2 4D CE 51 B5 3A 74 00 BC A3 E2 30 BB D4 Xa餐窝?t.迹?辉
1000FE00 41 A5 DF 4A D7 95 D8 3D 6D C4 D1 A4 FB F4 D6 D3 AミJ??m难?糁?
1000FE10 6A E9 69 43 FC D9 6E 34 46 88 67 AD D0 B8 60 DA j殚C?n4F??膏?
1000FE20 73 2D 04 44 E5 1D 03 33 5F 4C 0A AA C9 7C 0D DD s-D?3_L.?|.?
1000FE30 3C 71 05 50 AA 41 02 27 10 10 0B BE 86 20 0C C9 <qP?'? .?
1000FE40 25 B5 68 57 B3 85 6F 20 09 D4 66 B9 9F E4 61 CE %佃W?o .枣?溽?
1000FE50 0E F9 DE 5E 98 C9 D9 29 22 98 D0 B0 B4 A8 D7 C7 ?^??"?按ㄗ?
1000FE60 17 3D B3 59 81 0D B4 2E 3B 5C BD B7 AD 6C BA C0 =迟??;\椒?豪
1000FE70 20 83 B8 ED B6 B3 BF 9A 0C E2 B6 03 9A D2 B1 74 ?矶晨?舛?濒
1000FE80 39 47 D5 EA AF 77 D2 9D 15 26 DB 04 83 16 DC 73 9G贞??&??荏
1000FE90 12 0B 63 E3 84 3B 64 94 3E 6A 6D 0D A8 5A 6A 7A c?;d?jm.ㄚjz
1000FEA0 0B CF 0E E4 9D FF 09 93 27 AE 00 0A B1 9E 07 7D ?????.?}
1000FEB0 44 93 0F F0 D2 A3 08 87 68 F2 01 1E FE C2 06 69 D?鹨????i
1000FEC0 5D 57 62 F7 CB 67 65 80 71 36 6C 19 E7 06 6B 6E ]Wb魉ge?6l?kn
1000FED0 76 1B D4 FE E0 2B D3 89 5A 7A DA 10 CC 4A DD 67 v轧??Zz?淌葭
1000FEE0 6F DF B9 F9 F9 EF BE 8E 43 BE B7 17 D5 8E B0 60 o吖?锞?痉?班
1000FEF0 E8 A3 D6 D6 7E 93 D1 A1 C4 C2 D8 38 52 F2 DF 4F 瑁种~?∧仑8R蜻O
1000FF00 F1 67 BB D1 67 57 BC A6 DD 06 B5 3F 4B 36 B2 48 耒谎gW鸡??K6踩
1000FF10 DA 2B 0D D8 4C 1B 0A AF F6 4A 03 36 60 7A 04 41 ?.靥.?J6`zA
1000FF20 C3 EF 60 DF 55 DF 67 A8 EF 8E 6E 31 79 BE 69 46 蔑`哒哏??1y鹃F
1000FF30 8C B3 61 CB 1A 83 66 BC A0 D2 6F 25 36 E2 68 52 ?a??歼绎%6忤R
1000FF40 95 77 0C CC 03 47 0B BB B9 16 02 22 2F 26 05 55 ?.?G还"/&U
1000FF50 BE 3B BA C5 28 0B BD B2 92 5A B4 2B 04 6A B3 5C ?号(讲??j耻
1000FF60 A7 FF D7 C2 31 CF D0 B5 8B 9E D9 2C 1D AE DE 5B ?茁1闲??,?[
1000FF70 B0 C2 64 9B 26 F2 63 EC 9C A3 6A 75 0A 93 6D 02 奥d?蜚?ju.?
1000FF80 A9 06 09 9C 3F 36 0E EB 85 67 07 72 13 57 00 05 ?.?6?grW.
1000FF90 82 4A BF 95 14 7A B8 E2 AE 2B B1 7B 38 1B B6 0C ??z糕?丙8?
1000FFA0 9B 8E D2 92 0D BE D5 E5 B7 EF DC 7C 21 DF DB 0B ??.菊宸镘|!咣
1000FFB0 D4 D2 D3 86 42 E2 D4 F1 F8 B3 DD 68 6E 83 DA 1F 砸?B庠聒齿hn?
1000FFC0 CD 16 BE 81 5B 26 B9 F6 E1 77 B0 6F 77 47 B7 18 ??[&滚狩帮wG?
1000FFD0 E6 5A 08 88 70 6A 0F FF CA 3B 06 66 5C 0B 01 11 孚?j?f\
1000FFE0 FF 9E 65 8F 69 AE 62 F8 D3 FF 6B 61 45 CF 6C 16 ?e????aE响
1000FFF0 78 E2 0A A0 EE D2 0D D7 54 83 04 4E C2 B3 03 39 x?_羁自?N鲁9
10010000 61 26 67 A7 F7 16 60 D0 4D 47 69 49 DB 77 6E 3E a&g?`型GiI埙n>
10010010 4A 6A D1 AE DC 5A D6 D9 66 0B DF 40 F0 3B D8 37 Jj旬苴仲f呃??
10010020 53 AE BC A9 C5 9E BB DE 7F CF B2 47 E9 FF B5 30 S?┡??喜G??
10010030 1C F2 BD BD 8A C2 BA CA 30 93 B3 53 A6 A3 B4 24 蚪?潞??SΓ?
10010040 05 36 D0 BA 93 06 D7 CD 29 57 DE 54 BF 67 D9 23 6泻?淄)W拊跨?
10010050 2E 7A 66 B3 B8 4A 61 C4 02 1B 68 5D 94 2B 6F 2A .zf掣Ja?h]?o*
10010060 37 BE 0B B4 A1 8E 0C C3 1B DF 05 5A 8D EF 02 2D 7?础???Z?-
10010070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
[课程]Android-CTF解题方法汇总!