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

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
[原創] 一款串口調試助手的序列號計算算法分析

作者: 佚名  日期:2018-05-17 06:55:12   來源: 本站整理

本次我花費了大約兩個半小時破解了一款名為“Serial Port Utility”的軟件(又名友善串口調試助手),該軟件的串口調試功能比較強大,今天試著分析了一下其序列號算法,這也是我第一次做序列號分析。 注冊成功截圖如下:  
    
我們首先使用PEID對程序查殼,結果如下:
 
發現是一個叫做“yoda's Protector v1.02 (.dll,.ocx)-> Ashkbiz Danehkar (h) *”的殼,在網上查詢后得知,這個結果有可能是錯誤的。 于是我們更換了另一個工具“ExeinfoPE”,結果如下:
 
這個軟件的結果顯示,這個程序沒有殼。

我們從軟件目錄下看到了大量Qt5開頭的動態鏈接庫,證明其軟件是用Qt5編寫的。
    
現在用OD加載程序,觀察ASCII字符串,我們會注意到這樣一個字符串: 
 
雙擊定位:
 
其中,經過分析可以得知,eax保存的是Qt獨有格式的字符串(輸入的序列號字符串),并且偏移地址0x04處是字符串長度,0x0C處是前導說明信息塊的字節數,或者說是字符串信息的偏移地址。這一段代碼說明,若序列號長度不為0x1D(即29個字符),就會報錯。那么我們任意輸入一個29字符的字符串,出現以下提示:
 
然后我們定位到具體字符串,結果如下:
 
雙擊定位到代碼:
 
這個代碼顯然是通過別的地方的代碼通過跳轉指令跳轉過來的(因為上方有一個jmp,順序執行的流程直接被阻斷),我們發現跳轉來自004150C0:
 
je成立的條件是,al=0,而在test al,al上方是一條call語句,我們知道函數的返回值通常通過eax寄存器返回,因此可以推得,al來自于函數00439F30的返回值,我們跟進去:
 
發現一條call指令,我們跟進去:
 
可見該函數首先判斷長度是否為0x1D(地址0x4399F5處),上方Qt5Core._ZN7QString14trimmed_helperERKS_從名字上就可看出是用于去除字符串兩端空白字符的。如果長度不為0x1D,直接返回0(因為004399F3處有一句xor eax,eax等價于mov eax,0)。我們跟著004399F8處的je來到下面:
剛開始的代碼都是一些和Qt5內核有關的代碼,直接無視,看到下面關鍵代碼:
 
我們注意到這個循環,我發現Qt的程序有一個風格,就是函數傳值的時候,不使用push指令,而是直接通過mov去寫堆棧。
這段匯編代碼等價于下面的代碼:
[C++] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
*edi = 0B217808;//Qt字符串對象地址
eax = *edi;
ebx = 0;
esi = 0;
 
do
{
    edx = eax + ebx * 2;//字符串當前字符位置地址計算
    edx += *(eax + 0xC);//加上字符串信息起始偏移地址
    ecx = 0;
    edx = (unsigned short)*edx;
    eax = (short)dl;
 
    if(dx > 0xFF)
    {
        eax = ecx;
    }
 
    ecx = *(ebp - 0x5C);
    sub_00438680(eax);
    esi += eax;//校驗和計算
    eax = *edi;
    ebx++;
    ecx = *(eax + 4);
    edx = ecx - 2;
}while(edx > ebx)

我們看一下00438680函數:
 
其中有一個jmp.&libstdc++-6._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcj引起了我們的注意,從名稱上我猜測是char_trait的find函數,經過百度查詢如下:
 
詳見:https://msdn.microsoft.com/zh-cn/library/y33bd1yh.aspx
可見,這是一個字符串定位函數,這個call的作用是將在一個字符串中查找某一個字符并返回該字符的索引。
那個字符串經過研究測試是“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”。
該函數的作用:如果輸入的字符是”-”,那么直接返回0,否則返回索引。
我們回到之前調用該函數的代碼,可以發現計算的校驗和就是序列號前27個字符對應字符串中的索引之和,除了”-”符號。 我們繼續往下看:
 
作者沒有刪除代碼中的調試信息,里面提供了很多信息,這里提醒我們剛才計算的是校驗和,我們將字符串最后兩個字符按照上面校驗和的算法計算,發現這個數值和剛才的校驗和正好相等,說明字符串最后兩個字符就是用于校驗的。
我們往下可以看到大量的信息,這里只挑選一個字段說明:
 
其中,00439F95處的eax是字符串內容開始偏移0x0C處(由00439F78處得到的)的文本(注意該字符串是wchar_t*類型),調用了一個函數,地址位于004386B0,我們跟進去看到如下代碼:
    
