Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    mọi người giúp em xem code em sai ở đâu vậy ạ

    em muốn ghi BA,0x00 vào mã đầu của gettickcount 7c80932e thành BA 01 mà nó lại write thành hex khác là sao ạ
    nhờ các anh giúp em với ạ thank you
    Mã:
    	DWORD OldProtect, NewProtect = PAGE_EXECUTE_READWRITE;
    	HMODULE hmod = GetModuleHandle("Kernel32");
    	long pa = (long)GetProcAddress(hmod,"GetTickCount");
    	long pa2 = (long)OpenProcess2;
    	long dAddr = pa;
    	unsigned char *p = (unsigned char *)pa;
    	unsigned char *p2 = (unsigned char *)(&dAddr);
    
    	VirtualProtect((void *)pa,5,NewProtect,&OldProtect);
    
    	for (int i=0;i<5;i++)
    		Store[i] = p[i];
    
    	p2[0] = (unsigned char)0xBA,0x01;
    
    		p[1] = p[0];
    
    	VirtualProtect((void *)pa,2,OldProtect,&NewProtect);

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    học C cho tử tế rồi hẵng nghiên cứu mấy cái này bạn ơi.
    cái nền tảng mà không nắm chắc thì chả làm được gì đâu.

  3. #3
    em cần gấp lắm bác nào biết giúp em đi

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •