알짜정보
* 이곳은 여러가지 Tip&Tech에 대한 내용을 공유하는 곳입니다.

조회 수 847 추천 수 0 댓글 3
Atachment
첨부 '3'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


이 팁은 포스몬 님의 Readmemory 포인터 편을 읽고 만들어졌습니다.

나머지 상세한 부분은 포스몬님의 글을 참고 하시면 됍니다.

 

z.jpg

 

포스몬님의 강좌에서 나온 포인터는 getProcessBaseAddress 사용하여

 exe Base Address 값을 얻을수 있지만

포인터 주소가 프로그램에서 DLL 을 경유 할경우

getProcessBaseAddress 사용하여 Base Address 값을 얻을수 없습니다.

그래서 다른 DLL 콜 을 사용하여 PID 를 거쳐서 DLL Base Address 값을 읽어야합니다.

 

base2.jpg

 

프로그램의 Base Address 는 위 빨간색 네모를 뜻합니다.

64비트 기준 이며 아래 첨부한 DLL 콜 기능 사용하시면 됍니다.

GetDLLbase 64bit.ahk

GetDllBase(DllName, PID = 0)
{
    TH32CS_SNAPMODULE := 0x00000008
    INVALID_HANDLE_VALUE = -1
    structSize:=(A_IsUnicode ? 1032 : 516) + (A_PtrSize=8?48:32)
    VarSetCapacity(me32, structSize, 0)
    NumPut(structSize, me32)
    snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", TH32CS_SNAPMODULE
                                                 , "Uint", PID)
    If (snapMod = INVALID_HANDLE_VALUE) {
        Return 0
    }
    If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32)){
        while(DllCall("Module32Next", "Uint", snapMod, "UInt", &me32)) {
            If !DllCall("lstrcmpi", "AStr", DllName, "UInt", &me32 + (A_PtrSize=8 ? 48 : 32)){
                DllCall("CloseHandle", "UInt", snapMod)
                Return NumGet(&me32 + (A_PtrSize=8 ? 24 : 20),A_PtrSize=8 ? "UInt64" : "UInt")
            }
        }
    }
    DllCall("CloseHandle", "Uint", snapMod)
    Return 0
}

다음 소스코드 는 예제입니다.

Process = jusched.exe
DllName = kernel32.dll

Process, Exist, %Process%

PID = %ErrorLevel%

Base := GetDllBase(Dllname,PID)

Msgbox,%base%

 

msgbox로 나온 Base Address 값을 비교해서 확인해보시면 됍니다.

 

이후는 포스몬님 강좌에 나온 내용을 참고하시면 됍니다.

 

 

 

 

 

 

 

 

 

 




List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
82 기타 관리자에 의해 비밀글 전환 1 secret 블랙조 2019.10.10 2 0
81 지존오토 vm 키보드 마우스 질문 hkbxdxd 2018.12.31 425 0
80 하드웨어 AMD ThreadRipper 8월10일 출시 1 file Algorithm 2017.06.14 297 0
79 하드웨어 AMD 라이젠 7 릴리즈 4 Algorithm 2017.02.23 307 0
78 하드웨어 AMD 라이젠 2월28일 출시? 1999위안? 3 file Algorithm 2017.02.08 220 0
77 기타 내용추가)타 프로세스 캡션명 변경하기 9 file Pras 2016.12.11 700 1
76 오토핫키 오토핫키로 엑셀 작업하기!2 ( 최대 행,열 구하기 ) Info 2016.11.29 1044 0
75 오토핫키 오토핫키로 엑셀 작업하기! (엑셀 기본) 3 Info 2016.11.28 2660 0
74 오토핫키 시작 / 정지 를 하는 스크립트 포스몬 2016.11.16 521 0
73 오토핫키 오토핫키 시작 단축키 하나로 일시정지까지 끝판왕 2 ShinZ 2016.11.15 1852 0
72 오토핫키 Settimer 대신 쓰는 실시간 초 분석 ShinZ 2016.11.13 330 0
71 기타 악성 루트킷 xhunter1 기능상실하게 하기 7 file ShinZ 2016.11.08 675 1
70 지존오토 이항 삼항 연산자 쉽게 하기 ShinZ 2016.10.28 415 0
69 오토핫키 날짜만료계산 소스[공개된버전] 2 file 포스몬 2016.10.21 471 0
68 오토핫키 색깔변경~ 2 AutoProMaker 2016.10.17 165 0
67 오토핫키 tab 안에 tab 1 AutoProMaker 2016.10.07 237 0
66 오토핫키 허접 소스 3 ShinZ 2016.10.05 232 0
65 하드웨어 KT 기가오피스, PC방 전용 서비스 '게임허브' 출시 1 file Algorithm 2016.10.04 220 0
64 하드웨어 i7 7700k 카비레이크 벤치마크 가 나왔습니다. 3 file Algorithm 2016.10.04 139 0
63 하드웨어 VGA GTX 750 TI VS GTX 660 1 file Algorithm 2016.09.19 237 0
62 오토핫키 Process Suspend/Resume 1 file Algorithm 2016.09.19 282 0
61 기타 Npk Unpack 0.4 ver (by Mero) 4 file Algorithm 2016.09.18 442 0
60 하드웨어 2018년 2분기 6코어 메인 스트림 커피레이크 출시 1 file Algorithm 2016.09.18 73 0
59 하드웨어 저전력을 위한 그래픽카드 구성 1 file 김효복(소장) 2016.09.17 234 0
58 하드웨어 다중작업을 위한 조립PC 구성 6 file 김효복(소장) 2016.09.17 306 0
57 하드웨어 저전력 마이크로서버(라즈베리파이)로 리눅스 크론탭 사용하기 file 김효복(소장) 2016.09.17 124 0
56 오토핫키 Read memory value type 변경하기 4 file Algorithm 2016.09.16 215 0
55 지존오토 지존오토 싸인코드3 걸린다는 분 필독 6 ShinZ 2016.09.09 1542 0
» 오토핫키 Read memory 포인터 DLL Base Address 값 얻기 3 file Algorithm 2016.08.03 847 0
53 오토핫키 FPS게임, 마우스 화면 중앙고정 프로그램에서 에임 및 마우스 움직이는 방법 16 AutoProMaker 2016.08.01 1932 0
Board Pagination Prev 1 2 ... 3 Next
/ 3