반응형

전체 글 229

리버싱 도구들에관하여 개인적인생각

디버거류 1 올리디버거 장점안정성및 가장많은 자료가 저장되있다 단점 새로나온디버기들에비해 기능이조금부족해졌다 2IDA 장점 그래픽뷰 기타등등 아이다기능들은 편리하고 범용성이좋다 단점 로딩느려 3x64dbg 장점 업데이트를하고있고 올디랑은다르게 계속기능들이업되고있다 단점 아직 자료들이 조금부족한 경향이있지만 이건 시간이 해결할것이다 4windbg 장점 안써봄 단점 안써봄 5dnspy 장점 디컴파일과 디버거가 같이있다 단점 아직모르겠다 6ilspy 장점 컴파일이잘된다 단점 아직모르겠다 7.net reflector 장점 컴파일이잘된다 단점 안될떄도있고 유로다 pe 해더분석툴들 1peid 2exeinfope 난독화해제 de4dot 핵파일분석용 비교분석툴 winmerge 기타쓰는툴들 notepad++ hxd

레지스터(Register)의 이해

레지스터(Register)의 이해 리버스 엔지니어링(Reverse Engineering)을 하는데 있어 여러 가지 지식이 많이 필요한데, 그 중 하나가 바로 레지스터(Register)이다. 레지스터는 CPU(Central Processing Unit)가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치이다.실제로 컴퓨터에서 데이터를 영구적으로 저장하기 위해서는 하드디스크를 이용해야 하고,임시적으로 저장하는 장소를 메모리(RAM)이라고 알고 있을 것이다.하지만 메모리로 연산의 결과를 보내고 영구적으로 저장할 데이터를 하드디스크에 저장해야 하는 등의명령을 처리하기 위해서는 이들에 대한 주소와 명령의 종류를 저장할 수 있는 기억 공간이 하나 더 필요하다.그리고 이 공간은 무리 없이 명령을 수행하..

더쉽게배워보자 레지스터에대하여

리버싱기초를배우고 레지스터글을보았습니다 아직도 어렵나요 그래서 이글을 준비했습니다 이글은 초보자도 쉽게 리버싱을하기위해 쉽게요약할글이고 1+1을알고1x1등을하든 단계별로만들었습니다 이걸읽고 다시제글을 읽으러가시죠 일단 PC부터배워보죠 EAX (연산및 리턴등 다용도(ACCUMLATE) EBX (다용도(BASE)) ECX (일반적으로 반복문이나 문자열복사시 카운드(count용)) EDX (연산) ESI (복사시 원본주소) EDI (복사시 원본주소) EBP (스택시작주소) ESP (스택끝주소) EIP (다음의실행할명령주소) 세그먼트 레지스터 다른글참조 플래그 레지스터 다른글참조

안드로이드 게임 모딩에대한 나의생각

1PC에비해서 안드쪽은 자체엔진이아니고 다르게 값을저장하지않는이상 유니티는 mono,il2cpp 언리얼은 so파일 정적분석 코코스는 so파일 정적분석이다 mono에 보안과 더빠른실행력으로만든게 il2cpp인데 왠지 유저들은 더느리고 별로라고한다 하지만 추세를보면 il2cpp로 대부분 넘어가는추세이다 아마도 mono 크랙법등이 점점 퍼지고있는것같다 기본적으로 IDA등으로 so파일 정적분석만 하고 약간의 리버싱지식만있으면 초보자도 할수있다 또다른 모딩인 class.dex파일을 뜯는것에대해서는 자바하고 난독화들이 이미많이개발되어있다] 몇몇유니티게임들도 난독화해서 몇개만들었지만 il2cpp화된것도 class.dex 난독화보다는 쉽게할수있다 메소드자체를 암호화시키면 그나마 좀낫을것같다

안드로이드 2020.03.14

초보자를위한 리버싱 간단요약1

https://dhhd-goldmilk777.tistory.com/15 이글을먼저보고오시는걸 추천드립니다 생초보자를 위한 리버싱 기초잡이1 이자료은 연구용이고 악의적인의도로 사용할시 책임은 사용자에게 있습니다 1 리버싱의 관한 간단한 비유 리버싱을 간단하게비유해보죠 샤프를 예시로해보죠 샤프를분해하면 샤프앞에 샤프심나오게하는 구멍 스프.. dhhd-goldmilk777.tistory.com 이글을 보셨다면 이제 대충 리버싱이 저런툴을가지고 프로그램의 동작원리를 아는것구나 라고생각했다면 네 잘이해하셨습니다 리버싱을할려면 조금이라도 어셈블리어를 알아야합니다 이걸 간단하게 요약해서하죠 주의(이건 요약을꽤많이해서한걸로 다른글들을참고해서보는걸 추천드립니다) 일단적으로 레지스터등은 좀어려울것니 명령어부터간단한것 알려..

생초보자를 위한 리버싱 기초잡이2미완성

1 CPU와 레지스터들1.1 CPUCPU는 컴퓨터에서 인간의머리 부분입니다우리는 프로그램을 공격해야함으로 이지겨운걸 배워야합니다망할일반적으로 cpu는 연상 장치 제어 장치 레지스터로 구성되어있고연산은 연산및 논리 연산등 수학적인걸 하고제어장치는 메모리에서 기계어 코드를 읽고 해석후 실행합니다레지스터는 연산을 위해 CPU가 사용되는 데이터 저장소로 후에어디사용되는지알려드리죠먼저 레지스터부터 한번보죠 일단사진에서젤먼저보이는 EAX ECX EBX EDX 를알아볼까요? EAX는 계산(Accumulator)용으로곱셈과 나눗셈등계산에자주쓰입니다 ECX 횟수(count)용으로 반복문(loop)에쓰입니다 EBX (base addr)용주소지정할때쓰입니다 EDX 데이터(data)용이고 곱셈과 나눗셈에eax랑같이쓰입니다나머..

생초보자를 위한 리버싱 기초잡이1

이자료은 연구용이고 악의적인의도로 사용할시 책임은 사용자에게 있습니다 1 리버싱의 관한 간단한 비유 리버싱을 간단하게비유해보죠 샤프를 예시로해보죠 샤프를분해하면 샤프앞에 샤프심나오게하는 구멍 스프링 샤프심통 몸채 뒤에샤프심눌러서 나오게하는 뚜겅이있어야합니다 리버싱도 이와같습니다 간단한 예시를 보여주죠 간단한 코드입니다 printf()로 안에 REVERSING START를출력하고 system(pause)로 정지합니다 이제간단한 리버싱을보여주죠 https://drive.google.com/file/d/1fbxFumrB5pEKlwhRsPIEhHPvzYGMTq09/view?usp=sharing 불러오는 중입니다... 이건 위파일을 컴파일한 파일입니다 https://youtu.be/Vthciu3ODGM 이영상으로..

리버싱 어셈블리어명령어에관하여

INC(Increase) 피연산자에 1을 더한다 연산 결과에 따라 ZF나 OF가 세트될 수 있다 ex) INC reg INC mem DEC(Decrease) 피연산자에 1을 뺀다 연산 결과에 따라 ZF나 OF가 세트될 수 있다 ex) DEC reg DEC mem ADD(Add) Destination에 Source의 값을 더해서 Destination에 저장하는 명령어이다. 연산 결과에 따라 ZF, OF, CF가 세트될 수 있다 ex) ADD destination, source ADD eax, 123 SUB(subtract) Destination에 Source의 값을 빼서 Destination에 저장하는 명령어이다. 연산 결과에 따라 ZF, OF, CF가 세트될 수 있다 ex) SUB destination,..

반응형