国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
易觸得翻書軟件v3.4.2追注冊碼(vb-pcode)

作者: 前途無量  日期:2017-07-24 20:10:05   來源: 本站整理

 軟件名稱:易觸得翻書系統v3.4.2
下載地址:http://www.crsky.com/soft/34451.html
主程序是Bookshow.exe,
注冊碼是在BookSet.exe里面輸入,首先查殼兩個都是vb6無殼。
首先看BookSet.exe,
直接打開點注冊是這樣子,是重啟驗證
 
vb的程序用VB Decompiler 反編譯看一下,可以看到有MD5和AES算法
 
frmReg是程序注冊的窗口,但是啟動的時候就已經顯示了“您的軟件未注冊”幾個字,說明驗證是在啟動的時候,
所以從frmStart -> Form_Load_47D304里面找,
 
單純靜態分析逆算法不容易,我們用OD來調試,
vb PCODE的調試跟native的有些不一樣
47CBAB下內存訪問斷點(p-code只能下內存斷點,因為代碼是在vb虛擬機里運行的),,
 
按F9運行,斷在了47CBA9(ESI是實際運行的代碼)

 
大概猜測這里是從reg.db里面讀取了注冊碼并且用clsBlowfish.DecryptFileAsStr算法解密的,
繼續追蹤,在frmStart -> Form_Load_47D304里面可以找到
  loc_47D127: Set var_210 = Nothing
  loc_47D139: MemVar_4920E4 = Proc_19_1_467B14(0, 0)   '計算硬盤
序列號 modDiskInfo.Proc_467B14
  loc_47D140: MemVar_4920E0 = MemVar_4920E4  '這里賦值
  loc_47D15D: var_F4 = 16
從4920e0下硬件寫入斷點,F9 2次,直到4920e0的數據變化,可以看到MemVar_4920E所指向的數據,[[4920E0]]=[545D7C]="ST1000DM003-1ER162,W4Y5R3FH",這個是電腦的硬盤型號
斷在的地方ESI為47D144

 
然后再來看Bookshow.exe,同樣先反編譯
在frmStart.FormLoad里面可以找到
 
后面還有

可以知道有一些字符串運算,到底算的是什么,一一下斷點調試太費時,
我們可以用smart check軟件看一下比較方便,
 
 

可以看到是用|間隔的一串字符串,我們之前輸入的序列號就保存在其中,
這樣很快定位到了關鍵代碼

[Asm] 純文本查看 復制代碼
loc_43714B:   MsgBox("找不到數據文件!", &H30, "提示", var_140, var_160)
  loc_43715B:   End
  loc_43715D:   Exit Sub
  loc_43715E: End If
  loc_43716D: MemVar_4450A0 = Proc_10_1_42F524(0, 0)  '讀取硬盤序列號
  loc_437174: MemVar_44509C = MemVar_4450A0
  loc_437191: var_140 = 16
  loc_43719C: Proc_12_14_43CBD8(var_160, Ucase(CVar(MemVar_4450A0 & MemVar_4450A8 & "eacde")), var_140) ’計算MD5(硬盤序列號EACDESOFT+"eacde")  ST1000DM003-1ER162,W4Y5R3FHEACDESOFTEACDE 就是序列號+EACDESOFT+EACDE MD5為        57b1428ee2e49088
  loc_4371A7: var_198 = Ucase(var_160) '轉化大寫 57B1428EE2E49088  這個是機器碼
  loc_4371B0: MemVar_4450A0 = CStr(var_198)
  loc_4371CF: var_164 = Proc_11_3_42DD78(MemVar_4450A0, MemVar_4450A4)  ’ AES(機器碼,eacdesofttbk) 取32位 AES算法,MemVar_4450A4是key


0018F894   00548A9C  UNICODE "eacdesofttbk" 密鑰
0018F894   00616AEC  UNICODE "F008D7A07648EAB5F983F9151D843391" 這個是加密結果
MD5可以在線驗證,
手工驗證一下這個aes,有個網站
http://www.seacha.com/tools/aes.html
 
結果跟OD調試的結果F008D7A07648EAB5F983F9151D843391是一樣的

[Asm] 純文本查看 復制代碼
  loc_4371E0: Proc_12_14_43CBD8(var_140, CVar(var_164), 32) //MD5 32位   MD532(ToUpper(AES(機器碼,eacdesofttbk)))
0018F67C   02D502BC  UNICODE "0A516B737C3FBF185C1B1DA99F1D9CED"
MD5("F008D7A07648EAB5F983F9151D843391",32)=0a516b737c3fbf185c1b1da99f1d9ced
loc_4371E5: var_160 = 16
  loc_4371F0: Proc_12_14_43CBD8(var_198, var_140, var_160)  //MD5 16位  MD516(MD532(ToUpper(AES(機器碼,eacdesofttbk))))
MD5("0a516b737c3fbf185c1b1da99f1d9ced",16)=2a59468b454a2d05  
  loc_437226: var_120 = 32
  loc_437238: Proc_12_14_43CBD8(var_140, CVar(CStr(Ucase(CStr(var_198))) & MemVar_4450A4), var_120)//再MD5  MD532(ToUpper(MD516(MD532(ToUpper(AES(機器碼,eacdesofttbk)))))+eacdesofttbk)


算法就逆出來了,
有點亂,先整理一下主要步驟,MD5有兩種,一種是16字節的,一種是32字節的,
步驟1 AES eacdesofttbk ToUpper
步驟2 MD532
步驟3 MD516 ToUpper
步驟4 MD532 eacdesofttbk
步驟5 MD516
0018F67C   02D502BC  UNICODE "44CFDDA7226A8AF5227D0931817D399B"
0018F88C   00328A9C  UNICODE "eacdesofttbk"  MemVar_4450A4
MD5("2A59468B454A2D05"+eacdesofttbk,32)=44cfdda7226a8af5227d0931817d399b   

[Asm] 純文本查看 復制代碼
  loc_43724F: MemVar_4450B0 = 0
  loc_437262: Proc_12_14_43CBD8(var_120, CStr(var_140), 16)  'MD516(MD532(ToUpper(MD516(MD532(ToUpper(AES(機器碼,eacdesofttbk)))))+eacdesofttbk))MD5("44cfdda7226a8af5227d0931817d399b",16)=baf849ceaffd1606 這個是序列號=MD516(MD532(MD5()+eacdesofttbk))
  loc_437267: var_140 = 16
  loc_437272: Proc_12_14_43CBD8(var_160, var_120, var_140) 'MD5(baf849ceaffd1606,16)=be555d3d4e16025c
  loc_437287: Proc_12_14_43CBD8(var_208, MemVar_4450AC, 16)
0032FCA4  22222222222222222222   MemVar_4450AC
MD5(22222222222222222222 ,16)=8bbb9d0bcc5c0d0f
  loc_437297: Proc_12_14_43CBD8(var_1C8, var_160, 32)
MD5(be555d3d4e16025c,32)=323279f73adb2c39cb6916e611d0c356
  loc_4372AA: Proc_12_14_43CBD8(var_234, var_208, 32, var_1C8)
MD5(8bbb9d0bcc5c0d0f,32)=        f12b3549ffe313a1f6aa0a14eb0791bf
  loc_4372CB: If (MemVar_4450B0 = var_234) Then
  loc_4372D0:   MemVar_4450B0 = &HFF
  loc_4372D6:   MemVar_4450F4 = MemVar_4450EC
  loc_4372DC: Else
  loc_4372DE:   MemVar_4450B0 = 0
  loc_4372E4:   MemVar_4450F4 = MemVar_4450E8
  loc_4372E7: End If
  loc_4372F3: Me.tm.Enabled = True
  loc_4372FB: Exit Sub
  loc_4372FC: ' Referenced from: 436514
  loc_437304: Set var_88 = Err()
  loc_43730A: Call {A4C466B8-499F-101B-BB7800AA00383CBB}.Method_arg_2C (var_164, MemVar_4450F4, MemVar_4450B0, MemVar_4450F4)
  loc_43732F: MsgBox(CVar("系統啟動失敗!" & var_164), &H10, "錯誤", var_140, var_160)
  loc_437345: End


