C語言基礎(chǔ)掌握之day2

1.C語言中的數(shù)據(jù)類型

常量:就是程序中不可變化的量抛姑,是不可以被賦值的逮栅。
通過#define定義常量裆操,在C語言中叫做宏定義。實(shí)例:#define x 100
const定義一個(gè)只讀變量疗绣,即在初始化賦值之后,不能對const所定義的變量進(jìn)行任何修改铺韧。需要注意的是一定要初始化賦值多矮,不然以后就不能賦值了。
字符串常量:在C語言當(dāng)中“”引用的字符串都是字符串常量祟蚀,常量一旦定義也是不可以被修改的工窍。

位:計(jì)算機(jī)內(nèi)部都是二進(jìn)制的,一個(gè)二進(jìn)制的位前酿,就叫一個(gè)位患雏,也稱bit。小寫的b代表bit(位)罢维。
字節(jié):八位二進(jìn)制稱為一個(gè)字節(jié)Byte淹仑。是計(jì)算機(jī)內(nèi)存最小單位,主要是位太小了肺孵,不能作為內(nèi)存的最小單位匀借,大寫的B代表Byte(字節(jié))
字:兩個(gè)字節(jié)稱為一個(gè)字word。兩個(gè)字稱為一個(gè)雙字(dword)平窘。

sizeof關(guān)鍵字:sizeof是計(jì)算數(shù)據(jù)在內(nèi)存當(dāng)中占多大空間吓肋,單位是字節(jié),不是函數(shù)瑰艘,是運(yùn)算符是鬼。sizeof返回值數(shù)據(jù)類型是size_t,size_t類型數(shù)據(jù)一定是個(gè)無符號數(shù)紫新,也就是一個(gè)大于零的數(shù)均蜜。

int類型:一個(gè)int類型占據(jù)4個(gè)字節(jié)大小的內(nèi)存,在16位操作系統(tǒng)下int是2個(gè)字節(jié)芒率,在32和64位系統(tǒng)下的int是4個(gè)字節(jié)囤耳。數(shù)據(jù)類型決定了內(nèi)存空間的大小,如int a代表著開辟了4個(gè)字節(jié)大小的內(nèi)存空間。

小端對齊:高地址放高位充择,低地址放低位德玫。
大端對齊:高地址放低位,低地址放低位聪铺。
對于UnixCPU都是按照大端對齊存儲數(shù)據(jù)的化焕。
對于x86構(gòu)架CPU、ARM是按照小端對齊存儲數(shù)據(jù)的铃剔。

%x表示輸出小寫的十六進(jìn)制字符撒桨,如a、b键兜、c凤类、d、e普气、f
%X表示輸出大寫的十六進(jìn)制字符谜疤,如A、B现诀、C夷磕、D、E仔沿、F
%o表示輸出八進(jìn)制數(shù)據(jù)坐桩。

在32位操作系統(tǒng)下:
short=2個(gè)字節(jié)
long和int一樣是4個(gè)字節(jié)
long long是8個(gè)字節(jié)

在64位操作系統(tǒng)下:
int是4個(gè)字節(jié)
long在多數(shù)64位操作系統(tǒng)下是8個(gè)字節(jié)
unsigned表示無符號,無符號需要聲明封锉,signed是默認(rèn)的绵跷。

如果是匯編編寫的運(yùn)算,不要讓CPU通過內(nèi)存的讀寫來運(yùn)算成福,而是通過寄存器來運(yùn)算碾局。

char:是字符類型,一個(gè)字節(jié)奴艾。
%c表示輸出一個(gè)字符净当。
ASCII碼值:字符a對應(yīng)ASCII碼值97,字符A對應(yīng)65蕴潦,A和a的規(guī)律是相差32像啼,按十六進(jìn)制來看就是0x20。
轉(zhuǎn)義字符:\a報(bào)警品擎、\b退格埋合、\n換行备徐、\r回車萄传、\t制表、\\斜杠、\'單引號秀菱、\"雙引號振诬、\?問號

