首页
社区
课程
招聘
[旧帖] [原创]破解宏自动录制器 0.00雪花
发表于: 2009-6-25 16:26 1373

[旧帖] [原创]破解宏自动录制器 0.00雪花

2009-6-25 16:26
1373
-------------------------------------------------------------------------------------------------
【文章标题】: 破解宏自动录制器
【文章作者】: dannylai
【作者邮箱】: laiboy80@21.com
【作者主页】: http://hi.chinaunix.net/?20615718
【软件名称】: 宏自动录制器
【软件大小】: 600kb
【下载地址】: http://reg.banma.com/Detail/677dddb5-daef-4b25-a151-7be39034acf7/index.html
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: Microsoft Visual C++  6.0
【使用工具】: OD 
【操作平台】: windows xp sp2
【软件介绍】: 
1. 录制所有您在Windows下的行为。
2. 保存为文本文件,容易编辑。
3. 那些需要反复机械的动作,您可以让它来帮您实现。(呵呵,我曾经用它删了Win2k下500个用户帐号)
4. 也可以用来偷别人的密码哦,所以请合法使用.
5. QA人员一定会喜欢它,用来测试自己的软件吧。
6. 现在已经支持Debug,请使用安装目录下的autoedit.exe来自己编写脚本文件。
支持命令行,支持定时器,支持多次重放,支持Debug模式,支持多种脚本命令,包括判断窗口是否存在,文件是否存在,自动执行程序,打开Email程序,各种文件......可以调节重放速度,简单易用。
试用版只能用30-50次,之后需要注册。
【作者声明】: 只是感兴趣,没有其他目的。并想成为看雪正式会员
--------------------------------------------------------------------------------

【详细过程】
破解宏自动录制器是一个管理帮助软件,看看都是几年前的东东了!也可以作为生手练习!

第一步,用OD查找注册关键字 "感谢您的注册,请重新启动本软件"
0040C1B6   .  50            PUSH EAX
0040C1B7   .  50            PUSH EAX
0040C1B8   .  68 F44D4100   PUSH auto.00414DF4                       ;  感谢您的注册,请重新启动本软件!
0040C1BD   .  E8 BE060000   CALL <JMP.&MFC42.#1200_?AfxMessageBox@@Y>
0040C1C2   .  E8 95060000   CALL <JMP.&MFC42.#1168_?AfxGetModuleStat>


顺藤摸瓜,注册码验证就在此部分上面了,我把注意的地方加了注释

