基礎資料型別在記憶體中的儲存空間
int - 4位元組
float - 4位元組
double - 8位元組
long - 4位元組或8位元組
char - 1位元組
short - 2位元組
我們都知道,a ^ b = c,c ^ b = a,c ^ a = b
那麼,加密後值^位址 = 實際值
androidmemdebug.h
#ifndef _androidmemdebug_h_
#define _androidmemdebug_h_
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
// 支援的搜尋型別
enum
;// 支援的記憶體範圍(請參考gg修改器記憶體範圍)
enum
;struct mempage
;struct addressdata
;// 根據型別判斷型別所佔位元組大小
size_t judgsize
(int type)
return4;
}int
memcontrast
(char
*str)
class memorydebug
;#include
"androidmemdebug.cpp"
#endif
androidmemdebug.cpp
int memorydebug:
:setpackagename
(const
char
* name)}}
}closedir
(dir)
;return-1
;}long memorydebug:
:getmodulebase
(const
char
* name,
int index)
;char fname[
128]
;sprintf
(fname,
"/proc/%d/maps"
, pid)
; file *p =
fopen
(fname,
"r");if
(p)}
}fclose
(p);
}return start;
}long memorydebug:
:getbssmodulebase
(const
char
*name)
else}if
(strstr
(tmp, name)
!=null)}
return start;
}size_t memorydebug:
:pwritev
(long address,
void
*buffer, size_t size)
size_t memorydebug:
:preadv
(long address,
void
*buffer, size_t size)
template < class t > addressdata memorydebug:
:search
(t value,
int type,
int mem, bool debug)}}
free
(mp->buf);}
}fclose
(fp);}
if(debug)
printf
("搜尋結束,共%d條結果\n"
, count)
; ret =
(long*)
calloc
(count,
sizeof
(long))
;memcpy
(ret,tmp,count*
(sizeof
(long))
);free
(tmp)
; ad.addrs = ret;
ad.count = count;
free
(ret)
;return ad;
}template < class t >
int memorydebug:
:edit
(t value,
long address,
int type,bool debug)
else
return-1
;}long memorydebug:
:readdword64
(long address)
int memorydebug:
:readdword
(long address)
float memorydebug:
:readfloat
(long address)
long memorydebug:
:readlong
(long address)
void
getroot
(char
**ar**)
}
使用:
int
main
(int argc,
char
**ar**)
下一期我們一起來分析一下gg修改器跨程序讀寫原理和相應一些優化方案(要是我1個星期沒有更新,記得踹我~嘿嘿) C ini檔案讀寫 例項
ini檔案一般用於儲存當前執行的程式或者一些臨時的配置屬性的檔案。也有時用於儲存一定的資料以便於臨時或者配置上的需要。文字格式如下 section1 name 用 括起來,其包含多個key keyname1 value1 格式是 key value。keyname2 value2 section2 ...
C ini檔案讀寫 例項
ini檔案一般用於儲存當前執行的程式或者一些臨時的配置屬性的檔案。也有時用於儲存一定的資料以便於臨時或者配置上的需要。文字格式如下 section1 name 用 括起來,其包含多個key keyname1 value1 格式是 key value。keyname2 value2 section2 ...
IOS檔案的簡單讀寫例項詳解
ios檔案的簡單讀寫例項詳解 陣列 可變與不可變 和字典 可變與不可變 中元素物件的型別,必須是nsstring,nsarray,nsdictionary,nsdata,否則不能直接寫入檔案 pragma mark nsstring的寫程式設計客棧入與讀取 1 獲取路徑 nsstring docun...