hackme ctf-re
7564 단어 ctf
__int64 sub_400F8E()
{
char v1[136]; // [rsp+10h] [rbp-B0h]
int v2; // [rsp+98h] [rbp-28h]
char v3; // [rsp+9Fh] [rbp-21h]
int v4; // [rsp+A0h] [rbp-20h]
unsigned __int8 v5; // [rsp+A6h] [rbp-1Ah]
char v6; // [rsp+A7h] [rbp-19h]
int v7; // [rsp+A8h] [rbp-18h]
int v8; // [rsp+ACh] [rbp-14h]
int v9; // [rsp+B0h] [rbp-10h]
int v10; // [rsp+B4h] [rbp-Ch]
_BOOL4 v11; // [rsp+B8h] [rbp-8h]
int i; // [rsp+BCh] [rbp-4h]
sub_407470((unsigned __int64)"Give me the password: ");
sub_4075A0((unsigned __int64)"%s");
for ( i = 0; v1[i]; ++i )
;
v11 = i == 22;
v10 = 10;
do
{
v7 = (signed int)sub_406D90() % 22;
v9 = 0;
v6 = byte_6B4270[v7];
v5 = v1[v7];
v4 = v7 + 1;
v8 = 0;
while ( v8 < v4 )
{
++v8;
v9 = 1828812941 * v9 + 12345;
}
v3 = v9 ^ v5;
if ( v6 != ((unsigned __int8)v9 ^ v5) )
v11 = 0;
--v10;
}
while ( v10 );
if ( v11 )
v2 = sub_407470((unsigned __int64)"Congras
");
else
v2 = sub_407470((unsigned __int64)"Oh no!
");
return 0LL;
}
우선 이 랜덤 함수는 내가 알아맞히지 못했지만 v10에서 이것은 랜덤 함수라고 추정할 수 있다. 왜냐하면 검증을 10번만 했기 때문에 대체적인 논리는 잘 볼 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
picoCTF 2022 ~basic-mod1 쓰기~We found this weird message being passed around on the servers, we think we have a working decryption scheme. Download t...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.