0040C12B   .  8D4C24 04     LEA ECX,DWORD PTR SS:[ESP+4]             ;  在此处添加断点
0040C12F   .  E8 E8070000   CALL <JMP.&MFC42.#540_??0CString@@QAE@XZ>;  定义保存用户名和密码的CString变量
0040C134   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
0040C138   .  C74424 1C 000>MOV DWORD PTR SS:[ESP+1C],0
0040C140   .  E8 D7070000   CALL <JMP.&MFC42.#540_??0CString@@QAE@XZ>
0040C145   .  8D4424 04     LEA EAX,DWORD PTR SS:[ESP+4]
0040C149   .  8BCE          MOV ECX,ESI
0040C14B   .  50            PUSH EAX
0040C14C   .  68 FA030000   PUSH 3FA
0040C151   .  C64424 24 01  MOV BYTE PTR SS:[ESP+24],1
0040C156   .  E8 0D070000   CALL <JMP.&MFC42.#3092_?GetDlgItem@CWnd@>;  获取注册框输入的用户名和密码
0040C15B   .  8BC8          MOV ECX,EAX
0040C15D   .  E8 50080000   CALL <JMP.&MFC42.#3874_?GetWindowTextA@C>
0040C162   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
0040C166   .  51            PUSH ECX
0040C167   .  68 ED030000   PUSH 3ED
0040C16C   .  8BCE          MOV ECX,ESI
0040C16E   .  E8 F5060000   CALL <JMP.&MFC42.#3092_?GetDlgItem@CWnd@>
0040C173   .  8BC8          MOV ECX,EAX
0040C175   .  E8 38080000   CALL <JMP.&MFC42.#3874_?GetWindowTextA@C>
0040C17A   .  51            PUSH ECX
0040C17B   .  8D5424 08     LEA EDX,DWORD PTR SS:[ESP+8]
0040C17F   .  8BCC          MOV ECX,ESP
0040C181   .  896424 14     MOV DWORD PTR SS:[ESP+14],ESP
0040C185   .  52            PUSH EDX
0040C186   .  E8 21080000   CALL <JMP.&MFC42.#535_??0CString@@QAE@AB>
0040C18B   .  8D4424 0C     LEA EAX,DWORD PTR SS:[ESP+C]             ; |
0040C18F   .  B9 784F4100   MOV ECX,auto.00414F78                    ; |
0040C194   .  50            PUSH EAX                                 ; |Arg1
0040C195   .  E8 96FEFFFF   CALL auto.0040C030                       ; \auto.0040C030
0040C19A   .  8B4C24 0C     MOV ECX,DWORD PTR SS:[ESP+C]
0040C19E   .  8B5424 08     MOV EDX,DWORD PTR SS:[ESP+8]
0040C1A2   .  51            PUSH ECX                                 ; /以用户名作为计算值与输入码比较 _mbscmp
0040C1A3   .  52            PUSH EDX                                 ; |s1
0040C1A4   .  C64424 24 02  MOV BYTE PTR SS:[ESP+24],2               ; |
0040C1A9   .  FF15 24F64000 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>]    ; \_mbscmp
0040C1AF   .  83C4 08       ADD ESP,8
0040C1B2   .  85C0          TEST EAX,EAX
0040C1B4   .  75 4F         JNZ SHORT auto.0040C205
0040C1B6   .  50            PUSH EAX
0040C1B7   .  50            PUSH EAX
0040C1B8   .  68 F44D4100   PUSH auto.00414DF4                       ;  感谢您的注册,请重新启动本软件!
0040C1BD   .  E8 BE060000   CALL <JMP.&MFC42.#1200_?AfxMessageBox@@Y>
0040C1C2   .  E8 95060000   CALL <JMP.&MFC42.#1168_?AfxGetModuleStat>


从这里可以看出,验证码也只是计算后返回比较!
在0040C1A9加入断点,

0012C760   73DDB064  OFFSET MFC42.#4234_?messageMap@CDialog@@1UAFX_MSGMAP@@B
0012C764   003A3BB8  ASCII "test"
0012C768   003A3D98  ASCII "70667483332321834"
0012C76C   003A3A78  ASCII "test"
0012C770   0012C75C
0012C774   0012C8A4  指向下一个 SEH 记录的指针
0012C778   0040E918  SE处理程序
0012C77C   00000001
0012C780   73D324C0  返回到 MFC42.73D324C0
0012C784   73DDB064  OFFSET MFC42.#4234_?messageMap@CDialog@@1UAFX_MSGMAP@@B
0012C788   00000111
0012C78C  /0012C7BC


得出一个用户名和注册吗
test
70667483332321834

用同样方法又得出一个注册码
0012C760   73DDB064  OFFSET MFC42.#4234_?messageMap@CDialog@@1UAFX_MSGMAP@@B
0012C764   003A3BB8  ASCII "test2"
0012C768   003A3D98  ASCII "9475292631760459695"
0012C76C   003A3A78  ASCII "test"
0012C770   0012C75C
0012C774   0012C8A4  指向下一个 SEH 记录的指针
0012C778   0040E918  SE处理程序
0012C77C   00000001
0012C780   73D324C0  返回到 MFC42.73D324C0
0012C784   73DDB064  OFFSET MFC42.#4234_?messageMap@CDialog@@1UAFX_MSGMAP@@B


test2
9475292631760459695

结果就是这样的了,希望大家喜欢试试!!

--------------------------------------------------------------------------------
【经验总结】
初次接触,不足之处,还请大家多多包涵!!
  
--------------------------------------------------------------------------------
【版权声明】: 转载请注明作者并保持文章的完整, 谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 122
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
支持自已!!
2009-6-25 16:43
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持你一下,希望你早日拿到邀请
2009-6-26 00:50
0
雪    币: 201
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很好,学习了,
2009-6-27 12:53
0
雪    币: 122
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
谢谢关心!!!
2009-6-30 12:31
0
游客
登录 | 注册 方可回帖
返回
//