吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2232|回复: 15

[转载技术] ScreenCapture算法分析求解

[复制链接]
Shark_鹏 发表于 2015-3-24 16:10 | 显示全部楼层 |阅读模式

【软件简介】《超级屏幕录像专家》是一款非常容易上手的录制工具,其内容简单,易上手,只需按下录制键即可录制出高清视频,软件提供全屏录制和自定义范围录制功能,用户可以通过勾选是否录制声音,选择录制麦克风声音或混音立体声来录制出自己想要的视频音效。用户可通过《超级屏幕录像专家》录制自己演唱的歌曲、游戏视频、软件的操作过程、网络教学、网络电视以及网络电影等视频,软件为用户提供高清的视频素材,供用户后期制作。本软件使用简单,是录制视频的首选软件。
1、支持长时间录像并且保证声音同步,在硬盘空间足够的情况下,可以进行不限时间录象。
2、直接录制生成AVI动画,支持各种压缩方式。
3、录制目标自由选取:可以是全屏、选定窗口或者选定范围。
4、支持标准录制和高清录制,高清录制是别的软件没有的。
5、支持麦克风混音效果录制。
6、支持录制快捷的任意设置。
7、可以用于录制软件操作教程、长时间录制网络课件、录制QQ/MSN等聊天视频、录制网络电视节目、录制电影片段等。
8、软件界面美观,操作简单易上手、功能强大实用。
【逆向声明】只是兴趣爱好,大侠们看看飘过.顺便教育下我!
------------------------------------------------------------------------
【逆向过程】
用户名:[PDG]Dxer

注册码:Pict-2756ureRe-8744

验证算法部分:

用户名字符串:

00574DA2    55              PUSH    EBP
00574DA3    68 464F5700     PUSH    ScreenCa.00574F46
00574DA8    64:FF30         PUSH    DWORD PTR FS:[EAX]                 ; FOW
00574DAB    64:8920         MOV     DWORD PTR FS:[EAX], ESP
00574DAE    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]
00574DB1    E8 E2F5E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCl>
00574DB6    8D55 F0         LEA     EDX, DWORD PTR SS:[EBP-0x10]
00574DB9    8BC7            MOV     EAX, EDI
00574DBB    E8 60FFFFFF     CALL    ScreenCa.00574D20                  ; 进入call
00574DC0    8B45 F0         MOV     EAX, DWORD PTR SS:[EBP-0x10]
00574DC3    E8 90F8E8FF     CALL    ScreenCa.00404658                  ; 用户名
00574DC8    8BF0            MOV     ESI, EAX
00574DCA    85F6            TEST    ESI, ESI
00574DCC    7E 30           JLE     SHORT ScreenCa.00574DFE
00574DCE    BB 01000000     MOV     EBX, 0x1                           ; 用户名循环开始
00574DD3    8D55 E8         LEA     EDX, DWORD PTR SS:[EBP-0x18]       ; %
00574DD6    8BC7            MOV     EAX, EDI                           ; L淌
00574DD8    E8 43FFFFFF     CALL    ScreenCa.00574D20
00574DDD    8B45 E8         MOV     EAX, DWORD PTR SS:[EBP-0x18]       ; 用户名
00574DE0    0FB64418 FF     MOVZX   EAX, BYTE PTR DS:[EAX+EBX-0x1]     ; DS:[00CA83F4]=5B ('[')
00574DE5    8D4D EC         LEA     ECX, DWORD PTR SS:[EBP-0x14]       ; L淌
00574DE8    33D2            XOR     EDX, EDX
00574DEA    E8 3145E9FF     CALL    <ScreenCa.<-UnitSysUtils@SysUtils.>
00574DEF    8B55 EC         MOV     EDX, DWORD PTR SS:[EBP-0x14]       ; (ASCII "5B")
00574DF2    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]        ; L淌
00574DF5    E8 66F8E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCa>
00574DFA    43              INC     EBX
00574DFB    4E              DEC     ESI
00574DFC  ^ 75 D5           JNZ     SHORT ScreenCa.00574DD3
字符串:

[ = 5B
P = 50
D = 44
G = 47
] = 5D
D = 44
x = 78
e = 65
r = 72


用户名转Unicode倒序循环:

00574DFE    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]        ; (ASCII "5B5044475D44786572")
00574E01    E8 52F8E8FF     CALL    ScreenCa.00404658                  ; 72
00574E06    8BF0            MOV     ESI, EAX
00574E08    85F6            TEST    ESI, ESI
00574E0A    7E 2C           JLE     SHORT ScreenCa.00574E38            ; 转Unicode倒序循环
00574E0C    BB 01000000     MOV     EBX, 0x1
00574E11    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]        ; (ASCII "5B5044475D44786572")
00574E14    E8 3FF8E8FF     CALL    ScreenCa.00404658
00574E19    2BC3            SUB     EAX, EBX
00574E1B    8B55 F8         MOV     EDX, DWORD PTR SS:[EBP-0x8]        ; 72
00574E1E    8A1402          MOV     DL, BYTE PTR DS:[EDX+EAX]          ; DS:[00CB94B9]=32 ('2')
00574E21    8D45 E4         LEA     EAX, DWORD PTR SS:[EBP-0x1C]
00574E24    E8 57F7E8FF     CALL    ScreenCa.00404580
00574E29    8B55 E4         MOV     EDX, DWORD PTR SS:[EBP-0x1C]       ; (UNICODE "2")
00574E2C    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]        ; L淌
00574E2F    E8 2CF8E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCa>
00574E34    43              INC     EBX
00574E35    4E              DEC     ESI
00574E36  ^ 75 D9           JNZ     SHORT ScreenCa.00574E11

S1:

00574E38    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]
00574E3B    50              PUSH    EAX
00574E3C    B9 04000000     MOV     ECX, 0x4                                       ; 取前四位
00574E41    BA 01000000     MOV     EDX, 0x1                                       ;从第一位开始取
00574E46    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]        ; (ASCII "27568744D5744405B5")
00574E49    E8 6AFAE8FF     CALL    <ScreenCa.<-TObject@System.@LStrCo>
00574E4E    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
00574E51    50              PUSH    EAX
00574E52    B9 04000000     MOV     ECX, 0x4                                       ;取四位
00574E57    BA 05000000     MOV     EDX, 0x5                                       ;从第五位开始取
00574E5C    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]        ; (ASCII "27568744D5744405B5")
00574E5F    E8 54FAE8FF     CALL    <ScreenCa.<-TObject@System.@LStrCo>
00574E64    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]        ; (ASCII "2756")
00574E67    E8 ECF7E8FF     CALL    ScreenCa.00404658
00574E6C    83F8 04         CMP     EAX, 0x4                           ;
00574E6F    7D 2F           JGE     SHORT ScreenCa.00574EA0
00574E71    8B45 F8         MOV     EAX, DWORD PTR SS:[EBP-0x8]
00574E74    E8 DFF7E8FF     CALL    ScreenCa.00404658
00574E79    8BD8            MOV     EBX, EAX
00574E7B    83FB 03         CMP     EBX, 0x3
00574E7E    7F 20           JG      SHORT ScreenCa.00574EA0
00574E80    8D4D E0         LEA     ECX, DWORD PTR SS:[EBP-0x20]
00574E83    8BC3            MOV     EAX, EBX
00574E85    C1E0 02         SHL     EAX, 0x2
00574E88    33D2            XOR     EDX, EDX                           ; 14
00574E8A    E8 9144E9FF     CALL    <ScreenCa.<-UnitSysUtils@SysUtils.>
00574E8F    8B55 E0         MOV     EDX, DWORD PTR SS:[EBP-0x20]       ; 10
00574E92    8D45 F8         LEA     EAX, DWORD PTR SS:[EBP-0x8]
00574E95    E8 C6F7E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCa>
00574E9A    43              INC     EBX
00574E9B    83FB 04         CMP     EBX, 0x4
00574E9E  ^ 75 E0           JNZ     SHORT ScreenCa.00574E80

S2:

00574EA0    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]        ; 8744
00574EA3    E8 B0F7E8FF     CALL    ScreenCa.00404658
00574EA8    83F8 04         CMP     EAX, 0x4                           ;
00574EAB    7D 2F           JGE     SHORT ScreenCa.00574EDC
00574EAD    8B45 F4         MOV     EAX, DWORD PTR SS:[EBP-0xC]
00574EB0    E8 A3F7E8FF     CALL    ScreenCa.00404658
00574EB5    8BD8            MOV     EBX, EAX
00574EB7    83FB 03         CMP     EBX, 0x3
00574EBA    7F 20           JG      SHORT ScreenCa.00574EDC
00574EBC    8D4D DC         LEA     ECX, DWORD PTR SS:[EBP-0x24]
00574EBF    8BC3            MOV     EAX, EBX
00574EC1    C1E0 02         SHL     EAX, 0x2
00574EC4    33D2            XOR     EDX, EDX
00574EC6    E8 5544E9FF     CALL    <ScreenCa.<-UnitSysUtils@SysUtils.>
00574ECB    8B55 DC         MOV     EDX, DWORD PTR SS:[EBP-0x24]
00574ECE    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
00574ED1    E8 8AF7E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCa>
00574ED6    43              INC     EBX
00574ED7    83FB 04         CMP     EBX, 0x4
00574EDA  ^ 75 E0           JNZ     SHORT ScreenCa.00574EBC

S3:

00574EDC    8D45 D8         LEA     EAX, DWORD PTR SS:[EBP-0x28]       ;
00574EDF    50              PUSH    EAX
00574EE0    8B47 04         MOV     EAX, DWORD PTR DS:[EDI+0x4]        ; PictureRecording86v2013
00574EE3    B9 04000000     MOV     ECX, 0x4                           ;取前四位
00574EE8    BA 01000000     MOV     EDX, 0x1                           ; 从第一位取
00574EED    E8 C6F9E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCo>
00574EF2    FF75 D8         PUSH    DWORD PTR SS:[EBP-0x28]            ; Pict
00574EF5    68 5C4F5700     PUSH    ScreenCa.00574F5C                  ; 联接符"-"
00574EFA    FF75 F8         PUSH    DWORD PTR SS:[EBP-0x8]             ;  (ASCII "27568744D5744405B5")与(ASCII "27561014181C2024282C30")
00574EFD    8D45 D4         LEA     EAX, DWORD PTR SS:[EBP-0x2C]
00574F00    50              PUSH    EAX
00574F01    8B47 04         MOV     EAX, DWORD PTR DS:[EDI+0x4]        ; PictureRecording86v2013
00574F04    B9 05000000     MOV     ECX, 0x5                                         ;取五位
00574F09    BA 05000000     MOV     EDX, 0x5                                         ;从第五位取
00574F0E    E8 A5F9E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCo>
00574F13    FF75 D4         PUSH    DWORD PTR SS:[EBP-0x2C]            ; ureRe
00574F16    68 5C4F5700     PUSH    ScreenCa.00574F5C                  ;联接符:"-"
00574F1B    FF75 F4         PUSH    DWORD PTR SS:[EBP-0xC]             ; 8744
00574F1E    8B45 FC         MOV     EAX, DWORD PTR SS:[EBP-0x4]
00574F21    BA 06000000     MOV     EDX, 0x6
00574F26    E8 EDF7E8FF     CALL    <ScreenCa.<-TObject@System.@LStrCa>
00574F2B    33C0            XOR     EAX, EAX
00574F2D    5A              POP     EDX
00574F2E    59              POP     ECX                                ; ScreenCa.00574F46
00574F2F    59              POP     ECX
00574F30    64:8910         MOV     DWORD PTR FS:[EAX], EDX
00574F33    68 4D4F5700     PUSH    ScreenCa.00574F4D
00574F38    8D45 D4         LEA     EAX, DWORD PTR SS:[EBP-0x2C]
00574F3B    BA 0A000000     MOV     EDX, 0xA
00574F40    E8 77F4E8FF     CALL    <ScreenCa.<-TObject@System.@LStrAr>
00574F45    C3              RETN
00574F46  ^ E9 91EDE8FF     JMP     <ScreenCa.<-TObject@System.@Handle>
00574F4B  ^ EB EB           JMP     SHORT ScreenCa.00574F38
00574F4D    5F              POP     EDI
00574F4E    5E              POP     ESI
00574F4F    5B              POP     EBX
00574F50    8BE5            MOV     ESP, EBP
00574F52    5D              POP     EBP
00574F53    C3              RETN


------------------------------------------------------------------------
【逆向总结】初步猜测(由于本人刚接触算法很多不懂,错了.大家多多教育.)
1.计算用户名转ascii码,然后倒序ascii码.
2.固定字符串:PictureRecording86v2013,取前四位Pict,联接符:"-" .倒序前四位2756,从PictureRecording86v2013第五位起到第九位ureRe,联接符:"-"从27568744D5744405B5第五位到第八位8744
3.串联:Pict-2756ureRe-8744注册表删除即可显示非注册:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\mp4\Screen]
"Date"=hex:00,00,00,00,a0,8b,e4,40
"RegName"="[PDG]Dxer"
"RegPass"="147852369"



具体算法不知道,这都是在调试时自己看到的.求大家指教下,谢谢!

评分

参与人数 20HB +25 THX +13 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 1
Jawon + 1
sjtkxy + 1 + 1
Soul1999 + 1
后学真 + 1
summersn0w + 1
消逝的过去 + 1
飞刀梦想 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
l278785481 + 1
jaunic + 1
liugu0hai + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
hackysh + 1
lies + 1
逍遥枷锁 + 4 + 1 好人有好报!你的热心我永远不忘!谢谢!
Scar-疤痕 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
China小二 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
神秘小子 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
Shark恒 + 6 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2015-3-24 16:11 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
神秘小子 发表于 2015-3-24 17:14 | 显示全部楼层

好东西 支持一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
逍遥绝尘 发表于 2015-3-24 18:10 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2015-3-24 18:20 | 显示全部楼层

逍遥绝尘 发表于 2015-3-24 18:10
老大。这也是转的?你怎么知道?

法眼恢恢疏而不漏
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Scar-疤痕 发表于 2015-3-24 22:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hackysh 发表于 2022-2-9 15:59 | 显示全部楼层


[快捷回复]-感谢楼主热心分享!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-3-10 04:26 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
summersn0w 发表于 2022-10-15 18:24 | 显示全部楼层

非常感谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-11-4 18:12 | 显示全部楼层

好好学习下看看!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表