浮點(diǎn)數(shù):float(%f)、double(%f)衍菱、long double(%lf)類型

volatile關(guān)鍵字:告訴編譯器不要自作聰明的優(yōu)化代碼(把變量優(yōu)化到寄存器里面計(jì)算)赶么,只要是volatile類型變量,每一步都要去內(nèi)存中讀取數(shù)據(jù)脊串。

register關(guān)鍵字:恰恰與volatile關(guān)鍵字相反辫呻,建議編譯器register類型變量只要在寄存器中用就好了。注意只是建議琼锋。

字符串是內(nèi)存中一段連續(xù)的char空間放闺,以'\0‘結(jié)尾

%d對應(yīng)int類型:有符號的十進(jìn)制整數(shù)
%u對應(yīng)unsigned int類型:無符號十進(jìn)制整數(shù)
%o對應(yīng)unsigned in類型:無符號8進(jìn)制整數(shù)
%x或%X對應(yīng)unsigned int類型:無符號16進(jìn)制整數(shù)


%hd對應(yīng)short int類型:短整型
%hu對應(yīng)unsigned short int類型:無符號短整型


%f對應(yīng)float類型:單精度浮點(diǎn)數(shù)
%lf對應(yīng)或double類型:雙精度浮點(diǎn)數(shù)
%e或%E對應(yīng)double類型:科學(xué)計(jì)數(shù)法表示的數(shù)

%c對應(yīng)char類型:字符型,可以進(jìn)行相對應(yīng)的ASCII碼轉(zhuǎn)換

%s或%S對應(yīng)char *或wchar_t *類型:字符串

%p對應(yīng)void *類型:以16進(jìn)制形式輸出

l字符可以附加在d/u/x/o面前缕坎,表示長整型

-字符表示左對齊

m:代表一個(gè)整數(shù)怖侦,表示數(shù)據(jù)的最小寬度,可以用0補(bǔ)上也可以用空格補(bǔ)上
0:將輸出的前面補(bǔ)上0谜叹,直到指定列寬為止

N:代表一個(gè)整數(shù)匾寝,寬度至少N位,不夠以空格填充

#define _CRT_SECURE_NO_WARNINGS:安全模式

左值:在等號左邊荷腊,表示可以被更改的數(shù)據(jù)對象艳悔,
右值:能賦給左值的量,在等號右邊停局。







2.小案例

該案例用用到MessageBoxA函數(shù)很钓,而該函數(shù)包含在windows.h頭文件中,所以預(yù)處理要加上該頭文件董栽,首先打開VS2013码倦,具體代碼內(nèi)容如下:

具體實(shí)現(xiàn):

成功實(shí)現(xiàn)該程序,那么如何將該程序注入別的應(yīng)用程序中呢锭碳?這時(shí)候就需要一個(gè)注入的工具袁稽,如:

注入工具

而且代碼也需要改動(dòng)以下,注入是注入別的應(yīng)用程序擒抛,所以是以應(yīng)用程序擴(kuò)展的方式注入推汽,也就是.dll文件。代碼做如下改動(dòng):

并且也要對該項(xiàng)目的屬性配置也要改動(dòng)一下歧沪,不能作為.exe歹撒,要改為.dll,如下:

動(dòng)態(tài)庫

.dll 不是可執(zhí)行文件诊胞,所以只能編譯它暖夭,ctrl+F5。接下來是注入到別的程序,這里我們以百度云為例迈着,打開注入工具

選好路徑竭望,和執(zhí)行函數(shù),如
?

點(diǎn)擊確定

注入成功

現(xiàn)在你打開任務(wù)管理器裕菠,看到的是這個(gè)中獎(jiǎng)信息是百度網(wǎng)盤這個(gè)軟件發(fā)出的咬清。我們可以改成李彥宏請你共進(jìn)晚餐之類的,在這里我們只需要了解應(yīng)用擴(kuò)展文件.dll是如何注入到程序當(dāng)中去的就可以了奴潘。

3.外掛小案例

以植物大戰(zhàn)僵尸為例旧烧,首先需要一個(gè)工具叫Cheat Engine,打開植物大戰(zhàn)僵尸和Cheat Engine画髓,如:

在Cheat Engine上選擇植物大戰(zhàn)僵尸程序粪滤,如

接下來我們要尋找陽光這個(gè)變量,先在Cheat Engine上輸入值50雀扶,尋找一下杖小,經(jīng)過首次掃描,找到這么多的內(nèi)存地址愚墓,

接下來予权,看游戲中的陽光的值加到100,如

我們輸入100浪册,再次掃描扫腺,就找到了,如:

這個(gè)1DAF34D0就是陽光這個(gè)變量的地址村象,我們可以編寫C語言程序笆环,去改變它的值,程序代碼內(nèi)容如下:定義一個(gè)指針變量厚者,指向它躁劣,然后賦新值給指針即可。

打開項(xiàng)目屬性库菲,設(shè)置好配置類型即可账忘,如下 ? ? 然后編譯一下,注入植物大戰(zhàn)僵尸即可

成功的改變的陽光的值

這就是外掛的簡單演示熙宇。

4.自動(dòng)操作電腦案例

直接上代碼把鳖擒!


這里用到的函數(shù)不多,就是休眠函數(shù)Sleep烫止、鍵盤輸入函數(shù)keybd_event蒋荚、WinExec函數(shù)、mouse_event函數(shù)馆蠕、SetCursorPos函數(shù)這五個(gè)函數(shù)期升,而且都包含在Windows.h頭文件中广鳍,這樣就可以自動(dòng)打開notepad,和自動(dòng)輸入我愛你了吓妆,自動(dòng)保存了;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吨铸,一起剝皮案震驚了整個(gè)濱河市行拢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诞吱,老刑警劉巖舟奠,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異房维,居然都是意外死亡沼瘫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門咙俩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耿戚,“玉大人,你說我怎么就攤上這事阿趁∧せ祝” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵脖阵,是天一觀的道長皂股。 經(jīng)常有香客問我,道長命黔,這世上最難降的妖魔是什么呜呐? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮悍募,結(jié)果婚禮上蘑辑,老公的妹妹穿的比我還像新娘。我一直安慰自己坠宴,他們只是感情好以躯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啄踊,像睡著了一般忧设。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颠通,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天址晕,我揣著相機(jī)與錄音,去河邊找鬼顿锰。 笑死谨垃,一個(gè)胖子當(dāng)著我的面吹牛启搂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刘陶,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胳赌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了匙隔?” 一聲冷哼從身側(cè)響起疑苫,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎纷责,沒想到半個(gè)月后捍掺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡再膳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年挺勿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喂柒。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡不瓶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出灾杰,到底是詐尸還是另有隱情湃番,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布吭露,位于F島的核電站吠撮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏讲竿。R本人自食惡果不足惜泥兰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望题禀。 院中可真熱鬧鞋诗,春花似錦、人聲如沸迈嘹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秀仲。三九已至融痛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間神僵,已是汗流浹背雁刷。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留保礼,地道東北人沛励。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓责语,卻偏偏與公主長得像,于是被迫代替她去往敵國和親目派。 傳聞我的和親對象是個(gè)殘疾皇子坤候,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法企蹭,內(nèi)部類的語法白筹,繼承相關(guān)的語法,異常的語法练对,線程的語...
    子非魚_t_閱讀 31,625評論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,805評論 1 10
  • ■曉晨花露 任性一點(diǎn),無奈一點(diǎn) 先生無奈吹害,苦不堪言 苦中作樂螟凭,樂不思蜀 此無奈也,熬慜先生 先生苦它呀,無人意 太耿直...
    朝花夕拾杯中酒123閱讀 241評論 1 12