发一个CrackMe
本帖最后由 zbnysjwsnd8 于 2017-11-25 22:32 编辑要求:追码,其余的破解方式无效。
成功输出Success CC942EDE 403D51CE
找到了位置却读不懂指令 这是怎么回事
00E410AD f20f1025 4821e4>movsd xmm4,qword ptr ds:
00E410B5 0F57DB xorps xmm3,xmm3
00E410B8 83C4 0C add esp,0xC
00E410BB 66:0F28D3 movaps xmm2,xmm3
00E410BF 33F6 xor esi,esi
00E410C1 33C9 xor ecx,ecx
00E410C3 BA 01000000 mov edx,0x1
00E410C8 85F6 test esi,esi
00E410CA 7E 0C jle short Re.00E410D8
00E410CC 8D6424 00 lea esp,dword ptr ss:
00E410D0 41 inc ecx
00E410D1 0FAFD1 imul edx,ecx
00E410D4 3BCE cmp ecx,esi
00E410D6^ 7C F8 jl short Re.00E410D0
00E410D8 66:0F6ECA movd mm1,edx
00E410DC f30fe6c9 cvtdq2pd xmm1,xmm1
00E410E0 66:0F2ECB ucomiss xmm1,xmm3
00E410E4 9F lahf
00E410E5 F6C4 44 test ah,0x44
00E410E8 7B 15 jpo short Re.00E410FF
00E410EA 66:0F28C4 movaps xmm0,xmm4
00E410EE f20f5ec1 divsd xmm0,xmm1
00E410F2 46 inc esi
00E410F3 f20f58d0 addsd xmm2,xmm0
00E410F7 81FE 00000010 cmp esi,0x10000000
00E410FD^ 76 C2 jbe short Re.00E410C1
00E410FF f20f115424 08 movsd qword ptr ss:,xmm2
00E41105 E8 F6FEFFFF call Re.00E41000
00E4110A f20f114424 10 movsd qword ptr ss:,xmm0
00E41110 f20f1005 5821e4>movsd xmm0,qword ptr ds:
00E41118 E8 23090000 call <jmp.&MSVCR110._libm_sse2_sqrt_precise>
00E4111D 66:0F28C8 movaps xmm1,xmm0
00E41121 f20f590d 4021e4>mulsd xmm1,qword ptr ds:
00E41129 f20f104424 10 movsd xmm0,qword ptr ss:
00E4112F f20f5c0d 4021e4>subsd xmm1,qword ptr ds:
00E41137 E8 FE080000 call <jmp.&MSVCR110._libm_sse2_pow_precise>
00E4113C f20f100d 7033e4>movsd xmm1,qword ptr ds:
00E41144 f20f5e0d 6021e4>divsd xmm1,qword ptr ds:
00E4114C f20f114424 10 movsd qword ptr ss:,xmm0
00E41152 f20f104424 08 movsd xmm0,qword ptr ss:
00E41158 E8 DD080000 call <jmp.&MSVCR110._libm_sse2_pow_precise>
00E4115D f20f100d 7033e4>movsd xmm1,qword ptr ds:
00E41165 f20f5e0d 6821e4>divsd xmm1,qword ptr ds:
00E4116D f20f114424 18 movsd qword ptr ss:,xmm0
00E41173 f20f104424 08 movsd xmm0,qword ptr ss:
00E41179 E8 BC080000 call <jmp.&MSVCR110._libm_sse2_pow_precise>
00E4117E f20f584424 18 addsd xmm0,qword ptr ss:
00E41184 f20f5905 5821e4>mulsd xmm0,qword ptr ds:
00E4118C E8 AF080000 call <jmp.&MSVCR110._libm_sse2_sqrt_precise>
00E41191 f20f104c24 10 movsd xmm1,qword ptr ss:
00E41197 f20f59c8 mulsd xmm1,xmm0
00E4119B f20f1005 7033e4>movsd xmm0,qword ptr ds:
00E411A3 f20f114c24 10 movsd qword ptr ss:,xmm1
00E411A9 E8 86080000 call <jmp.&MSVCR110._libm_sse2_cos_precise>
00E411AE f20f584424 10 addsd xmm0,qword ptr ss:
00E411B4 E8 87080000 call <jmp.&MSVCR110._libm_sse2_sqrt_precise>
00E411B9 f20f114424 10 movsd qword ptr ss:,xmm0
00E411BF 817C24 10 DD220>cmp dword ptr ss:,0x960222DD
00E411C7 74 07 je short Re.00E411D0 这里不跳就失败
00E411C9 68 2021E400 push Re.00E42120 ; Fail!
00E411CE EB 0F jmp short Re.00E411DF
00E411D0 817C24 14 64841>cmp dword ptr ss:,0x40118464 再次和?验证
00E411D8^ 75 EF jnz short Re.00E411C9 不跳就成功
00E411DA 68 2821E400 push Re.00E42128 ; Success!
等楼下的答案 看楼上CB数,等楼下答案 wgz001 发表于 2017-11-26 08:42
等楼下的答案
膜拜玩公子这点东西对你来说应该很简单的吧! 凑个热闹,支持一下 西交范略 发表于 2017-11-27 15:19
CC942EDE 403D51CE
大佬 怎么做的 本帖最后由 西交范略 于 2017-11-27 23:53 编辑
我的做法是这样:
这题要看懂指令
最后可以得到方程f(x)
其中e是用e^x直接泰勒来算
pi是用了arctanx的展开
解f(x)=4.379289955025084x=29.31956175439597 (因为精度原因,和用matlab解出来有差别,后几位我是试错的)
转成符合程序要求的浮点形式
得到CC942EDE 403D51CE
注意到f(x)=f(-x) f(x)是偶函数 -x=-29.31956175439597也是解
于是另一个解 CC942EDE C03D51CE
页:
[1]
2