微機原理 反彙編例項5

2021-10-25 09:27:46 字數 1052 閱讀 9247

例項6 secret5.exe

將di中儲存的字元(y)賦值給al,再加一(得到z),與07(二進位制是00000111)做與運算,與30(二進位制是00110000)做或運算。

解密過程如下:

z(7a,二進位制是01111010),跟07做與運算的結果是00000010(02);

將該結果跟30做或運算,結果為00110010(32)。——『2』

p(70,二進位制是01110000),跟07做與運算的結果是00000000(00);

將該結果跟30做或運算,結果為00110000(30)。——『0』

v(76,二進位制是01110110),跟07做與運算的結果是00000110(06);

將該結果跟30做或運算,結果為00110110(36)。——『6』

!(21,二進位制是00100001),跟07做與運算的結果是00000001(01);

將該結果跟30做或運算,結果為00110001(31)。——『1』

b(01100010),結果(02),結果為(32)。——『2』

s(01110011),結果(03),結果為(33)。——『3』

f(01100110),結果(06),結果為(36)。——『6』

!(00100001),結果(01),結果為(31)。——『1』

x(01111000),結果(07),結果為(37)。——『7』

因為最多只能輸入10個字元(包括回車),所以只需解密9個字元。答案輸入8個或9個都可以。

答案就是206123617。

截圖如下:

總結:

與運算找小的,共同包含的;或運算找大的,合在一起的。

**中的常數都是十六進製制表示的。解密出來的數是十六進製制表示的ascii碼值,所以要轉化為相應的字元。

微機原理 反彙編例項01 02

例項2 secret01.exe 第乙個字元的ascii碼減一等於58,故該字元的ascii碼是59,該字元是y 第二個字元的ascii碼加一等於50,故該字元的ascii碼是4f,該字元是o 第三個字元的ascii碼加一等於56,故該字元的ascii碼是55,該字元是u。截圖如下 例項3 secr...

反彙編引擎的工作原理

ollydbg和ida都有乙個很重要的功能 反彙編 在x86平台下使用的彙編指令對應的二進位制機器碼為intel 指令集一opcode,intel指令手冊中描述的指令由6部分組成 irsinucton prefixes 指令字首 opcode 指令操作碼 mode r m 運算元型別 sib dis...

微機原理(5)概念區分

一 基本概念區分 流水線技術 流水線的工作方式就象工業生產上的裝配流水線。在 cpu 中由 5 6 個不同功能 的電路單元組成一條指令處理流水線,然後將一條 x86 指令分成 5 6 步後再由 這些電路單元分別執行,這樣就能實現在乙個 cpu 時鐘週期完成一條指令,因此 提高 cpu 的運算速度。經...