注冊算法就分析完了
下面是修改資源,修改文字和圖片等資源不難,可是BookSet.exe修改后運行程序閃退,有校驗
一處是CRC
frmStart.FormLoad里面

[Asm] 純文本查看 復制代碼
loc_47C817: If (MemVar_492020 = Proc_2_18_4658D0(Proc_2_17_462E40(MemVar_4920F6, MemVar_492020))) Then
loc_47C81C:   MemVar_4920F6 = 0
loc_47C822: Else
loc_47C824:   MemVar_4920F6 = &HFF
loc_47C827: End If


47C82A的1C改成1D就過了CRC校驗,這里是判斷退出程序的地方
改完運行彈窗提示: 系統啟動失敗!Incorrect size descriptor in BFD
從FormLoad里面依次下斷點縮小范圍,看運行到哪里開始彈窗的
47CB84 大了
47CB7F 小了
最后定位到

[Asm] 純文本查看 復制代碼
loc_47CB58: Call frmStart.global_4289336Set(New clsBlowfish)
loc_47CBAB: var_D4 = Split(frmStart.global_4289336Get().DecryptFileAsStr(MemVar_492020 & MemVar_4920F8, MemVar_49210C), "|", -1, 0)


跟進去,在
clsBlowfish.DecryptFileAsStr

[Asm] 純文本查看 復制代碼
Public Function DecryptFileAsStr(SourceFile, Key) '462350
  'Data Table: 4169E4
  Dim var_8A As Integer
  loc_462288: Call Proc_30_17_45CA68(SourceFile)
  loc_462291: If Not(var_92) Then
  loc_4622B2:   Set var_118 = Err()
  loc_4622B8:   Call {A4C466B8-499F-101B-BB7800AA00383CBB}.Method_DecryptFileAsStr4 (-2147221504, var_B4, "Error in Skipjack EncryptFile procedure (Source file does not exist).")
  loc_4622CB:   DecryptFileAsStr = var_F4
  loc_4622D1: End If
  loc_4622D9: var_8A = FreeFile(var_B4)
  loc_4622E7: Open SourceFile For Binary As var_8A Len = &HFF
  loc_462301: ReDim var_90(0 To (LOF(var_8A) - 1))
  loc_462311: Get var_8A, , var_90
  loc_462318: Close var_8A
  loc_462320: Call DecryptByte(var_90, Key)  '在這一行彈窗出錯
  loc_462343: var_88 = CStr(StrConv(var_90, &H40, 0))
  loc_462349: DecryptFileAsStr = var_8A
End Function


跟進去clsBlowfish.DecryptByte
 



就是46A0E7處的IF語句判斷的,1C改成1D即可.
至于為什么是這么改,我們可以切換到Disassembler界面,BranchF就是1C,改成1D就是BranchT,就類似于我們win32下把jnz改成了jz
 
修改這個要用OD,在OD里面找到46A0E7的1C
 
然后改成1D,點右鍵-->復制到可執行文件-->所有修改
 
