小紅包花樣短信以前叫做諾基亞閃爍短信息。她能使您發(fā)送自己定制的閃爍、圖片短信到諾基亞和西門子手機(jī)。
·支持一些西門子手機(jī)的圖片短信
·增強(qiáng)的短信編輯器
·新增我的收藏夾,內(nèi)附幽默短語(yǔ)200條
·新增簡(jiǎn)易電話號(hào)碼簿
·可自定義短信簽名。
1。用FI2.5檢查程序的殼,是upx0.89-6-1.21,用fs脫殼。
2.先熟悉一下程序,調(diào)出注冊(cè)界面,用戶名輸入shifeng,注冊(cè)號(hào)輸入87654321,點(diǎn)注冊(cè),讓重新啟動(dòng)程序,
可以看出要驗(yàn)證注冊(cè)碼。
3.調(diào)出regmon,再次啟動(dòng)小紅包,查出小紅包要調(diào)用
HKEY_CURRENT_USER\Software\iRedBag\RedBag SMS\4.0\RegCode
4.CTRL+D調(diào)出SI,下斷點(diǎn)bpx regqueryvalueexa if *(esp->8)=='RegC' do "d (esp->14)"
啟動(dòng)小紅包中斷,按一次F12,按若干次F10,當(dāng)內(nèi)存數(shù)據(jù)區(qū)顯示87654321時(shí),中斷于4678E0,繼續(xù)按F10
會(huì)來(lái)到4B246D。向上看,會(huì)來(lái)到這里。
004B243E BA 34294B00 MOV EDX,REDBAGSM.004B2934 ; ASCII "RegName"
004B2443 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B2446 E8 F152FBFF CALL REDBAGSM.0046773C
004B244B B9 1C294B00 MOV ECX,REDBAGSM.004B291C ; ASCII "UNREGISTERED"
004B2450 BA 44294B00 MOV EDX,REDBAGSM.004B2944 ; ASCII "RegCode"
004B2455 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B2458 E8 DF52FBFF CALL REDBAGSM.0046773C
004B245D 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
004B2460 BA 44294B00 MOV EDX,REDBAGSM.004B2944 ; ASCII "RegCode"
004B2465 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B2468 E8 FB52FBFF CALL REDBAGSM.00467768 ;取注冊(cè)號(hào)
004B246D 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
004B2470 50 PUSH EAX
004B2471 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24]
004B2474 BA 34294B00 MOV EDX,REDBAGSM.004B2934 ; ASCII "RegName"
004B2479 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B247C E8 E752FBFF CALL REDBAGSM.00467768 ;取用戶名
004B2481 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
004B2484 5A POP EDX
004B2485 E8 1AF4FFFF CALL REDBAGSM.004B18A4 ; 關(guān)鍵調(diào)用,計(jì)算注冊(cè)碼并驗(yàn)證
004B248A 84C0 TEST AL,AL
004B248C 74 2C JE SHORT REDBAGSM.004B24BA ; 跳則死
004B248E 8D4D D8 LEA ECX,DWORD PTR SS:[EBP-28]
004B2491 BA BC284B00 MOV EDX,REDBAGSM.004B28BC ; ASCII "Signature"
004B2496 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B2499 E8 CA52FBFF CALL REDBAGSM.00467768
004B249E 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28]
004B24A1 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
5.為方便調(diào)試,啟動(dòng)ollydbg,CTRL+G輸入4B246D,F(xiàn)2在此下斷點(diǎn)。F8幾次,進(jìn)入關(guān)鍵調(diào)用:
004B18A4 55 PUSH EBP
004B18A5 8BEC MOV EBP,ESP
004B18A7 B9 0D000000 MOV ECX,0D
004B18AC 6A 00 PUSH 0
004B18AE 6A 00 PUSH 0
004B18B0 49 DEC ECX
004B18B1 ^75 F9 JNZ SHORT REDBAGSM.004B18AC
004B18B3 53 PUSH EBX
004B18B4 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004B18B7 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004B18BA 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B18BD E8 8631F5FF CALL REDBAGSM.00404A48
004B18C2 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B18C5 E8 7E31F5FF CALL REDBAGSM.00404A48
004B18CA 33C0 XOR EAX,EAX
004B18CC 55 PUSH EBP
004B18CD 68 E21B4B00 PUSH REDBAGSM.004B1BE2
004B18D2 64:FF30 PUSH DWORD PTR FS:[EAX]
004B18D5 64:8920 MOV DWORD PTR FS:[EAX],ESP
004B18D8 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ;用戶名
004B18DB E8 802FF5FF CALL REDBAGSM.00404860 ;用戶名長(zhǎng)度
004B18E0 83F8 03 CMP EAX,3
004B18E3 7D 07 JGE SHORT REDBAGSM.004B18EC ;用戶名長(zhǎng)度要大于3位
004B18E5 33DB XOR EBX,EBX
004B18E7 E9 DB020000 JMP REDBAGSM.004B1BC7
004B18EC 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ;注冊(cè)碼
004B18EF E8 6C2FF5FF CALL REDBAGSM.00404860 ;注冊(cè)碼長(zhǎng)度
004B18F4 83F8 0F CMP EAX,0F
004B18F7 74 07 JE SHORT REDBAGSM.004B1900 ; 注冊(cè)碼長(zhǎng)度為15,在此不跳則死
重新開(kāi)始,注冊(cè)碼輸入987654321012345
004B18F9 33DB XOR EBX,EBX
004B18FB E9 C7020000 JMP REDBAGSM.004B1BC7
004B1900 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
004B1903 50 PUSH EAX
004B1904 B9 05000000 MOV ECX,5
004B1909 BA 01000000 MOV EDX,1
004B190E 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ;注冊(cè)碼
004B1911 E8 A231F5FF CALL REDBAGSM.00404AB8 ;取前五位
004B1916 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
004B1919 BA F81B4B00 MOV EDX,REDBAGSM.004B1BF8 ; ASCII "RBSMS"
004B191E E8 8130F5FF CALL REDBAGSM.004049A4 ;與RBSMS比較,不等不跳
004B1923 74 07 JE SHORT REDBAGSM.004B192C ; 在此不跳則死,點(diǎn)Z標(biāo)志使之跳
004B1925 33DB XOR EBX,EBX
004B1927 E9 9B020000 JMP REDBAGSM.004B1BC7
004B192C 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
004B192F 50 PUSH EAX
004B1930 B9 02000000 MOV ECX,2
004B1935 BA 0D000000 MOV EDX,0D
004B193A 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ;取注冊(cè)碼
004B193D E8 7631F5FF CALL REDBAGSM.00404AB8 ;取注冊(cè)碼13,14位
004B1942 8B4D DC MOV ECX,DWORD PTR SS:[EBP-24]
004B1945 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
004B1948 BA 081C4B00 MOV EDX,REDBAGSM.004B1C08
004B194D E8 5A2FF5FF CALL REDBAGSM.004048AC
004B1952 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
004B1955 E8 EE73F5FF CALL REDBAGSM.00408D48
004B195A 8BD8 MOV EBX,EAX
004B195C 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B195F E8 FC2EF5FF CALL REDBAGSM.00404860 ;取用戶名長(zhǎng)度
004B1964 3BD8 CMP EBX,EAX ;注冊(cè)碼13,14位與長(zhǎng)度的16進(jìn)制要相等
004B1966 74 07 JE SHORT REDBAGSM.004B196F ;不跳則死,點(diǎn)Z標(biāo)志使之跳
004B1968 33DB XOR EBX,EBX
004B196A E9 58020000 JMP REDBAGSM.004B1BC7
004B196F 68 081C4B00 PUSH REDBAGSM.004B1C08
004B1974 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
004B1977 50 PUSH EAX
004B1978 B9 01000000 MOV ECX,1
004B197D BA 0A000000 MOV EDX,0A ;注意EDX的A
004B1982 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1985 E8 2E31F5FF CALL REDBAGSM.00404AB8 ;取注冊(cè)碼第10位到內(nèi)存
004B198A FF75 D4 PUSH DWORD PTR SS:[EBP-2C]
004B198D 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
004B1990 50 PUSH EAX
004B1991 B9 01000000 MOV ECX,1
004B1996 BA 0C000000 MOV EDX,0C ;注意EDX的C
004B199B 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B199E E8 1531F5FF CALL REDBAGSM.00404AB8 ;取注冊(cè)碼第12位到內(nèi)存
004B19A3 FF75 D0 PUSH DWORD PTR SS:[EBP-30]
004B19A6 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
004B19A9 BA 03000000 MOV EDX,3
004B19AE E8 6D2FF5FF CALL REDBAGSM.00404920 ;把這兩位拼合后送入SS:[EBP-28]
004B19B3 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
004B19B6 E8 8D73F5FF CALL REDBAGSM.00408D48
004B19BB 8BD0 MOV EDX,EAX
004B19BD 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004B19C0 E8 C32DF5FF CALL REDBAGSM.00404788
004B19C5 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]
004B19C8 50 PUSH EAX
004B19C9 B9 01000000 MOV ECX,1
004B19CE BA 01000000 MOV EDX,1
004B19D3 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ;用戶名
004B19D6 E8 DD30F5FF CALL REDBAGSM.00404AB8 ;用戶名第一個(gè)字符送入內(nèi)存
004B19DB 8B55 CC MOV EDX,DWORD PTR SS:[EBP-34]
004B19DE 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004B19E1 E8 BE2FF5FF CALL REDBAGSM.004049A4 ; SN第10,12位組成的數(shù)與用戶名第一個(gè)字符比較 ?
004B19E6 74 0F JE SHORT REDBAGSM.004B19F7 ; 不跳則死,點(diǎn)Z標(biāo)志使之跳
004B19E8 33DB XOR EBX,EBX
004B19EA 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004B19ED E8 B62BF5FF CALL REDBAGSM.004045A8
004B19F2 E9 D0010000 JMP REDBAGSM.004B1BC7
004B19F7 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004B19FA E8 A92BF5FF CALL REDBAGSM.004045A8
004B19FF 68 081C4B00 PUSH REDBAGSM.004B1C08
004B1A04 8D45 C4 LEA EAX,DWORD PTR SS:[EBP-3C]
004B1A07 50 PUSH EAX
004B1A08 B9 01000000 MOV ECX,1
004B1A0D BA 08000000 MOV EDX,8
004B1A12 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1A15 E8 9E30F5FF CALL REDBAGSM.00404AB8 ; 取SN第8位
004B1A1A FF75 C4 PUSH DWORD PTR SS:[EBP-3C]
004B1A1D 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40]
004B1A20 50 PUSH EAX
004B1A21 B9 01000000 MOV ECX,1
004B1A26 BA 0B000000 MOV EDX,0B
004B1A2B 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1A2E E8 8530F5FF CALL REDBAGSM.00404AB8 ; 取SN第11位
004B1A33 FF75 C0 PUSH DWORD PTR SS:[EBP-40]
004B1A36 8D45 C8 LEA EAX,DWORD PTR SS:[EBP-38]
004B1A39 BA 03000000 MOV EDX,3
004B1A3E E8 DD2EF5FF CALL REDBAGSM.00404920
004B1A43 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38]
004B1A46 E8 FD72F5FF CALL REDBAGSM.00408D48
004B1A4B 8BD0 MOV EDX,EAX
004B1A4D 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B1A50 E8 332DF5FF CALL REDBAGSM.00404788 ; 兩位生成字符
004B1A55 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]
004B1A58 50 PUSH EAX
004B1A59 B9 01000000 MOV ECX,1
004B1A5E BA 07000000 MOV EDX,7
004B1A63 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1A66 E8 4D30F5FF CALL REDBAGSM.00404AB8 ; 取SN第7個(gè)字符
004B1A6B 8B45 B8 MOV EAX,DWORD PTR SS:[EBP-48]
004B1A6E 8D55 BC LEA EDX,DWORD PTR SS:[EBP-44]
004B1A71 E8 026EF5FF CALL REDBAGSM.00408878
004B1A76 8B45 BC MOV EAX,DWORD PTR SS:[EBP-44]
004B1A79 50 PUSH EAX
004B1A7A 8D55 B4 LEA EDX,DWORD PTR SS:[EBP-4C]
004B1A7D 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004B1A80 E8 F36DF5FF CALL REDBAGSM.00408878
004B1A85 8B55 B4 MOV EDX,DWORD PTR SS:[EBP-4C]
004B1A88 58 POP EAX
004B1A89 E8 162FF5FF CALL REDBAGSM.004049A4 ; 上面兩數(shù)比較,相等則跳。
004B1A8E 74 0F JE SHORT REDBAGSM.004B1A9F ; 不跳則死
004B1A90 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B1A93 E8 102BF5FF CALL REDBAGSM.004045A8
004B1A98 33DB XOR EBX,EBX
004B1A9A E9 28010000 JMP REDBAGSM.004B1BC7
004B1A9F 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50]
004B1AA2 50 PUSH EAX
004B1AA3 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B1AA6 E8 B52DF5FF CALL REDBAGSM.00404860
004B1AAB 8BD0 MOV EDX,EAX
004B1AAD 4A DEC EDX
004B1AAE B9 01000000 MOV ECX,1
004B1AB3 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B1AB6 E8 FD2FF5FF CALL REDBAGSM.00404AB8 ; 讀用戶名倒數(shù)第二個(gè)字符并保存
004B1ABB 8B55 B0 MOV EDX,DWORD PTR SS:[EBP-50] ; EDX指向的是前面SN第8位、11位生成的字符
004B1ABE 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004B1AC1 E8 DE2EF5FF CALL REDBAGSM.004049A4
004B1AC6 74 0F JE SHORT REDBAGSM.004B1AD7 ;相等跳,不跳死
004B1AC8 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B1ACB E8 D82AF5FF CALL REDBAGSM.004045A8
004B1AD0 33DB XOR EBX,EBX
004B1AD2 E9 F0000000 JMP REDBAGSM.004B1BC7
004B1AD7 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
004B1ADA 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
004B1ADD 0FB652 0E MOVZX EDX,BYTE PTR DS:[EDX+E] ; 序列號(hào)最后一位
004B1AE1 4A DEC EDX ; 減一
004B1AE2 E8 A12CF5FF CALL REDBAGSM.00404788
004B1AE7 8D55 AC LEA EDX,DWORD PTR SS:[EBP-54]
004B1AEA 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
004B1AED E8 866DF5FF CALL REDBAGSM.00408878
004B1AF2 8B45 AC MOV EAX,DWORD PTR SS:[EBP-54]
004B1AF5 50 PUSH EAX
004B1AF6 8D55 A8 LEA EDX,DWORD PTR SS:[EBP-58]
004B1AF9 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004B1AFC E8 776DF5FF CALL REDBAGSM.00408878
004B1B01 8B55 A8 MOV EDX,DWORD PTR SS:[EBP-58] ;EDX指向的是前面用戶名倒數(shù)第2個(gè)字符
004B1B04 58 POP EAX
004B1B05 E8 9A2EF5FF CALL REDBAGSM.004049A4 ;兩者比較,相等跳,不跳死
004B1B0A 74 17 JE SHORT REDBAGSM.004B1B23
004B1B0C 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B1B0F E8 942AF5FF CALL REDBAGSM.004045A8
004B1B14 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
004B1B17 E8 8C2AF5FF CALL REDBAGSM.004045A8
004B1B1C 33DB XOR EBX,EBX
004B1B1E E9 A4000000 JMP REDBAGSM.004B1BC7
004B1B23 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B1B26 E8 7D2AF5FF CALL REDBAGSM.004045A8
004B1B2B 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
004B1B2E E8 752AF5FF CALL REDBAGSM.004045A8
004B1B33 68 081C4B00 PUSH REDBAGSM.004B1C08
004B1B38 8D45 A0 LEA EAX,DWORD PTR SS:[EBP-60]
004B1B3B 50 PUSH EAX
004B1B3C B9 01000000 MOV ECX,1
004B1B41 BA 06000000 MOV EDX,6
004B1B46 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1B49 E8 6A2FF5FF CALL REDBAGSM.00404AB8 ;取SN第6位
004B1B4E FF75 A0 PUSH DWORD PTR SS:[EBP-60]
004B1B51 8D45 9C LEA EAX,DWORD PTR SS:[EBP-64]
004B1B54 50 PUSH EAX
004B1B55 B9 01000000 MOV ECX,1
004B1B5A BA 09000000 MOV EDX,9
004B1B5F 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004B1B62 E8 512FF5FF CALL REDBAGSM.00404AB8 ; 取SN第9位
004B1B67 FF75 9C PUSH DWORD PTR SS:[EBP-64]
004B1B6A 8D45 A4 LEA EAX,DWORD PTR SS:[EBP-5C]
004B1B6D BA 03000000 MOV EDX,3
004B1B72 E8 A92DF5FF CALL REDBAGSM.00404920 ;兩者合并成字符
004B1B77 8B45 A4 MOV EAX,DWORD PTR SS:[EBP-5C]
004B1B7A E8 C971F5FF CALL REDBAGSM.00408D48
004B1B7F 8BD0 MOV EDX,EAX
004B1B81 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004B1B84 E8 FF2BF5FF CALL REDBAGSM.00404788
004B1B89 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
004B1B8C 50 PUSH EAX
004B1B8D 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B1B90 E8 CB2CF5FF CALL REDBAGSM.00404860
004B1B95 8BD0 MOV EDX,EAX
004B1B97 B9 01000000 MOV ECX,1
004B1B9C 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B1B9F E8 142FF5FF CALL REDBAGSM.00404AB8 ;取用戶名最后一字符
004B1BA4 8B55 98 MOV EDX,DWORD PTR SS:[EBP-68]
004B1BA7 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
004B1BAA E8 F52DF5FF CALL REDBAGSM.004049A4
004B1BAF 74 0C JE SHORT REDBAGSM.004B1BBD ;兩比較,相等跳,不跳死
004B1BB1 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004B1BB4 E8 EF29F5FF CALL REDBAGSM.004045A8
004B1BB9 33DB XOR EBX,EBX
004B1BBB EB 0A JMP SHORT REDBAGSM.004B1BC7
004B1BBD 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004B1BC0 E8 E329F5FF CALL REDBAGSM.004045A8
004B1BC5 B3 01 MOV BL,1
004B1BC7 33C0 XOR EAX,EAX
004B1BC9 5A POP EDX
004B1BCA 59 POP ECX
004B1BCB 59 POP ECX
004B1BCC 64:8910 MOV DWORD PTR FS:[EAX],EDX
004B1BCF 68 E91B4B00 PUSH REDBAGSM.004B1BE9
004B1BD4 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
004B1BD7 BA 1A000000 MOV EDX,1A
004B1BDC E8 EB29F5FF CALL REDBAGSM.004045CC
004B1BE1 C3 RETN
5.算法總結(jié)
(1)前五位是固定的,為RBSMS
(2)第6、第9位組合成用戶名最后一個(gè)字符的ASCII碼
(3)第7位是用戶名倒數(shù)第2個(gè)字符
(4)第8位、11位是用戶倒數(shù)第2個(gè)字符的ASCII碼
(5)第10位、12位是用戶名的第1個(gè)字符的ASCII碼
(6)第13、14位是用戶名長(zhǎng)度(以十六進(jìn)制表示的)
(7)最后一位是用戶名倒數(shù)第2位字母加1
6.delphi注冊(cè)機(jī)的主要部分:
var
username:string;
l:integer;
begin
username:=Edituser.text;
l:=length(username);
if l>2 then
begin
editsn.Text :='RBSMS';
editsn.Text := editsn.Text+inttohex(ord(username[l]) div 16,1);
editsn.Text := editsn.Text+username[l-1];
editsn.Text := editsn.Text+inttohex(ord(username[l-1]) div 16,1);
editsn.Text := editsn.Text+inttohex(ord(username[l]) mod 16,1);
editsn.Text := editsn.Text+inttohex(ord(username[1]) div 16,1);
editsn.Text := editsn.Text+inttohex(ord(username[l-1]) mod 16,1);
editsn.Text := editsn.Text+inttohex(ord(username[1]) mod 16,1);
editsn.Text := editsn.Text+inttohex(l,2);
editsn.Text := editsn.Text+upcase(chr(ord(username[l-1])+1));
end
else
Edituser.text:='用戶名長(zhǎng)度不得小于3個(gè)英文字符';
end;
7.相應(yīng)TC注冊(cè)機(jī)源碼:
#include
void main(void)
{
char *str;
int len;
clrscr();
printf("\n\n\n**********************************************************\n");
printf(" 小紅包花樣短信 XP V4.0 注冊(cè)機(jī)\n");
printf(" 作者: 青鋒劍客 ( 2002/10/23 )\n");
printf(" 用戶名長(zhǎng)度不能小于3位且不能為漢字\n");
printf("**********************************************************\n\n");
printf("請(qǐng)輸入你的姓名 : ");
gets(str);
len=strlen(str);
printf("\n你的序列號(hào)為:RBSMS");
printf("%X",str[len-1]/16);
printf("%c",str[len-2]);
printf("%X",str[len-2]/16);
printf("%X",str[len-1]%16);
printf("%X",str[0]/16);
printf("%X",str[len-2]%16);
printf("%X",str[0]%16);
if (len<16) printf("0");
printf("%X",len);
printf("%c\n",toupper(str[len-2]+1));
短信(short message service,SMS)是“融合通信”業(yè)務(wù)規(guī)劃的一部分,用戶通過(guò)手機(jī)或其他電信終端直接發(fā)送或接收的文字或數(shù)字信息,用戶每次能接收和發(fā)送短信的字符數(shù)為160個(gè)英文、數(shù)字字符或者70個(gè)中文字符。短信是伴隨數(shù)字移動(dòng)通信系統(tǒng)而產(chǎn)生的一種電信業(yè)務(wù),通過(guò)移動(dòng)通信系統(tǒng)的信令信道和信令網(wǎng),傳送文字或數(shù)字短信息,屬于一種非實(shí)時(shí)的、非語(yǔ)音的數(shù)據(jù)通信業(yè)務(wù)。