計算機專業詞彙學習1.0演算法分析[原創] (14千字)
計算機專業詞彙學習1.0演算法分析
作者:ssljx
軟體名稱:計算機專業詞彙學習1.0
用途:主要為考程式設計師&高階程式學習詞彙使用
下載網址:http://www.21cmm.com/rjxz/learn.zip
大小:1420kB
工具:trw2000
這是我第一個分析演算法的軟體,下面我用U1-->U6代表使用者名稱相應前面六位..用bpx hmemcpy攔截來到這裡..
:004055EA 8D45F8
lea eax, dword ptr [ebp-08]
:004055ED B901000000 mov ecx,
00000001
:004055F2 BA01000000 mov edx,
00000001
:004055F7 E864F50800 call 00494B60
:004055FC 837DF400 cmp
dword ptr [ebp-0C], 00000000
:00405600 7405
je 00405607
:00405602 8B45F4
mov eax, dword ptr [ebp-0C]
:00405605 EB05
jmp 0040560C
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405600(C)
|
:00405607 B84CC34A00 mov eax,
004AC34C
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040559D(C), :00405605(U)
|
:0040560C 0FBE10
movsx edx, byte ptr [eax]//取使用者名稱第一位U1的ASCII16進位制碼
==>edx
:0040560F 69FA9A020000 imul edi, edx,
0000029A//U1*29A=12b2e==>edi把值儲存在EDI
:00405615 33C0
xor eax, eax
:00405617 8D55EC
lea edx, dword ptr [ebp-14]
:0040561A 8945EC
mov dword ptr [ebp-14], eax
:0040561D 52
push edx
:0040561E FF461C
inc [esi+1C]
:00405621 33C9
xor ecx, ecx
:00405623 894DF0
mov dword ptr [ebp-10], ecx
:00405626 8D55F0
lea edx, dword ptr [ebp-10]
:00405629 FF461C
inc [esi+1C]
:0040562C 8B83E0020000 mov eax, dword
ptr [ebx+000002E0]
:00405632 E8C55F0500 call 0045B5FC
:00405637 8D45F0
lea eax, dword ptr [ebp-10]
:0040563A B901000000 mov ecx,
00000001
:0040563F BA02000000 mov edx,
00000002
:00405644 E817F50800 call 00494B60
:00405649 837DEC00 cmp
dword ptr [ebp-14], 00000000
:0040564D 7405
je 00405654
:0040564F 8B45EC
mov eax, dword ptr [ebp-14]
:00405652 EB05
jmp 00405659
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040564D(C)
|
:00405654 B84DC34A00 mov eax,
004AC34D
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405652(U)
|
:00405659 0FBE10
movsx edx, byte ptr [eax]//取使用者名稱第二位U2的ASCII16進位制碼
==>edx
:0040565C 8BCA
mov ecx, edx
:0040565E 33C0
xor eax, eax
:00405660 C1E104
shl ecx, 04//U2*10==>ecx
:00405663 8945E4
mov dword ptr [ebp-1C], eax
:00405666 03CA
add ecx, edx//ECX+U2==>ecx
:00405668 8D0C8A
lea ecx, dword ptr [edx+4*ecx]//U2+4*ECX==>ECX
:0040566B 8D0C8A
lea ecx, dword ptr [edx+4*ecx]//U2+4*ECX==>ECX
:0040566E 8D0C4A
lea ecx, dword ptr [edx+2*ecx]//U2+2*ECX==>ECX
:00405671 8D55E4
lea edx, dword ptr [ebp-1C]
:00405674 52
push edx
:00405675 03F9
add edi, ecx//將第二位計算出來的值累加第一的值
:00405677 FF461C
inc [esi+1C]
:0040567A 33C9
xor ecx, ecx
:0040567C 894DE8
mov dword ptr [ebp-18], ecx
:0040567F 8D55E8
lea edx, dword ptr [ebp-18]
:00405682 FF461C
inc [esi+1C]
:00405685 8B83E0020000 mov eax, dword
ptr [ebx+000002E0]
:0040568B E86C5F0500 call 0045B5FC
:00405690 8D45E8
lea eax, dword ptr [ebp-18]
:00405693 B901000000 mov ecx,
00000001
:00405698 BA03000000 mov edx,
00000003
:0040569D E8BEF40800 call 00494B60
:004056A2 837DE400 cmp
dword ptr [ebp-1C], 00000000
:004056A6 7405
je 004056AD
:004056A8 8B45E4
mov eax, dword ptr [ebp-1C]
:004056AB EB05
jmp 004056B2
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004056A6(C)
|
:004056AD B84EC34A00 mov eax,
004AC34E
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004056AB(U)
|
:004056B2 0FBE10
movsx edx, byte ptr [eax]//取第三位U3
:004056B5 8BCA
mov ecx, edx
:004056B7 33C0
xor eax, eax
:004056B9 C1E103
shl ecx, 03//U3*8==>ECX
:004056BC 8945DC
mov dword ptr [ebp-24], eax
:004056BF 2BCA
sub ecx, edx//ECX-U3==>ECX
:004056C1 C1E104
shl ecx, 04//ECX*10==>ECX
:004056C4 2BCA
sub ecx, edx//ECX-U3==>ECX
:004056C6 8D55DC
lea edx, dword ptr [ebp-24]
:004056C9 52
push edx
:004056CA 8D55E0
lea edx, dword ptr [ebp-20]
:004056CD C1E102
shl ecx, 02//ECX*4==>ECX
:004056D0 FF461C
inc [esi+1C]
:004056D3 03F9
add edi, ecx//累加到EDI
:004056D5 33C9
xor ecx, ecx
:004056D7 894DE0
mov dword ptr [ebp-20], ecx
:004056DA FF461C
inc [esi+1C]
:004056DD 8B83E0020000 mov eax, dword
ptr [ebx+000002E0]
:004056E3 E8145F0500 call 0045B5FC
:004056E8 8D45E0
lea eax, dword ptr [ebp-20]
:004056EB B901000000 mov ecx,
00000001
:004056F0 BA04000000 mov edx,
00000004
:004056F5 E866F40800 call 00494B60
:004056FA 837DDC00 cmp
dword ptr [ebp-24], 00000000
:004056FE 7405
je 00405705
:00405700 8B45DC
mov eax, dword ptr [ebp-24]
:00405703 EB05
jmp 0040570A
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004056FE(C)
|
:00405705 B84FC34A00 mov eax,
004AC34F
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405703(U)
|
:0040570A 0FBE10
movsx edx, byte ptr [eax]//取第四位U4
:0040570D 8BCA
mov ecx, edx
:0040570F 33C0
xor eax, eax
:00405711 C1E103
shl ecx, 03//U4*8==>ECX
:00405714 8945D4
mov dword ptr [ebp-2C], eax
:00405717 2BCA
sub ecx, edx//ECX-U4==>ECX
:00405719 C1E104
shl ecx, 04//ECX*10==>ECX
:0040571C 2BCA
sub ecx, edx//ECX-U4==>ECX
:0040571E 8D55D4
lea edx, dword ptr [ebp-2C]
:00405721 52
push edx
:00405722 8D55D8
lea edx, dword ptr [ebp-28]
:00405725 C1E102
shl ecx, 02//ECX*4==>ECX
:00405728 FF461C
inc [esi+1C]
:0040572B 03F9
add edi, ecx//累加EDI
:0040572D 33C9
xor ecx, ecx
:0040572F 894DD8
mov dword ptr [ebp-28], ecx
:00405732 FF461C
inc [esi+1C]
:00405735 8B83E0020000 mov eax, dword
ptr [ebx+000002E0]
:0040573B E8BC5E0500 call 0045B5FC
:00405740 8D45D8
lea eax, dword ptr [ebp-28]
:00405743 B901000000 mov ecx,
00000001
:00405748 BA05000000 mov edx,
00000005
:0040574D E80EF40800 call 00494B60
:00405752 837DD400 cmp
dword ptr [ebp-2C], 00000000
:00405756 7405
je 0040575D
:00405758 8B45D4
mov eax, dword ptr [ebp-2C]
:0040575B EB05
jmp 00405762
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405756(C)
|
:0040575D B850C34A00 mov eax,
004AC350
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040575B(U)
|
:00405762 0FBE10
movsx edx, byte ptr [eax]//取第五位U5
:00405765 8BCA
mov ecx, edx
:00405767 33C0
xor eax, eax
:00405769 C1E104
shl ecx, 04//U5*10==>ECX
:0040576C 8945CC
mov dword ptr [ebp-34], eax
:0040576F 03CA
add ecx, edx//ECX+U5==>ECX
:00405771 8D0C8A
lea ecx, dword ptr [edx+4*ecx]//U5+4*ECX==>ECX
:00405774 8D0C8A
lea ecx, dword ptr [edx+4*ecx]//U5+4*ECX==>ECX
:00405777 8D0C4A
lea ecx, dword ptr [edx+2*ecx]//U5+2*ECX==>ECX
:0040577A 8D55CC
lea edx, dword ptr [ebp-34]
:0040577D 52
push edx
:0040577E 03F9
add edi, ecx累加EDI
:00405780 FF461C
inc [esi+1C]
:00405783 33C9
xor ecx, ecx
:00405785 894DD0
mov dword ptr [ebp-30], ecx
:00405788 8D55D0
lea edx, dword ptr [ebp-30]
:0040578B FF461C
inc [esi+1C]
:0040578E 8B83E0020000 mov eax, dword
ptr [ebx+000002E0]
:00405794 E8635E0500 call 0045B5FC
:00405799 8D45D0
lea eax, dword ptr [ebp-30]
:0040579C B901000000 mov ecx,
00000001
:004057A1 BA06000000 mov edx,
00000006
:004057A6 E8B5F30800 call 00494B60
:004057AB 837DCC00 cmp
dword ptr [ebp-34], 00000000
:004057AF 7405
je 004057B6
:004057B1 8B45CC
mov eax, dword ptr [ebp-34]
:004057B4 EB05
jmp 004057BB
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004057AF(C)
|
:004057B6 B851C34A00 mov eax,
004AC351
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004057B4(U)
|
:004057BB 0FBE10
movsx edx, byte ptr [eax]//取第六位U6
:004057BE 69CA9A020000 imul ecx, edx,
0000029A//U6*29A==>ECX
:004057C4 03F9
add edi, ecx//累加EDI,這裡就是註冊碼的十六進位制..往後使換算和比較我就不跟了..
:004057C6 8BC7
mov eax, edi
:004057C8 33D2
xor edx, edx
:004057CA 8955FC
mov dword ptr [ebp-04], edx
:004057CD 8D55FC
lea edx, dword ptr [ebp-04]
:004057D0 FF461C
inc [esi+1C]
:004057D3 E8388D0700 call 0047E510
:004057D8 FF4E1C
dec [esi+1C]
:004057DB 8D45CC
lea eax, dword ptr [ebp-34]
:004057DE BA02000000 mov edx,
00000002
:004057E3 E800F20800 call 004949E8
:004057E8 FF4E1C
dec [esi+1C]
:004057EB 8D45D0
lea eax, dword ptr [ebp-30]
:004057EE BA02000000 mov edx,
00000002
:004057F3 E8F0F10800 call 004949E8
:004057F8 FF4E1C
dec [esi+1C]
:004057FB 8D45D4
lea eax, dword ptr [ebp-2C]
:004057FE BA02000000 mov edx,
00000002
:00405803 E8E0F10800 call 004949E8
:00405808 FF4E1C
dec [esi+1C]
:0040580B 8D45D8
lea eax, dword ptr [ebp-28]
:0040580E BA02000000 mov edx,
00000002
:00405813 E8D0F10800 call 004949E8
:00405818 FF4E1C
dec [esi+1C]
:0040581B 8D45DC
lea eax, dword ptr [ebp-24]
:0040581E BA02000000 mov edx,
00000002
:00405823 E8C0F10800 call 004949E8
:00405828 FF4E1C
dec [esi+1C]
:0040582B 8D45E0
lea eax, dword ptr [ebp-20]
:0040582E BA02000000 mov edx,
00000002
:00405833 E8B0F10800 call 004949E8
:00405838 FF4E1C
dec [esi+1C]
:0040583B 8D45E4
lea eax, dword ptr [ebp-1C]
:0040583E BA02000000 mov edx,
00000002
:00405843 E8A0F10800 call 004949E8
:00405848 FF4E1C
dec [esi+1C]
:0040584B 8D45E8
lea eax, dword ptr [ebp-18]
:0040584E BA02000000 mov edx,
00000002
:00405853 E890F10800 call 004949E8
:00405858 FF4E1C
dec [esi+1C]
:0040585B 8D45EC
lea eax, dword ptr [ebp-14]
:0040585E BA02000000 mov edx,
00000002
:00405863 E880F10800 call 004949E8
:00405868 FF4E1C
dec [esi+1C]
:0040586B 8D45F0
lea eax, dword ptr [ebp-10]
:0040586E BA02000000 mov edx,
00000002
:00405873 E870F10800 call 004949E8
:00405878 FF4E1C
dec [esi+1C]
:0040587B 8D45F4
lea eax, dword ptr [ebp-0C]
:0040587E BA02000000 mov edx,
00000002
:00405883 E860F10800 call 004949E8
:00405888 FF4E1C
dec [esi+1C]
:0040588B 8D45F8
lea eax, dword ptr [ebp-08]
:0040588E BA02000000 mov edx,
00000002
:00405893 E850F10800 call 004949E8
:00405898 66C746100800 mov [esi+10],
0008
:0040589E 66C746102000 mov [esi+10],
0020
:004058A4 33C0
xor eax, eax
:004058A6 8945C8
mov dword ptr [ebp-38], eax
:004058A9 8D55C8
lea edx, dword ptr [ebp-38]
:004058AC FF461C
inc [esi+1C]
:004058AF 8B83E8020000 mov eax, dword
ptr [ebx+000002E8]
:004058B5 E8425D0500 call 0045B5FC
:004058BA 8D45C8
lea eax, dword ptr [ebp-38]
:004058BD 8D55FC
lea edx, dword ptr [ebp-04]
:004058C0 E8F3F10800 call 00494AB8//這裡就是註冊碼比較,就不多說了...
:004058C5 50
push eax
:004058C6 FF4E1C
dec [esi+1C]
:004058C9 8D45C8
lea eax, dword ptr [ebp-38]
:004058CC BA02000000 mov edx,
00000002
:004058D1 E812F10800 call 004949E8
:004058D6 59
pop ecx
:004058D7 84C9
test cl, cl
:004058D9 0F8495020000 je 00405B74
:004058DF B201
mov dl, 01
:004058E1 A104814300 mov eax,
dword ptr [00438104]
:004058E6 E819290300 call 00438204
:004058EB 8BF8
mov edi, eax
:004058ED 89BBFC020000 mov dword ptr
[ebx+000002FC], edi
:004058F3 BA02000080 mov edx,
80000002
:004058F8 8BC7
mov eax, edi
:004058FA E8A1EF0800 call 004948A0
:004058FF 66C746102C00 mov [esi+10],
002C
總結:
1.這個演算法很簡單,而且有兩位的演算法是一樣就是U1跟U6,U2跟U5,U3跟U4.
2.下面我不算式列出來:(用A1-->A6代表給位的總和)
A1=U1*29A
A6=U6*29A
A2=U2+(U2+(U2+(U2*10+U2)*4)*4)*2
A5=U5+(U5+(U5+(U5*10+U5)*4)*4)*2
A3=((U3*8-U3)*10-U3)*4
A4=((U4*8-U4)*10-U4)*4
3.舉例:
NAME:ssljxccc(其實演算法要六位就夠了..我輸入多兩位..)
s=73 s=73 l=6c j=6a x=78 c=63
A1=73*29A=12B2E
A2=73+(73+(73+(73*10+73)*4)*4)*2=F951
A3=((6C*8-6C)*10-6C)*4=BB50
A4=((6A*8-6A)*10-6A)*4=B7D8
A5=78+(78+(78+(78*10+78)*4)*4)*2=10428
A6=63*29A=1018E
註冊嗎:A1+A2+A3+A4+A5+A6=12B2E+F951+BB50+B7D8+10428+1018E=59D5D
換算成十進位制:367965 完成..
NAME:ssljxccc
code:367965
相關文章
- 計算機專業學習淺談2013-09-17計算機
- 林建:計算機專業學習淺談2013-07-02計算機
- 不是計算機專業,哪個專業更適合學習web前端2019-10-18計算機Web前端
- 讀我們的學科——計算機專業學習淺談2010-11-03計算機
- 計算機常用英語詞彙 —— 資料結構與演算法2019-01-15計算機資料結構演算法
- 學習雲端計算簡單嗎?專科生學習雲端計算就業前景如何?2019-08-07就業
- 非計算機專業人員如何學習好Python技術?2021-12-01計算機Python
- 零基礎非計算機專業的學生學習Java難嗎?2018-01-15計算機Java
- 數學專業的數學與計算機專業的數學的比較2010-06-17計算機
- 計算機專業英語2019-01-05計算機
- 專科生學習雲端計算就業前景如何?2019-08-08就業
- 計算機學習歷程2024-03-30計算機
- 計算機網路學習2024-11-20計算機網路
- [原創]破解-分析Crackme演算法2009-06-13演算法
- 大學學計算機應該選哪個專業呢?2021-02-18計算機
- 給計算機專業學生的幾條建議2020-10-05計算機
- 面臨畢業的計算機專業學生,怎樣去學習web前端,哪些是面試要點2019-12-20計算機Web前端面試
- 計算機專業術語對照2019-01-05計算機
- 【原創】專案五w1r3s.v1.02022-06-03
- FolderView 1.7
註冊演算法分析 (14千字)2015-11-15View演算法
- [原創]帶殼分析共享軟體 (9千字)2015-11-15
- 物流行業專業詞彙彙總2009-09-17行業
- 計算機視覺技術專利分析2019-10-12計算機視覺
- 計算機從業者的技術成長學習之路2016-05-05計算機
- VB計算器專案演算法結構分析2015-05-01演算法
- 你是“領導”你做主-計算機專業的習題薦2009-06-18計算機
- [原創]兩個樣本分析,兩種程式注入學習2019-02-25
- 計算機網路小白學習-22020-09-25計算機網路
- 日積月累-計算機英語詞彙(持續更新)2019-03-21計算機
- JavaScript學習之旅-9(原創)2018-04-26JavaScript
- 資訊化與計算機專業網站2007-02-03計算機網站
- 計算機專業者是人,不是神!2013-01-28計算機
- 原創-XNview v1.65演算法分析2015-11-15View演算法
- 計算機網路複習筆記 - HTTP 1.0 / 1.1 / 2.0 的區別2020-10-31計算機網路筆記HTTP
- 計算機演算法2020-11-14計算機演算法
- 深入理解計算機系統學習- 計算機系統漫遊2019-09-23計算機
- 從學生到程式設計師(四) 關於非計算機專業 (轉)2007-12-12程式設計師計算機
- 計算機目前就業哪些專業就業比較好?2019-06-13計算機就業