我們發現該函數和00438680處的函數類似,除了下面多了一條div指令以外,經過分析可以得到,其將會將find函數的返回值對一個參數中指定的值取余數。
我們由00439F7D處的代碼,可以看到那個值是9。00439FA0處,把轉換后的值保存到了[ebp-0xB0]的位置。
右邊的說明提醒我們這個字段是”License Version”,類似的還有”Product Name”,”Product Version”,”Active Mode”,”Language”,”SoftwareType”,”Valid Period”,其中前兩個參數的轉換后的值分別保存到了[ebp-0xB4]和[ebp-0xB8]處,其它參數的值轉換完僅供調試信息輸出用。
 
我們繼續跟蹤到這里,在0043A8A8行附近,可以在右邊寄存器窗口eax處看到輸出的調試信息(作者居然忘了刪除掉調試信息輸出代碼,看的一清二楚)。
由0043A8CA到0043A8F2的代碼我們可知,只有當”License Version”等于3,”Product Name”等于1并且”ProductVersion”不等于2,函數才會返回1表示成功。
我們去網上搜索了一個序列號:
SA56W-UR34V-7KY76-XB31F-HZPAU 
有效期:1年 
可以看到序列號的格式類似于這樣,并且我們知道以下信息:
Calculate Sum:390
License Version:3
Product Name:1
Product Version:3
Active Mode:1
Language:1
Software Type:2
Valid Period:2
我們開始嘗試修改Software Type的值,發現其值等于2時表示個人版,為3時表示專業版。
然后我們嘗試修改Valid Period的值,發現其值等于1時表示一個月,2表示一年,3表示3年,4表示5年,5表示終生。
所以最終序列號是這樣的:11111-UR311-85111-11111-1112J
其中“UR311”以及”85”必須固定,其它的隨便寫,校驗碼算對,這樣出來的序列號一定是專業版終生。
軟件下載鏈接:
鏈接:https://pan.baidu.com/s/1T_zvD2aUjn-xJrL5CNATVA 密碼:zyv9 
另附分析程序:
[C++] 純文本查看 復制代碼
01
56
57
58
59
60
// Serial Port Utility破解.cpp: 定義控制臺應用程序的入口點。
//
 
#include "stdafx.h"
 
char *ss = (char *)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char sn[29];
 
int GetSSN(char ch)
{
char p[2];
p[1] = 0;
p[0] = ch;
return strstr(ss,p) - ss;
}
 
int sndiv(int x,int p)
{
return x % p;
}
 
 
int main()
{
char *str = (char *)"SA56W-UR34V-7KY76-XB31F-HZPAU";
 
//06 - License Version [ebp - 0xB0] = 3 /9
//07 - Product Name [ebp - 0xB4] = 1 /2
//08 - Product Version [ebp - 0xB8] != 2 /5
//09 - Active Mode /3
//0A - Language /5
//0C - Software Type /5
//0D - Valid Period /6
//char *str = (char *)"11111-UR311-81111-11111-1112F";
 
 
int i;
int sum = 0;
 
for(i = 0;i < 29;i++)
{
if(str[i] != '-')
{
sn[i] = GetSSN(str[i]);
}
else
{
sn[i] = 0;
}
}
 
for(i = 0;i < 27;i++)
{
sum += sn[i];
}
 
printf("Calculate Sum:%d\n",sum);
printf("License Version:%d\nProduct Name:%d\nProduct Version:%d\nActive Mode:%d\nLanguage:%d\nSoftware Type:%d\nValid Period:%d\n",sndiv(sn[0x06],9),sndiv(sn[0x07],2),sndiv(sn[0x08],5),sndiv(sn[0x09],3),sndiv(sn[0x0A],5),sndiv(sn[0x0C],5),sndiv(sn[0x0D],6));
return 0;
}


