- UID
- 28352
注册时间2007-2-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 开心 2024-5-1 14:44 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
【破文标题】4U AVI MPEG Converter 5.3.8算法分析
【破文作者】tianxj
【作者邮箱】[email protected]
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】4U AVI MPEG Converter 5.3.8
【软件大小】11338KB
【软件类别】国外软件/视频转换
【软件语言】英文
【更新时间】2008-3-6
【原版下载】网上找一下
【保护方式】注册码
【软件简介】4U AVI MPEG Converter 是一功能强大的视频转换工具,它可以将AVI、MPEG、 WMV、 ASF、 MOV、 QuickTime转换成AVI、DivX、 XviD、 MPEG-1/MPEG-2/DVD/VCD/SVCD、 WMV、 RM等常用的视频格式、或者抽音频成MP3格式。它支持批量文件转换可以一次点击转换多个文件,带有多种解码器;自定义输出视频和帧大小。使用简单,支持资源管理器中点击右键自动进行转换,而不用手动运行本软件。
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
初学破解与编程,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"Invalid Registration Code! Please enter an available Registration Code."
**************************************************************
二、用PEiD对AVIMPEGConverter.exe查壳,为 Borland Delphi 6.0 - 7.0
**************************************************************
三、运行OD,打开AVIMPEGConverter.exe,右键—超级字串参考—查找ASCII.
发现"Invalid Registration Code! Please enter an available Registration Code."- 00491A9C /$ 55 PUSH EBP
- 00491A9D |. 8BEC MOV EBP,ESP
- 00491A9F |. 6A 00 PUSH 0
- 00491AA1 |. 6A 00 PUSH 0
- 00491AA3 |. 6A 00 PUSH 0
- 00491AA5 |. 6A 00 PUSH 0
- 00491AA7 |. 6A 00 PUSH 0
- 00491AA9 |. 53 PUSH EBX
- 00491AAA |. 56 PUSH ESI
- 00491AAB |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
- 00491AAE |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
- 00491AB1 |. 8BF0 MOV ESI,EAX
- 00491AB3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 00491AB6 |. E8 9D30F7FF CALL AVIMPEGC.00404B58
- 00491ABB |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //试练码
- 00491ABE |. E8 9530F7FF CALL AVIMPEGC.00404B58
- 00491AC3 |. 33C0 XOR EAX,EAX
- 00491AC5 |. 55 PUSH EBP
- 00491AC6 |. 68 931B4900 PUSH AVIMPEGC.00491B93
- 00491ACB |. 64:FF30 PUSH DWORD PTR FS:[EAX]
- 00491ACE |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
- 00491AD1 |. 33DB XOR EBX,EBX
- 00491AD3 |. 33D2 XOR EDX,EDX
- 00491AD5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 00491AD8 |. E8 CF31F7FF CALL AVIMPEGC.00404CAC
- 00491ADD |. 85C0 TEST EAX,EAX
- 00491ADF |. 7E 0B JLE SHORT AVIMPEGC.00491AEC
- 00491AE1 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 00491AE4 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
- 00491AE7 |. E8 642CF7FF CALL AVIMPEGC.00404750
- 00491AEC |> 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
- 00491AEF |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] ; //用户名
- 00491AF2 |. 8BC6 MOV EAX,ESI
- 00491AF4 |. E8 2F010000 CALL AVIMPEGC.00491C28 ; //算法CALL1
- 00491AF9 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] ; //真码
- 00491AFC |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //试练码
- 00491AFF |. E8 186FF7FF CALL AVIMPEGC.00408A1C ; //比较CALL
- 00491B04 |. 85C0 TEST EAX,EAX
- 00491B06 |. 75 41 JNZ SHORT AVIMPEGC.00491B49 ; //关键跳转
- 00491B08 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
- 00491B0B |. 8BC6 MOV EAX,ESI
- 00491B0D |. E8 EEF3FFFF CALL AVIMPEGC.00490F00
- 00491B12 |. 84C0 TEST AL,AL
- 00491B14 |. 74 62 JE SHORT AVIMPEGC.00491B78
- 00491B16 |. B3 01 MOV BL,1
- 00491B18 |. 6A 40 PUSH 40
- 00491B1A |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
- 00491B1D |. A1 8CEF4B00 MOV EAX,DWORD PTR DS:[4BEF8C]
- 00491B22 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
- 00491B24 |. E8 2738FDFF CALL AVIMPEGC.00465350
- 00491B29 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
- 00491B2C |. E8 3730F7FF CALL AVIMPEGC.00404B68
- 00491B31 |. 50 PUSH EAX ; |Title
- 00491B32 |. 68 A41B4900 PUSH AVIMPEGC.00491BA4 ; |Registered successfully. Thanks for your registration!
- 00491B37 |. A1 8CEF4B00 MOV EAX,DWORD PTR DS:[4BEF8C] ; |
- 00491B3C |. 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
- 00491B3E |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; |
- 00491B41 |. 50 PUSH EAX ; |hOwner
- 00491B42 |. E8 895AF7FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
- 00491B47 |. EB 2F JMP SHORT AVIMPEGC.00491B78
- 00491B49 |> 6A 10 PUSH 10
- 00491B4B |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
- 00491B4E |. A1 8CEF4B00 MOV EAX,DWORD PTR DS:[4BEF8C]
- 00491B53 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
- 00491B55 |. E8 F637FDFF CALL AVIMPEGC.00465350
- 00491B5A |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
- 00491B5D |. E8 0630F7FF CALL AVIMPEGC.00404B68
- 00491B62 |. 50 PUSH EAX ; |Title
- 00491B63 |. 68 DC1B4900 PUSH AVIMPEGC.00491BDC ; |Invalid Registration Code! \r\nPlease enter an available Registration Code.
- 00491B68 |. A1 8CEF4B00 MOV EAX,DWORD PTR DS:[4BEF8C] ; |
- 00491B6D |. 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
- 00491B6F |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; |
- 00491B72 |. 50 PUSH EAX ; |hOwner
- 00491B73 |. E8 585AF7FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
- 00491B78 |> 33C0 XOR EAX,EAX
- 00491B7A |. 5A POP EDX
- 00491B7B |. 59 POP ECX
- 00491B7C |. 59 POP ECX
- 00491B7D |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
- 00491B80 |. 68 9A1B4900 PUSH AVIMPEGC.00491B9A
- 00491B85 |> 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
- 00491B88 |. BA 05000000 MOV EDX,5
- 00491B8D |. E8 4A2BF7FF CALL AVIMPEGC.004046DC
- 00491B92 \. C3 RETN
- 00491B93 .^ E9 A424F7FF JMP AVIMPEGC.0040403C
- 00491B98 .^ EB EB JMP SHORT AVIMPEGC.00491B85
- 00491B9A . 8BC3 MOV EAX,EBX
- 00491B9C . 5E POP ESI
- 00491B9D . 5B POP EBX
- 00491B9E . 8BE5 MOV ESP,EBP
- 00491BA0 . 5D POP EBP
- 00491BA1 . C3 RETN
- =======================跟进算法CALL1=========================
- 00491C28 /$ 55 PUSH EBP
- 00491C29 |. 8BEC MOV EBP,ESP
- 00491C2B |. 6A 00 PUSH 0
- 00491C2D |. 6A 00 PUSH 0
- 00491C2F |. 6A 00 PUSH 0
- 00491C31 |. 6A 00 PUSH 0
- 00491C33 |. 6A 00 PUSH 0
- 00491C35 |. 6A 00 PUSH 0
- 00491C37 |. 6A 00 PUSH 0
- 00491C39 |. 6A 00 PUSH 0
- 00491C3B |. 53 PUSH EBX
- 00491C3C |. 56 PUSH ESI
- 00491C3D |. 57 PUSH EDI
- 00491C3E |. 8BD9 MOV EBX,ECX
- 00491C40 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
- 00491C43 |. 8BF8 MOV EDI,EAX
- 00491C45 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //用户名
- 00491C48 |. E8 0B2FF7FF CALL AVIMPEGC.00404B58
- 00491C4D |. 33C0 XOR EAX,EAX
- 00491C4F |. 55 PUSH EBP
- 00491C50 |. 68 831D4900 PUSH AVIMPEGC.00491D83
- 00491C55 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
- 00491C58 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
- 00491C5B |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
- 00491C5E |. BA 9C1D4900 MOV EDX,AVIMPEGC.00491D9C ; J5c2V~9I3Wp
- 00491C63 |. E8 102DF7FF CALL AVIMPEGC.00404978 ; //用户名与字符串"J5c2V~9I3Wp"相连,设为字符串1
- 00491C68 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串1
- 00491C6B |. E8 002DF7FF CALL AVIMPEGC.00404970 ; //取字符串1长度
- 00491C70 |. 8BF0 MOV ESI,EAX ; //ESI=EAX=字符串1长度
- 00491C72 |. D1FE SAR ESI,1 ; //ESI右移1位
- 00491C74 |. 79 03 JNS SHORT AVIMPEGC.00491C79
- 00491C76 |. 83D6 00 ADC ESI,0
- 00491C79 |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
- 00491C7C |. 50 PUSH EAX
- 00491C7D |. 8BCE MOV ECX,ESI ; //ECX=ESI
- 00491C7F |. BA 01000000 MOV EDX,1 ; //EDX=1
- 00491C84 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串1
- 00491C87 |. E8 3C2FF7FF CALL AVIMPEGC.00404BC8
- 00491C8C |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; //字符串1的左边ESI位,设为字符串2
- 00491C8F |. 50 PUSH EAX
- 00491C90 |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
- 00491C93 |. 50 PUSH EAX
- 00491C94 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串1
- 00491C97 |. E8 D42CF7FF CALL AVIMPEGC.00404970 ; //取字符串1长度
- 00491C9C |. 8BC8 MOV ECX,EAX ; //ECX=EAX=字符串1长度
- 00491C9E |. 8D56 01 LEA EDX,DWORD PTR DS:[ESI+1]
- 00491CA1 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串1
- 00491CA4 |. E8 1F2FF7FF CALL AVIMPEGC.00404BC8
- 00491CA9 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] ; //字符串1去除左边ESI位剩余字符,设为字符串3
- 00491CAC |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
- 00491CAF |. 59 POP ECX ; //字符串2
- 00491CB0 |. E8 072DF7FF CALL AVIMPEGC.004049BC
- 00491CB5 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 00491CB8 |. 50 PUSH EAX
- 00491CB9 |. B9 0A000000 MOV ECX,0A ; //ECX=A
- 00491CBE |. BA 01000000 MOV EDX,1 ; //EDX=1
- 00491CC3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串3与字符串2相连,设为字符串4
- 00491CC6 |. E8 FD2EF7FF CALL AVIMPEGC.00404BC8 ; //取字符串4的左边10位,设为字符串5
- 00491CCB |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
- 00491CCE |. 50 PUSH EAX
- 00491CCF |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串4
- 00491CD2 |. E8 992CF7FF CALL AVIMPEGC.00404970 ; //取字符串4的长度
- 00491CD7 |. 8BC8 MOV ECX,EAX
- 00491CD9 |. BA 06000000 MOV EDX,6
- 00491CDE |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串4
- 00491CE1 |. E8 E22EF7FF CALL AVIMPEGC.00404BC8 ; //取字符串4的第6位以后的字符,设为字符串6
- 00491CE6 |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0 ; //字符串6
- 00491CEA |. 75 10 JNZ SHORT AVIMPEGC.00491CFC
- 00491CEC |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
- 00491CEF |. BA 9C1D4900 MOV EDX,AVIMPEGC.00491D9C ; J5c2V~9I3Wp
- 00491CF4 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
- 00491CF7 |. E8 C02CF7FF CALL AVIMPEGC.004049BC
- 00491CFC |> 53 PUSH EBX
- 00491CFD |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C] ; //字符串6
- 00491D00 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; //字符串5
- 00491D03 |. 8BC7 MOV EAX,EDI
- 00491D05 |. E8 A6F0FFFF CALL AVIMPEGC.00490DB0 ; //算法CALL2
- 00491D0A |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
- 00491D0D |. 50 PUSH EAX
- 00491D0E |. 8B03 MOV EAX,DWORD PTR DS:[EBX] ; //字符串7
- 00491D10 |. B9 05000000 MOV ECX,5
- 00491D15 |. BA 01000000 MOV EDX,1
- 00491D1A |. E8 A92EF7FF CALL AVIMPEGC.00404BC8
- 00491D1F |. FF75 E8 PUSH DWORD PTR SS:[EBP-18] ; //字符串7的1-5位
- 00491D22 |. 68 B01D4900 PUSH AVIMPEGC.00491DB0 ; -
- 00491D27 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
- 00491D2A |. 50 PUSH EAX
- 00491D2B |. 8B03 MOV EAX,DWORD PTR DS:[EBX] ; //字符串7
- 00491D2D |. B9 05000000 MOV ECX,5
- 00491D32 |. BA 06000000 MOV EDX,6
- 00491D37 |. E8 8C2EF7FF CALL AVIMPEGC.00404BC8
- 00491D3C |. FF75 E4 PUSH DWORD PTR SS:[EBP-1C] ; //字符串7的6-10位
- 00491D3F |. 68 B01D4900 PUSH AVIMPEGC.00491DB0 ; -
- 00491D44 |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
- 00491D47 |. 50 PUSH EAX
- 00491D48 |. 8B03 MOV EAX,DWORD PTR DS:[EBX] ; //字符串7
- 00491D4A |. B9 05000000 MOV ECX,5
- 00491D4F |. BA 0B000000 MOV EDX,0B
- 00491D54 |. E8 6F2EF7FF CALL AVIMPEGC.00404BC8
- 00491D59 |. FF75 E0 PUSH DWORD PTR SS:[EBP-20] ; //字符串7的11-15位
- 00491D5C |. 8BC3 MOV EAX,EBX
- 00491D5E |. BA 05000000 MOV EDX,5
- 00491D63 |. E8 C82CF7FF CALL AVIMPEGC.00404A30 ; //将以上字符串相连
- 00491D68 |. 33C0 XOR EAX,EAX
- 00491D6A |. 5A POP EDX
- 00491D6B |. 59 POP ECX
- 00491D6C |. 59 POP ECX
- 00491D6D |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
- 00491D70 |. 68 8A1D4900 PUSH AVIMPEGC.00491D8A
- 00491D75 |> 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
- 00491D78 |. BA 08000000 MOV EDX,8
- 00491D7D |. E8 5A29F7FF CALL AVIMPEGC.004046DC
- 00491D82 \. C3 RETN
- 00491D83 .^ E9 B422F7FF JMP AVIMPEGC.0040403C
- 00491D88 .^ EB EB JMP SHORT AVIMPEGC.00491D75
- 00491D8A . 5F POP EDI
- 00491D8B . 5E POP ESI
- 00491D8C . 5B POP EBX
- 00491D8D . 8BE5 MOV ESP,EBP
- 00491D8F . 5D POP EBP
- 00491D90 . C3 RETN
- =======================跟进算法CALL2=========================
- 00490DB0 /$ 55 PUSH EBP
- 00490DB1 |. 8BEC MOV EBP,ESP
- 00490DB3 |. 83C4 E0 ADD ESP,-20
- 00490DB6 |. 53 PUSH EBX
- 00490DB7 |. 56 PUSH ESI
- 00490DB8 |. 57 PUSH EDI
- 00490DB9 |. 33DB XOR EBX,EBX
- 00490DBB |. 895D E0 MOV DWORD PTR SS:[EBP-20],EBX
- 00490DBE |. 895D F0 MOV DWORD PTR SS:[EBP-10],EBX
- 00490DC1 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
- 00490DC4 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
- 00490DC7 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串5
- 00490DCA |. E8 893DF7FF CALL AVIMPEGC.00404B58
- 00490DCF |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //字符串6
- 00490DD2 |. E8 813DF7FF CALL AVIMPEGC.00404B58
- 00490DD7 |. 33C0 XOR EAX,EAX
- 00490DD9 |. 55 PUSH EBP
- 00490DDA |. 68 CC0E4900 PUSH AVIMPEGC.00490ECC
- 00490DDF |. 64:FF30 PUSH DWORD PTR FS:[EAX]
- 00490DE2 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
- 00490DE5 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; //字符串6
- 00490DE8 |. E8 833BF7FF CALL AVIMPEGC.00404970 ; //取字符串6的长度
- 00490DED |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX ; //[EBP-C]=EAX=字符串6的长度
- 00490DF0 |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0
- 00490DF4 |. 75 0D JNZ SHORT AVIMPEGC.00490E03
- 00490DF6 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 00490DF9 |. BA E40E4900 MOV EDX,AVIMPEGC.00490EE4 ; Think Space
- 00490DFE |. E8 4D39F7FF CALL AVIMPEGC.00404750
- 00490E03 |> 33F6 XOR ESI,ESI ; //ESI=0
- 00490E05 |. BB 00010000 MOV EBX,100 ; //EBX=100
- 00490E0A |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
- 00490E0D |. 50 PUSH EAX ; /Arg1
- 00490E0E |. C745 E4 00010>MOV DWORD PTR SS:[EBP-1C],100 ; |//[EBP-1C]=100
- 00490E15 |. C645 E8 00 MOV BYTE PTR SS:[EBP-18],0 ; |//[EBP-18]=0
- 00490E19 |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C] ; |
- 00490E1C |. 33C9 XOR ECX,ECX ; |//ECX=0
- 00490E1E |. B8 F80E4900 MOV EAX,AVIMPEGC.00490EF8 ; |%1.2x
- 00490E23 |. E8 348EF7FF CALL AVIMPEGC.00409C5C ; \AVIMPEGC.00409C5C
- 00490E28 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串5
- 00490E2B |. E8 403BF7FF CALL AVIMPEGC.00404970 ; //取字符串5的长度
- 00490E30 |. 8BF8 MOV EDI,EAX ; //EDI=EAX=字符串5的长度=A
- 00490E32 |. 85FF TEST EDI,EDI
- 00490E34 |. 7E 60 JLE SHORT AVIMPEGC.00490E96
- 00490E36 |. C745 EC 01000>MOV DWORD PTR SS:[EBP-14],1 ; //[EBP-14]=1
- 00490E3D |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4] ; //字符串5
- 00490E40 |. 8B55 EC |MOV EDX,DWORD PTR SS:[EBP-14] ; //EDX=[EBP-14]
- 00490E43 |. 0FB64410 FF |MOVZX EAX,BYTE PTR DS:[EAX+EDX-1] ; //逐位取字符串5的ASC值
- 00490E48 |. 03C3 |ADD EAX,EBX ; //EAX=EAX+EBX
- 00490E4A |. B9 FF000000 |MOV ECX,0FF ; //ECX=0FF
- 00490E4F |. 99 |CDQ
- 00490E50 |. F7F9 |IDIV ECX ; //EAX/ECX,商送EAX,余送EDX
- 00490E52 |. 8BDA |MOV EBX,EDX ; //EBX=EDX
- 00490E54 |. 3B75 F4 |CMP ESI,DWORD PTR SS:[EBP-C] ; //ESI与字符串6的长度比较
- 00490E57 |. 7D 03 |JGE SHORT AVIMPEGC.00490E5C ; //大于等于则跳
- 00490E59 |. 46 |INC ESI ; //ESI=ESI+1
- 00490E5A |. EB 05 |JMP SHORT AVIMPEGC.00490E61
- 00490E5C |> BE 01000000 |MOV ESI,1 ; //ESI=1
- 00490E61 |> 8B45 F8 |MOV EAX,DWORD PTR SS:[EBP-8] ; //字符串6
- 00490E64 |. 0FB64430 FF |MOVZX EAX,BYTE PTR DS:[EAX+ESI-1] ; //逐位取字符串6ASC值
- 00490E69 |. 33D8 |XOR EBX,EAX ; //EBX= EBX xor EAX
- 00490E6B |. 8D45 E0 |LEA EAX,DWORD PTR SS:[EBP-20]
- 00490E6E |. 50 |PUSH EAX ; /Arg1
- 00490E6F |. 895D E4 |MOV DWORD PTR SS:[EBP-1C],EBX ; |//[EBP-1C]=EBX
- 00490E72 |. C645 E8 00 |MOV BYTE PTR SS:[EBP-18],0 ; |
- 00490E76 |. 8D55 E4 |LEA EDX,DWORD PTR SS:[EBP-1C] ; |
- 00490E79 |. 33C9 |XOR ECX,ECX ; |
- 00490E7B |. B8 F80E4900 |MOV EAX,AVIMPEGC.00490EF8 ; |%1.2x
- 00490E80 |. E8 D78DF7FF |CALL AVIMPEGC.00409C5C ; \//EBX转字符形式
- 00490E85 |. 8B55 E0 |MOV EDX,DWORD PTR SS:[EBP-20]
- 00490E88 |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10]
- 00490E8B |. E8 E83AF7FF |CALL AVIMPEGC.00404978 ; //将字符相连
- 00490E90 |. FF45 EC |INC DWORD PTR SS:[EBP-14] ; //[EBP-14]=[EBP-14]+1
- 00490E93 |. 4F |DEC EDI ; //EDI=EDI-1
- 00490E94 |.^ 75 A7 \JNZ SHORT AVIMPEGC.00490E3D ; //循环
- 00490E96 |> 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
- 00490E99 |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10] ; //相连后字符串,设为字符串7
- 00490E9C |. E8 6B38F7FF CALL AVIMPEGC.0040470C
- 00490EA1 |. 33C0 XOR EAX,EAX
- 00490EA3 |. 5A POP EDX
- 00490EA4 |. 59 POP ECX
- 00490EA5 |. 59 POP ECX
- 00490EA6 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
- 00490EA9 |. 68 D30E4900 PUSH AVIMPEGC.00490ED3
- 00490EAE |> 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
- 00490EB1 |. E8 0238F7FF CALL AVIMPEGC.004046B8
- 00490EB6 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
- 00490EB9 |. E8 FA37F7FF CALL AVIMPEGC.004046B8
- 00490EBE |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
- 00490EC1 |. BA 02000000 MOV EDX,2
- 00490EC6 |. E8 1138F7FF CALL AVIMPEGC.004046DC
- 00490ECB \. C3 RETN
- 00490ECC .^ E9 6B31F7FF JMP AVIMPEGC.0040403C
- 00490ED1 .^ EB DB JMP SHORT AVIMPEGC.00490EAE
- 00490ED3 . 5F POP EDI
- 00490ED4 . 5E POP ESI
- 00490ED5 . 5B POP EBX
- 00490ED6 . 8BE5 MOV ESP,EBP
- 00490ED8 . 5D POP EBP
- 00490ED9 . C2 0400 RETN 4
复制代码 **************************************************************
【破解总结】
这段时间工硕的课终于上完了,继续学习《加密与解密》
--------------------------------------------------------------
【算法总结】
将用户名变形后分成两部分作循环运算,将得到的结果加以处理就是注册码
--------------------------------------------------------------
【算法注册机】
易代码
.版本 2
.子程序 _按钮1_被单击
.局部变量 Serial, 文本型, , , 变量
.局部变量 字符串1, 文本型
.局部变量 字符串2, 文本型
.局部变量 字符串3, 文本型
.局部变量 字符串4, 文本型
.局部变量 字符串5, 文本型
.局部变量 字符串6, 文本型
.局部变量 字符串7, 文本型
.局部变量 字符串8, 文本型
.局部变量 字符串1长度, 整数型
.局部变量 字符串2长度, 整数型
.局部变量 字符串3长度, 整数型
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 d, 整数型
.局部变量 e, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
字符串1 = 编辑框1.内容 + “J5c2V~9I3Wp”
字符串1长度 = 取文本长度 (字符串1)
字符串2长度 = 右移 (字符串1长度, 1)
字符串2 = 取文本左边 (字符串1, 字符串2长度)
字符串3 = 取文本右边 (字符串1, 字符串1长度 - 字符串2长度)
字符串4 = 字符串3 + 字符串2
字符串5 = 取文本左边 (字符串4, 10)
字符串6 = 取文本中间 (字符串4, 6, 取文本长度 (字符串4) - 5)
b = 256
字符串8 = “100”
.计次循环首 (取文本长度 (字符串5), i)
a = 取代码 (字符串5, i)
a = a + b
c = 255
b = a % c
.如果 (d ≥ 取文本长度 (字符串6))
d = 1
.否则
d = d + 1
.如果结束
e = 取代码 (字符串6, d)
b = 位异或 (b, e)
字符串7 = 取十六进制文本 (b)
.计次循环首 (2 - 取文本长度 (字符串7), j)
字符串7 = “0” + 字符串7
.计次循环尾 ()
字符串8 = 字符串8 + 字符串7
.计次循环尾 ()
编辑框2.内容 = 取文本左边 (字符串8, 5) + “-” + 取文本中间 (字符串8, 6, 5) + “-” + 取文本中间 (字符串8, 11, 5)
--------------------------------------------------------------
【内存注册机】
中断地址 00491AFF
中断次数 1
第一字节 E8
指令长度 5
内存方式-寄存器-EDX
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |
评分
-
查看全部评分
|