반응형

PC리버싱/dreamhack리버싱풀이 15

rev-basic-7 풀이

https://dreamhack.io/wargame/challenges/21 DIE가 3버전으로 업데이트되었습니다 문자열참조 분기조건전 BP 코드분석법에대해서 알고리즘을 구지보고 해독을안해도되는경우가있다 1111111111111111111111을 입력한후 변화를 보는것이다 대충저기까지하고 안되는것같아서 코드를해석한다 암호문 가는팁 c언어밑 기타언어용 암호해석알고리즘할떄 팁 주석들 입력가능한 범위는 33~126(10진수) 파일마개조로 알아내본다 실패했다 rol을 구현해야한다 디버거로 명령바꾸어요 그게 제일편해요 암덩어리 ROL해결 그리고 안되는걸 느끼면됩니다 안됩습니다 포기하세요 저게더어려워요 인라인 어셈블리어를 배우세요 그리고 어셈을 수정하세요 #include #include #include void m..

rev-basic-6 풀이

1번부터 차레대로보는걸추천합니다 https://dreamhack.io/wargame/challenges/20 전내용까지다생략 코드안을보면 이번에는 신기하다 cmp부분을보면 알고리즘은간단하다 문자열 입력한것에 밑에 드래그한공간을 더해서 위에 코드랑맞게하면된다 코딩은 알고리즘이 생각안나서 수동으로해본다 수동하는원리는간단하다 문자열 + 밑에 주소 = 값 즉 사전처럼 노가다로찻을수있다 그냥 crlt c눌러서 복사후 메모장 hxd로 그나마 편하게 노가한결과 노가다하는과정 2472 - 2400 - 20 = 52 0x52/0x65/0x70/0x6C/0x61/0x63/0x33/0x5F/0x74/0x68/0x65/0x5F/0x77/0x30/0x72/0x6C /0x64/NULL 이유 2420- 2400 - 20 = 0 끝..

rev-basic-5 풀이

1부터 보시는걸 추천합니다 https://dreamhack.io/wargame/challenges/19 PE는 생략 전체적인알고리즘 받은값 ABCD의경우 처음값A와B의 값 을 합한게 암호화된값이다 즉 A + B 는 암호화값이다 B + C등등으로 계속가야하니 알고리즘을짜기전에 팁을알려주겠다 여기서 덤프창에서 저렇게 드래그하고 crlt+ E를누르면 여기서 copy data부분을보면 이걸복사해서 배열을만들면된다 알고리즘으로 암호화값을얻고 그값은 반대이기때문에 한번 반대로만들면 된다 끝 소스코드 #include int main() { unsigned encrypt[] = { 0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB, 0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2,..

반응형