日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Re题目------Enm.exe

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Re题目------Enm.exe 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 代碼分析
      • 腳本1
      • 腳本2

代碼分析

for ( i = 0; i < 32; i += 8 ){for ( j = 0; j < 128; ++j ){v10 = &Str[i];if ( *(int *)&Str[i + 4] >= 0 ) {*(_QWORD *)v10 *= 2i64; }else{*(_QWORD *)v10 *= 2i64; v3 = *((_DWORD *)v10 + 1) ^ 0xB0004B76;v4 = v10;*(_DWORD *)v10 ^= 0x79FA26B7u;*((_DWORD *)v4 + 1) = v3;}}}sub_4010F0(Str);v12 = 0;if ( sub_4012D5(dword_413000) )v5 = sub_401267(std::cout, "No");elsev5 = sub_401267(std::cout, "yeah, got it");std::ostream::operator<<(v5, sub_401050);system("pause");v12 = -1;sub_4012CB(v7);

if ( *(int *)&Str[i + 4] >= 0 ) {*(_QWORD *)v10 *= 2i64;}

代表高4字節的int值是否大于0,大于0的話,最高位符號位就是0,小于0的話,最高位符號位就為1,因為乘以2把符號移出,所以最后進行相與得出。
這里的話寫結果為偶數的判斷。

else{*(_QWORD *)v10 *= 2i64; v3 = *((_DWORD *)v10 + 1) ^ 0xB0004B76;v4 = v10;*(_DWORD *)v10 ^= 0x79FA26B7u;*((_DWORD *)v4 + 1) = v3;}

偶數就代表最低位為0,奇數就代表最低位為1,然后最低位肯定是1,所以下面偶數異或奇數,最后肯定是奇數,if判斷中就寫結果為奇數的判斷,

腳本1

a = [0x6054BB493C0FB65B, 0x11F144F66B5307DD, 0x4ED8899358F90DE1,0x60DF9B37738E1706] for i in range(len(a)):for j in range(128):if a[i]%2==0:a[i]//=2else:a[i]^=0xB0004B7679FA26B7a[i]//=2a[i] |= 0x8000000000000000 for i in range(len(a)):print(chr(a[i]&0xff),end='')print(chr((a[i]>>8) & 0xff),end='')print(chr((a[i]>>8*2) & 0xff),end='')print(chr((a[i]>>8*3) & 0xff),end='')print(chr((a[i]>>8*4) & 0xff),end='')print(chr((a[i]>>8*5) & 0xff),end='')print(chr((a[i] >> 8 * 6) & 0xff), end='')print(chr((a[i] >> 8 * 7) & 0xff), end='') f96ea7f314e5834a29930ca76aa0f29f

腳本2

a=[0x3C0FB65B,0x6054BB49,0x6B5307DD,0x11F144F6,0x58F90DE1,0x4ED88993,0x738E1706,0x60DF9B37] for i in range(0,len(a),2):for j in range(128):if ((a[i+1]<<32)+a[i])%2==0:temp=((a[i+1]<<32)+a[i])//2a[i]=temp&0xffffffffa[i + 1] = temp>>32else:a[i]^=0x79FA26B7a[i+1]^=0xB0004B76temp = (((a[i + 1] << 32) + a[i]) // 2)|0x8000000000000000a[i] = temp & 0xffffffffa[i + 1] = temp >> 32 for i in range(len(a)):print(chr(a[i] & 0xff), end='')print(chr((a[i] >> 8) & 0xff), end='')print(chr((a[i] >> 8 * 2) & 0xff), end='')print(chr((a[i] >> 8 * 3) & 0xff), end='') f96ea7f314e5834a29930ca76aa0f29f

總結

以上是生活随笔為你收集整理的Re题目------Enm.exe的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。