熱門文章
  • 機械革命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共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    欧美一二三区在线| 放荡的美妇在线播放| 日韩精品一区二区亚洲av观看| 欧洲成人av| 翔田千里一区二区| 亚洲性视频网站| 狠狠久久综合婷婷不卡| 日本免费在线播放| 久久综合网导航| 91丨国产丨九色丨pron| 国产日韩在线视频| 日韩免费不卡视频| 丁香花在线观看完整版电影| 久久综合色天天久久综合图片| 国产精品com| 亚洲国产精一区二区三区性色| caoporn免费在线视频| 久久女同互慰一区二区三区| 99国产在线观看| 亚洲手机在线观看| 久久91视频| 色香蕉久久蜜桃| 男女视频网站在线观看| 国产卡二和卡三的视频| 精品国产乱码久久久久久蜜坠欲下| 91精品一区二区三区久久久久久| 国产精品va在线观看无码| 欧美插插视频| 五月激情综合| 最近2019中文字幕在线高清| 中文幕无线码中文字蜜桃| 2222www色视频在线观看| 国产在线视视频有精品| 国产精品嫩草影院一区二区| 天堂网免费视频| 国产精品毛片无码| 91精品国产综合久久久蜜臀图片| 91插插插插插插插插| 2222www色视频在线观看| 成人免费高清视频| 国产精品一区二区三区在线| 亚洲第一页综合| 欧美日韩在线二区| 久久精品男人天堂| 免费在线观看av网址| 日韩av福利| 欧美妇女性影城| 国产精九九网站漫画| 九色国产在线观看| 国产精品激情偷乱一区二区∴| 亚洲一区二区在线免费观看| 国产欧美日韩精品综合| 国产精品久久久久9999高清| 国产精品av在线| 国产成a人亚洲精v品无码| 女厕嘘嘘一区二区在线播放 | 久久国产精品免费一区| 少妇又色又爽又黄的视频| 亚洲成人日韩| 欧美一级bbbbb性bbbb喷潮片| 久久久久久亚洲av无码专区| 成功精品影院| 日韩在线观看免费网站| 久久精品视频8| 日本日本精品二区免费| 免费在线观看一级片| 精品国产免费人成网站| 欧美日韩亚洲综合| 国产综合内射日韩久| 污片视频在线免费观看| 精品久久久久久国产91| 国产精品嫩草影院8vv8| av在线免费观看网站| 亚洲国产精品一区二区久久恐怖片| 日本精品www| 欧洲亚洲在线| 亚洲成av人片观看| 九九九久久久久久久| 成人影院在线看| 日本精品一区二区三区高清| 极品白嫩的小少妇| 国产美女高潮在线观看| 日韩美女在线视频| 糖心vlog免费在线观看 | 亚洲s码欧洲m码国产av| 国产精品毛片视频| 欧美美女18p| 99热这里精品| 在线不卡视频| 国产麻豆一区二区三区在线观看| 国产麻豆一区二区三区精品| 国产精品亚洲а∨天堂免在线| 亚洲国产欧美日韩| 美女黄a一级视频| 亚洲欧美另类综合偷拍| 日本中文字幕影院| 成人免费淫片免费观看| 久久你懂得1024| 亚洲老女人av| av福利导福航大全在线| 日韩精品一区二区三区蜜臀| 懂色av懂色av粉嫩av| 1区2区3区在线视频| 日韩一级二级三级| 久草视频中文在线| 狠狠做深爱婷婷综合一区| 国产成人精品网站| 久久精品国产免费观看99| 国产成人av电影在线| 美女扒开大腿让男人桶| 日本三级视频在线播放| 日韩一级二级三级精品视频| 国产午夜视频在线播放| 婷婷激情图片久久| 国产精品一区在线播放| 成人淫片免费视频95视频| 亚洲日本在线天堂| 精品影片一区二区入口| 激情综合五月| 欧美在线视频免费播放| 精品国产高清a毛片无毒不卡 | 99在线首页视频| www.夜夜操.com| 亚洲国产色一区| 欧美精品日韩在线| 最新国产精品视频| 国产欧美日韩免费| 操人视频在线观看| 一区二区三区 在线观看视频| 欧美色图亚洲激情| 婷婷成人在线| 国产精品一区在线观看| 玖草视频在线| 91精品国产免费| 免费无码一区二区三区| 91蝌蚪精品视频| 成人免费大片黄在线播放| 国产h色视频在线观看| 精品久久久久久亚洲国产300| 欧美性x x x| 欧美激情91| 日本xxxxx18| 日本在线观看高清完整版| 中文字幕亚洲一区在线观看 | 亚洲视频网站在线观看| www.国产黄色| 91美女片黄在线| 北岛玲一区二区| 成人午夜av| 日本一区视频在线播放| av在线中文| 精品国产依人香蕉在线精品| 翔田千里精品久久一区二| 国产精品国产三级国产普通话99| 久久av无码精品人妻系列试探| 激情综合网站| 亚洲v国产v在线观看| 国产高清一区二区三区视频 | 蜜臀av午夜精品| 91香蕉视频在线| 精品久久久久久中文字幕人妻最新| 蜜臀久久精品| 国产精品国产三级在线观看| 日韩美女在线播放| 二区中文字幕| 精品日韩在线观看| 无码国产精品96久久久久| 国产欧美日韩久久| 国产精成人品免费观看| 重囗味另类老妇506070| www.18av.com| 韩日精品一区| 99国产超薄肉色丝袜交足的后果| 国产在线观看网站| 久久精品久久久久久国产 免费| 麻豆91免费| 91福利资源站| 一级片在线免费观看视频| 26uuu亚洲婷婷狠狠天堂| 久久久久久久久久久久| 在线不卡亚洲| 日韩高清第一页| 国产伦一区二区三区| 亚洲精品久久区二区三区蜜桃臀| 9999热视频在线观看| 国产精品十八以下禁看| 男男电影完整版在线观看| 精品国产欧美一区二区三区成人| 人操人爱免费视频| 亚洲欧美影音先锋| 亚洲一区欧美在线| 91一区二区三区在线播放| 黑人と日本人の交わりビデオ| 久久亚洲风情| 一级特级黄色片| 亚洲在线国产日韩欧美| 福利视频999| 欧美精品91| theporn国产精品| 国产精品久久久久无码av|