最后是
注冊機算法,C#寫的
class Crypt
    {
        public static String bin2str(byte[] b, int length = -1)
        {
            var builder = new StringBuilder();
            int len = (length == -1) ?16:b.Length;
            for (int i = 0; i < len; i++)
            {
                builder.Append(b.ToString("x2"));
            }
            return builder.ToString();
        }
        public static byte[] encryptStringToBytes_AES(string plainText, byte[] Key)//, byte[] IV)
        {
            // Check arguments.
            if (plainText == null || plainText.Length <= 0)
                throw new ArgumentNullException("plainText");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            // Declare the stream used to encrypt to an in memory
            // array of bytes.
            MemoryStream msEncrypt = null;

            // Declare the RijndaelManaged object
            // used to encrypt the data.
            RijndaelManaged aesAlg = null;

            try
            {
                // Create a RijndaelManaged object
                // with the specified key and IV.
                aesAlg = new RijndaelManaged();
                aesAlg.KeySize = 128;
                aesAlg.Key = Key;
                aesAlg.Mode = CipherMode.ECB;
                aesAlg.Padding = PaddingMode.Zeros;
                // Create an encryptor to perform the stream transform.
                ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

                // Create the streams used for encryption.
                msEncrypt = new MemoryStream();
                using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                {
                    using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                    {

                        //Write all data to the stream.
                        swEncrypt.Write(plainText);
                    }
                }
            }
            finally
            {
                // Clear the RijndaelManaged object.
                if (aesAlg != null)
                    aesAlg.Clear();
            }

            // Return the encrypted bytes from the memory stream.
            return msEncrypt.ToArray();
        }

        public static string MD532(string str)
        {
            byte[] buf=MD5.Create().ComputeHash(Encoding.Default.GetBytes(str));
            return bin2str(buf, 32);
        }

        public static string MD516(string str)
        {
            byte[] buf = MD5.Create().ComputeHash(Encoding.Default.GetBytes(str));
            return bin2str(buf, 32).Substring(8, 16);
        }
        public static string encrypt(string str)
        {
            string tmpstr;
            byte[] key = { 0x65, 0x61, 0x63, 0x64, 0x65, 0x73, 0x6f, 0x66, 0x74, 0x74, 0x62, 0x6b, 0, 0, 0, 0 };
            tmpstr=bin2str( encryptStringToBytes_AES(str, key)).ToUpper();   
            tmpstr=MD532(tmpstr);
            tmpstr=MD516(tmpstr).ToUpper();
            tmpstr=MD532(tmpstr+"eacdesofttbk");
            tmpstr=MD516(tmpstr);
            return tmpstr;
        }
    }
