반응형
1부터 보시는걸 추천합니다
https://dreamhack.io/wargame/challenges/19
PE는 생략

전체적인알고리즘
받은값 ABCD의경우
처음값A와B의 값 을 합한게
암호화된값이다
즉
A + B 는 암호화값이다
B + C등등으로 계속가야하니
알고리즘을짜기전에 팁을알려주겠다

여기서 덤프창에서 저렇게 드래그하고 crlt+ E를누르면

여기서 copy data부분을보면

이걸복사해서 배열을만들면된다

알고리즘으로 암호화값을얻고
그값은 반대이기때문에
한번 반대로만들면 된다

끝
소스코드
#include <stdio.h>
int main()
{
unsigned encrypt[] = {
0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB, 0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2, 0xD6, 0xA8, 0xA5,
0xDC, 0xC7, 0xAD, 0xA3, 0xA1, 0x98, 0x4C, 0x00
};
;
int a = 22;
int b = 0;
while (a != -1)
{
b = encrypt[a] - b;
printf("%c", b);
a--;
}
char encryptSTR[] = "LLUN_ht1w_sdn3_ef1l_llA";
a = 23;
b = 0;
printf("\n");
while (a != -1)
{
b = encryptSTR[a];
printf("%c", b);
a--;
}
}
반응형
'PC리버싱 > dreamhack리버싱풀이' 카테고리의 다른 글
rev-basic-7 풀이 (1) | 2020.08.11 |
---|---|
rev-basic-6 풀이 (0) | 2020.05.29 |
워게임 전체적인 과정 (0) | 2020.05.29 |
rev-basic-4 풀이 (0) | 2020.05.14 |
rev-basic-3 풀이 (0) | 2020.05.14 |