三江门诊收费系统 6.0简单算法分析
破文作者:WildCatIII软件下载:http://www.skycn.com/soft/16783.html
软件大小:1.79MB
发布时间:2009.08.05
软件语言:简体中文
软件类别:国产软件 / 共享版 / 健康医药
应用平台:Win9x/NT/2000/XP
软件介绍: 三江门诊收费系统功能:门诊划价收费、药品进销存管理、医生及科室工作量统计、库存及有效期管理、优惠打折收费、票据可打印明细单,也可只打印总的中西药费等分类,可以根据用户的要求定制各种发票样式,并且能让用户自己调整报表位置及纸张大小。开发者有十多年医院工作经验,成功案例遍布全国各大中城市,软件最大的特点为简单实用,欢迎您下载试用并提出宝贵意见!
分析过程:
一、看了神猪的破文(https://www.chinapyg.com/viewthread.php?tid=11409&highlight=%C8%FD%BD%AD%C3%C5%D5%EF),觉得不错,按照他的方法,新的6.0版也断了下来。
二、分析以下:
005C7961|.55 PUSH EBP
005C7962|.68 DA7B5C00 PUSH SJMZSF.005C7BDA
005C7967|.64:FF30 PUSH DWORD PTR FS:
005C796A|.64:8920 MOV DWORD PTR FS:,ESP
005C796D|.8D55 F8 LEA EDX,DWORD PTR SS:
005C7970|.8B83 04030000 MOV EAX,DWORD PTR DS:
005C7976|.E8 8D74EBFF CALL SJMZSF.0047EE08
005C797B|.8B45 F8 MOV EAX,DWORD PTR SS: ;假码
005C797E|.8D55 FC LEA EDX,DWORD PTR SS:
005C7981|.E8 EA13E4FF CALL SJMZSF.00408D70 ;取位数
005C7986|.837D FC 00 CMP DWORD PTR SS:,0
005C798A|.75 1D JNZ SHORT SJMZSF.005C79A9 ;假码不能为空
005C798C|.6A 00 PUSH 0
005C798E|.B9 E87B5C00 MOV ECX,SJMZSF.005C7BE8
005C7993|.BA F07B5C00 MOV EDX,SJMZSF.005C7BF0
005C7998|.A1 D0995E00 MOV EAX,DWORD PTR DS:
005C799D|.8B00 MOV EAX,DWORD PTR DS:
005C799F|.E8 408BEDFF CALL SJMZSF.004A04E4
005C79A4|.E9 CE010000 JMP SJMZSF.005C7B77
005C79A9|>8D55 F0 LEA EDX,DWORD PTR SS: ;输入假码来到这
005C79AC|.8B83 04030000 MOV EAX,DWORD PTR DS:
005C79B2|.E8 5174EBFF CALL SJMZSF.0047EE08
005C79B7|.8B45 F0 MOV EAX,DWORD PTR SS: ;假码
005C79BA|.8D55 F4 LEA EDX,DWORD PTR SS:
005C79BD|.E8 AE13E4FF CALL SJMZSF.00408D70
005C79C2|.8B45 F4 MOV EAX,DWORD PTR SS: ;假码
005C79C5|.50 PUSH EAX
005C79C6|.8D45 D8 LEA EAX,DWORD PTR SS:
005C79C9|.50 PUSH EAX
005C79CA|.8D55 D4 LEA EDX,DWORD PTR SS:
005C79CD|.8B83 FC020000 MOV EAX,DWORD PTR DS:
005C79D3|.E8 3074EBFF CALL SJMZSF.0047EE08
005C79D8|.8B45 D4 MOV EAX,DWORD PTR SS: ;机器码ASCII "00020FC20000080000000001078BFBFF"
005C79DB|.B9 1B000000 MOV ECX,1B ;ECX=1B
005C79E0|.BA 05000000 MOV EDX,5 ;EDX=5
005C79E5|.E8 A6CFE3FF CALL SJMZSF.00404990
005C79EA|.8B45 D8 MOV EAX,DWORD PTR SS: ;根据出来的结果可以得知,从机器码第5位起取1B(27)位字符
005C79ED|.8D55 DC LEA EDX,DWORD PTR SS: ;ASCII "0FC20000080000000001078BFBF"设为Str2
005C79F0|.E8 0BF2FAFF CALL SJMZSF.00576C00
005C79F5|.8D45 DC LEA EAX,DWORD PTR SS:
005C79F8|.8D55 EC LEA EDX,DWORD PTR SS:
005C79FB|.E8 74F2FAFF CALL SJMZSF.00576C74
005C7A00|.8B55 EC MOV EDX,DWORD PTR SS: ;Str2的MD5 32位码ASCII "1b54f8fa39912d6eb501d578b0fbbcec"
005C7A03|.58 POP EAX ;假码出栈
005C7A04|.E8 73CEE3FF CALL SJMZSF.0040487C ;CALL进比较
005C7A09|.0F85 50010000 JNZ SJMZSF.005C7B5F ;结果错误跳完。
算法小结:将机器码取出一段,6.0版的是自第5位起,取27位,转成32位的MD5就是注册码。
转帖请注明作者及出处,谢谢。 学习~~最初接触算法就是这个东东了 学习了 ,谢谢 分析的很好,支持一下。 支持猫大了,来学习了 支持了,很不错的 猫大偶像来了,学习下。 多谢分享,回头下载了学习一下 这么长时间,对算法,一定不懂。 学习一下,正需要
页:
[1]
2