附上源碼vs工程文件和主程序的exe
 翻書v3.4.2注冊機源碼.rar (125.53 KB, 下載次數: 103)



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    三级黄色片在线观看| 久久精品人人爽| 在线日韩国产网站| 国产欧美啪啪| 久久91精品国产| 免费a视频在线观看| 一区二区三区导航| 久久久久久九九九九| 男人的天堂www| 国产精品色哟哟| 91 视频免费观看| 在线毛片观看| 国产亚洲欧美另类中文| 在线观看毛片av| 久久不射2019中文字幕| 亚洲成色最大综合在线| 香蕉视频免费在线| 在线区一区二视频| 全网免费在线播放视频入口| 激情五月综合网| 91精品黄色| 国产视频一二三区| 激情成人在线视频| 性爱在线免费视频| 国产亚洲一卡2卡3卡4卡新区| 国产欧美日韩丝袜精品一区| 一代武则天秘史| 亚洲欧洲一区二区在线播放| 亚洲少妇18p| 国产精品xxxav免费视频| 国产成人精品视频| 嫩草视频在线免费观看| 亚洲精品欧美激情| 久久久久久久久久久久久久久| 秋霞蜜臀av久久电影网免费 | seerx性欧美巨大| 中文字幕第一页久久| 中国极品少妇xxxx| 久久资源综合| 成人免费网站在线观看| 人善交video高清| 日韩欧美有码在线| 国产奶水涨喷在线播放| 亚洲激情亚洲| 超碰10000| 91福利在线尤物| 久久久国产成人精品| 丁香久久五月| 国产精品蜜臀av| 天堂久久久久久| 又黄又爽无遮挡| jizzjizzjizz亚洲女| 秋霞午夜av一区二区三区| www.avtt| 345成人影院| 欧美亚洲另类制服自拍| 少妇bbbb搡bbbb| 亚洲成人在线免费| 国产精品2020| 日本欧美一区二区在线观看| 情侣黄网站免费看| 亚洲精品自拍| 91亚洲人电影| 日韩欧美亚洲系列| 亚洲欧美在线一区| 欧美性猛交xxxxbbb| 一二三四社区欧美黄| 国产一级视频在线播放| 久久久蜜桃一区二区人| 日本女优爱爱视频| 影音先锋欧美激情| 国产一区二区三区黄| 三区四区在线视频| 欧美日韩国产成人在线观看| 美女高潮黄又色高清视频免费| 欧洲视频一区二区| 国产情侣av在线| 国产日韩精品视频一区| 999精品视频在线观看播放| 日韩一级不卡| 国产91美女视频| 亚洲天堂av资源在线观看| 国产欧美韩日| 亚洲国产精品精华素| 97久久伊人激情网| 区一区二日本| 亚洲人午夜色婷婷| 一个人在线观看免费视频www| 色综合天天综合在线视频| 一卡二卡在线视频| 国产欧美日韩不卡| 精品无码久久久久| 国产黄人亚洲片| 午夜时刻免费入口| 久久综合导航| 亚洲少妇中文字幕| 精品176极品一区| 国产 高清 精品 在线 a| 调教视频免费在线观看| 午夜伦理精品一区| 簧片在线观看| 中文字幕日韩免费视频| 成人午夜免费在线观看| 亚洲天堂网中文字| 欧美日韩综合在线观看| av在线综合网| 亚洲天堂一级片| 韩国视频一区二区| 中文字幕第20页| 丝袜a∨在线一区二区三区不卡| 小日子的在线观看免费第8集| 久久久久美女| 国产一二三四在线视频| 欧美偷拍综合| 不要播放器的av网站| 成人无号精品一区二区三区| 人妻久久久一区二区三区| 女同久久另类99精品国产| av中文字幕av| 久久黄色影视| 69sex久久精品国产麻豆| 精品一区二区男人吃奶| 中文字幕一区二区三区最新 | 亚洲一区二区久久久| 黄色高清视频| 亚洲欧美另类在线观看| eeuss影院18www免费| 亚洲摸下面视频| 97在线资源在| 少妇高潮久久久久久潘金莲| 99在线免费观看| 久久成人18免费网站| 在线播放免费| 欧美亚洲第一区| 天堂а√在线官网| 精品国产一区二区三区久久狼黑人 | 成年人黄视频网站| zzjj国产精品一区二区| 日本h片在线看| 2019中文在线观看| 麻豆tv入口在线看| 91丝袜脚交足在线播放| 日韩免费电影| 在线观看国产一区| 全球av集中精品导航福利| 亚洲 高清 成人 动漫| 99精品全国免费观看视频软件| 久久综合伊人77777麻豆最新章节| 外国成人免费视频| 亚洲精品乱码久久久久久9色| 亚洲在线观看| 丁香六月激情综合| 91网站最新网址| 中文字幕永久在线观看| 午夜精品成人在线视频| 久草免费资源| 精品国偷自产国产一区| 成人免费观看在线网址| 久久99精品久久久久久琪琪| 国产精品99999| 成人一区二区三区四区| 9999在线精品视频| 日本www在线视频| 97精品久久| 欧美日韩亚洲一二三| 亚洲国产清纯| 福利视频第一页| 久久精品一区二区| www.蜜臀av| 宅男噜噜噜66一区二区66| xxx视频在线观看| 欧美高跟鞋交xxxxhd| 国产91在线视频蝌蚪| 免费国产一区二区| 亚洲第一福利专区| 青青草原播放器| 极品少妇一区二区| 99久在线精品99re8热| 亚洲www啪成人一区二区麻豆| 欧美人与牲动交xxxxbbbb| 亚洲无亚洲人成网站77777| 国产资源在线观看| 国产麻豆乱码精品一区二区三区 | 精品久久久久久久久久久下田| 中文字幕 欧美 日韩| 国产精品资源站在线| 亚洲天堂男人网| 91精品国产综合久久蜜臀| aaa大片免费观看| 国产精品爽爽爽爽爽爽在线观看| 成人国产精品一区二区免费麻豆| 国产在线观看一区| 开心激情综合| 国内自拍偷拍视频| av激情综合网| 国产小视频一区| 亚洲欧洲一区二区三区久久| 97电影在线观看| 亚洲精品国产精品久久| 欧美喷水视频|