某適合各行業(yè)生產(chǎn)ERP注冊分析及注冊機原理編寫
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
最近有不少朋友尋找ERP,也不想出多少銀子,還都喜歡免費為主的,不過這家的ERP有免費版,只是單機版,不過我寫過一篇關(guān)于實戰(zhàn)的,可以把免費單機版變成網(wǎng)絡(luò)版,只是沒多少人知道罷了;
類似灰色按鈕 CLRInjection - 通用托管注入(.net)(此教程可把某ERP單機版變成網(wǎng)絡(luò)版使用)
進(jìn)入正題之前,要有軟件不是;ERP免費版下載
進(jìn)入正題;看了一下,.net編寫的,有混淆,do4net去混淆,然后上dnspy
找到Register中的CheckReg()
跟一下得到如下;這就沒啥可繼續(xù)說的了吧;
HTML頁面式:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>某某ERP注冊機</title> </head> <body> <h1>注冊碼生成</h1> <table> <tr> <td>機器碼:</td> <td><input type="text" id="MacCode" value="148-465-5898"></td> </tr> <tr> <td>注冊碼:</td> <td><input type="text" id="RegistCode"></td> </tr> <tr> <td><input type="button" id="sub" value="生成"></td> </tr> </table> </body> </html> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/jquery.md5.js"></script> <script> $("#sub").on("click", function () { nums = 999; num=(nums * 3 + 3881) var MacCode = $("#MacCode").val(); MacCode=MacCode.toString(); var text = ""; var RegistCode = ''; for (i = 0; i < MacCode.length; i++) { num2 = MacCode[i].charCodeAt() + nums; text += (4 * i + num2 -3); // console.log(text); if (i % 7 == 0) { text += "+"; } else if (i % 5 == 0) { text += ")"; } else if (i % 3 == 0) { text += "'"; } else if (i % 4 == 0) { text += "&"; } else if (i % 2 == 0) { text += "!"; } else { text += "-"; } // console.log(text); } var texts=''; for(j=0;j<text.length;j++){ switch (text[j]){ case ")": texts+="wiwewoef"; break; case "'": texts+="sdfqiierp"; break; case "&": texts+="qqierquer"; break; case "!": texts+="cvmmdfiwe"; break; case "-": texts+="cvmiewprrr"; break; case "*": texts+="weireuqc"; break; case "+": texts+="sdjfsdjfk"; break; case "(": texts+="cvfmdfmdfv"; break; case "0": texts+="iiwqqerf"; break; case "1": texts+="vcvmmzz"; break; case "2": texts+="llladfe"; break; case "3": texts+="ppqerredf"; break; case "4": texts+="sdssssree"; break; case "5": texts+="vbvbnnmmm"; break; case "6": texts+="ciequdfaa"; break; case "7": texts+="gadfwiqww"; break; case "8": texts+="aeiyyyytt"; break; case "9": texts+="qierbxcax"; break; } } texts = $.md5(texts); RegistCode=(texts.toUpperCase().substring(3,19))+ num; $("#RegistCode").val(RegistCode) }) </script>?
HTML成品
python版
import hashlib def get_reg(vid, num = 999): """ num : 用戶數(shù) """ text = "" for i in range(len(vid)): num2 = ord(vid[i]) + num text += str((4 * i + num2 -3 )) if i % 7 == 0:text += "+" elif i % 5 == 0:text += ")" elif i % 3 == 0:text += "'" elif i % 4 == 0:text += "&" elif i % 2 == 0:text += "!" else:text += "-" text = text.replace("+","sdjfsdjfk").replace(")","wiwewoef").replace("'","sdfqiierp").replace("&","qqierquer").replace("!","cvmmdfiwe").replace("-","cvmiewprrr").replace("*","weireuqc") \ .replace("+","hjigfugdhf").replace("(","cvfmdfmdfv").replace("0","iiwqqerf").replace("1","vcvmmzz").replace("2","llladfe").replace("3","ppqerredf").replace("4","sdssssree") \ .replace("5","vbvbnnmmm").replace("6","ciequdfaa").replace("7","gadfwiqww").replace("8","aeiyyyytt").replace("9","qierbxcax") text = hashlib.md5(text.encode()).hexdigest() return text.upper()[3:19] + str(num * 3 + 3881) if __name__ == "__main__": reg = get_reg("148-465-5898") print(reg)
PHP版:
* “機器碼:148-465-5898” * 12 | 數(shù)組:12{“1”,“4”,“8”,“-”,“4”,“6”,“5”,“-”,“5”,“8”,“9”,“8”} * “1鍵” | 49 | 1048 | “1049” * “第1次循環(huán)結(jié)束” * “4鍵” | 52 | 1051 | “1049-1056” * “第2次循環(huán)結(jié)束” * “8鍵” | 56 | 1055 | “1049-1056!1064” * “第3次循環(huán)結(jié)束” * “減號鍵” | 189 | 1188 | “1049-1056!1064'1201” * “第4次循環(huán)結(jié)束” * “4鍵” | 52 | 1051 | “1049-1056!1064'1201&1068” * “第5次循環(huán)結(jié)束” * “6鍵” | 54 | 1053 | “1049-1056!1064'1201&1068)1074” * “第6次循環(huán)結(jié)束” * “5鍵” | 53 | 1052 | “1049-1056!1064'1201&1068)1074'1077” * “第7次循環(huán)結(jié)束” * “減號鍵” | 189 | 1188 | “1049-1056!1064'1201&1068)1074'1077+1217” * “第8次循環(huán)結(jié)束” * “5鍵” | 53 | 1052 | “1049-1056!1064'1201&1068)1074'1077+1217&1085” * “第9次循環(huán)結(jié)束” * “8鍵” | 56 | 1055 | “1049-1056!1064'1201&1068)1074'1077+1217&1085'1092” * “第10次循環(huán)結(jié)束” * “9鍵” | 57 | 1056 | “1049-1056!1064'1201&1068)1074'1077+1217&1085'1092)1097” * “第11次循環(huán)結(jié)束” * “8鍵” | 56 | 1055 | “1049-1056!1064'1201&1068)1074'1077+1217&1085'1092)1097-1100” * “第12次循環(huán)結(jié)束” * “替換后:vcvmmzziiwqqerfsdssssreeqierbxcaxcvmiewprrrvcvmmzziiwqqerfvbvbnnmmmciequdfaacvmmdfiwevcvmmzziiwqqerfciequdfaasdssssreesdfqiierpvcvmmzzllladfeiiwqqerfvcvmmzzqqierquervcvmmzziiwqqerfciequdfaaaeiyyyyttwiwewoefvcvmmzziiwqqerfgadfwiqwwsdssssreesdfqiierpvcvmmzziiwqqerfgadfwiqwwgadfwiqwwsdjfsdjfkvcvmmzzllladfevcvmmzzgadfwiqwwqqierquervcvmmzziiwqqerfaeiyyyyttvbvbnnmmmsdfqiierpvcvmmzziiwqqerfqierbxcaxllladfewiwewoefvcvmmzziiwqqerfqierbxcaxgadfwiqwwcvmiewprrrvcvmmzzvcvmmzziiwqqerfiiwqqerfsdfqiierp” * “MD5:F4C66561681331A93151D175D73CB8FD” * “注冊碼66561681331A93156878”
某個點解說:
int num=(this.FormatToInt(vregisterId.Substring(16,4))-3881/3;
num=999的時候,就是無限工作點了
注冊碼16位開始取4個,就是16到20位,4個數(shù)字,減去3881,再除以3,等于999就行了。。。
自己反推一下,就可以算出后注冊碼后4位數(shù)字,后4位數(shù)字再前面MD5取的16位,就是20位注冊碼了。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。
您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源 LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。
敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 某適合各行業(yè)生產(chǎn)ERP注冊分析及注冊機原理編寫