当前位置:文档之家› 笨笨家庭记账本怎么破解

笨笨家庭记账本怎么破解

笨笨家庭记账本怎么破解笨笨家庭记账本怎么破解OD载入运行,了解到是根据注册码计算出序列号的方式进行注册。

输入假码,注册后,弹出提示“序列号已记录,请重新登录!”消息框,原来是重启验证。

重新加载,MessageBoxA上设断,输入假码后断下:代码:005F6414.6810655F00push005F6510;updatesys_syssetxvalue=005F6419.8D55F4leaedx,dwordptr[ebp-C]005F641C.8B8330070000moveax,dwordptr[ebx+730]005F6422.E81134E7FFcall00469838005F6427.FF75F4pushdwordptr[ebp-C]005F642A.6834655F00push005F6534;whereid=1005F642F.8D45F8leaeax,dwordptr[ebp-8]005F6432.BA03000000movedx,3005F6437.E8C4E7E0FFcall00404C00005F643C.8B45F8moveax,dwordptr[ebp-8];将序列号写到数据库中005F643F.50pusheax005F6440.8B8310040000moveax,dwordptr[ebx+410]005F6446.E8C5A5EDFFcall004D0A10005F644B.5Apopedx005F644C.8B08movecx,dwordptr[eax]005F644E.FF5138calldwordptr[ecx+38]005F6451.8B8310040000moveax,dwordptr[ebx+410]005F6457.E8DCA4EDFFcall004D0938005F645C.6A00push0005F645E.68C4645F00push005F64C4;系统提示005F6463.6844655F00push005F6544;序列号已记录,请重新登陆!005F6468.8BC3moveax,ebx005F646A.E8A19DE7FFcall00470210005F646F.50pusheax;|hOwner005F6470.E8C718E1FFcall<jmp.&user32.MessageBoxA>;\(initi alcpuselection)分析得知,程序将序列号写入到了数据库的xvalue字段中(数据库文件为FMY.dll,密码:fmy213344lzh,不要被后缀迷惑)。

既然写入到了数据库,那么在注册验证的时候肯定会先读取;查找“selectsys_syswhereid=1”相关的的字符串,果然找到"Select*fromsys_syswhereid=1”;重新加载后,断下:代码:005F9673.BAD89A5F00movedx,005F9AD8;select*fromsys_syswhe reid=1005F9678.8B08movecx,dwordptr[eax]005F967A.FF5138calldwordptr[ecx+38]005F967D.8B45FCmoveax,dwordptr[ebp-4]005F9680.8B8014030000moveax,dwordptr[eax+314]005F9686.E8D1F2EBFFcall004B895C005F968B.8D4DD4leaecx,dwordptr[ebp-2C]005F968E.8B45FCmoveax,dwordptr[ebp-4]005F9691.8B8014030000moveax,dwordptr[eax+314] 005F9697.BA049B5F00movedx,005F9B04;xvalue005F969C.E8B301ECFFcall004B9854;读取序列号005F96A18D55D4leaedx,dwordptr[ebp-2C]005F96A4.A1B02C6000moveax,dwordptr[602CB0] 005F96A9.E8BEB5E1FFcall00414C6C005F96AE.8B45FCmoveax,dwordptr[ebp-4]005F96B1.8B8014030000moveax,dwordptr[eax+314] 005F96B7.BA149B5F00movedx,005F9B14;x2value 005F96BC.E8A303ECFFcall004B9A64005F96C1.8D55D0leaedx,dwordptr[ebp-30]005F96C4.8B08movecx,dwordptr[eax]005F96C6.FF5160calldwordptr[ecx+60]005F96C9.8B55D0movedx,dwordptr[ebp-30]005F96CC.B824546000moveax,00605424;t剞005F96D1.E8FEB1E0FFcall004048D4005F96D6.8B45FCmoveax,dwordptr[ebp-4]005F96D9.8B8014030000moveax,dwordptr[eax+314] 005F96DF.BA249B5F00movedx,005F9B24;skinx005F96E4.E87B03ECFFcall004B9A64005F96E9.8D55CCleaedx,dwordptr[ebp-34]005F96EC.8B08movecx,dwordptr[eax]005F96EE.FF5160calldwordptr[ecx+60]005F96F1.8B55CCmovedx,dwordptr[ebp-34]005F96F4.B820546000moveax,00605420005F96F9.E8D6B1E0FFcall004048D4005F96FE.8B45FCmoveax,dwordptr[ebp-4]005F9701.8B8014030000moveax,dwordptr[eax+314] 005F9707.BA349B5F00movedx,005F9B34;isji005F970C.E85303ECFFcall004B9A64005F9711.8D55C8leaedx,dwordptr[ebp-38]005F9714.8B08movecx,dwordptr[eax]005F9716.FF5160calldwordptr[ecx+60]005F9719.8B45C8moveax,dwordptr[ebp-38]005F971C.BA449B5F00movedx,005F9B44;1005F9721.E866B5E0FFcall00404C8C005F9726.757Djnzshort005F97A5005F9728.8B45FCmoveax,dwordptr[ebp-4]005F972B.8B800C030000moveax,dwordptr[eax+30C] 005F9731.B201movdl,1005F9733.8B08movecx,dwordptr[eax]005F9735.FF91CC000000calldwordptr[ecx+CC]005F973B.8B45FCmoveax,dwordptr[ebp-4]005F973E.8B8014030000moveax,dwordptr[eax+314] 005F9744.BA509B5F00movedx,005F9B50;isuser005F9749.E81603ECFFcall004B9A64;读取用户005F974E.8D55C4leaedx,dwordptr[ebp-3C]005F9751.8B08movecx,dwordptr[eax]005F9753.FF5160calldwordptr[ecx+60]005F9756.8B55C4movedx,dwordptr[ebp-3C]005F9759.8B45FCmoveax,dwordptr[ebp-4]005F975C.8B9800030000movebx,dwordptr[eax+300] 005F9762.8B833C020000moveax,dwordptr[ebx+23C] 005F9768.8B08movecx,dwordptr[eax]005F976A.FF5154calldwordptr[ecx+54]005F976D.8BD0movedx,eax005F976F.8BC3moveax,ebx005F9771.8B08movecx,dwordptr[eax]005F9773.FF91D0000000calldwordptr[ecx+D0]005F9779.8B45FCmoveax,dwordptr[ebp-4]005F977C.8B8014030000moveax,dwordptr[eax+314] 005F9782.BA609B5F00movedx,005F9B60;ispwd005F9787.E8D802ECFFcall004B9A64;读取密码005F978C.8D55C0leaedx,dwordptr[ebp-40]005F978F.8B08movecx,dwordptr[eax]005F9791.FF5160calldwordptr[ecx+60]005F9794.8B55C0movedx,dwordptr[ebp-40]005F9797.8B45FCmoveax,dwordptr[ebp-4]005F979A.8B80FC020000moveax,dwordptr[eax+2FC]005F97A0.E8C300E7FFcall00469868005F97A5>33C0xoreax,eax005F97A7.55pushebp005F97A8.68E3975F00push005F97E3005F97AD.64:FF30pushdwordptrfs:[eax]005F97B0.64:8920movdwordptrfs:[eax],esp005F97B3.8D45BCleaeax,dwordptr[ebp-44]005F97B6.50pusheax005F97B7.B9709B5F00movecx,005F9B70;fmy005F97BC.8B1524546000movedx,dwordptr[605424]005F97C2.8B45FCmoveax,dwordptr[ebp-4]005F97C5.E8A2050000call005F9D6C;读取第一次记录时间,用来判断试用期005F97CA.8B45BCmoveax,dwordptr[ebp-44]005F97CD.E85239E1FFcall0040D124得到序列号后,我们就需要找到注册算法位置;首先,找关键跳转,找到关键跳转后,注册算法应该就在附近了(需要先将系统时间向后调一个月,使试用过期);查找字符串,看到“您的软件试用过期,请注册后再使用,联系qq:176716887”,断下后,向上找关键跳转,很快就发现了:代码:005EDB27|>\A108546000moveax,dwordptr[605408];假码005EDB2C|.8B1504546000movedx,dwordptr[605404];序列号005EDB32|.E85571E1FFcall00404C8C;比较是否相等005EDB37|.0F848F010000je005EDCCC;关键跳转看到序列号后,我们就需要找到序列号的生成算法了,继续向上看,找到:代码:005ED976|.D80DA0DF5E00fmuldwordptr[5EDFA0];浮点型的注册码*5005ED97C|.D825A4DF5E00fsubdwordptr[5EDFA4];浮点型的注册码*5-1982005ED982|.83C4F4addesp,-0C005ED985|.DB3C24fstptbyteptr[esp]005ED988|.9Bwait005ED989|.8D45F8leaeax,dwordptr[ebp-8]005ED98C|.E89FD8E1FFcall0040B230;将浮点型序列号转换成字符串这个就是注册算法了,是不是很简单,只需将注册码*5-1982就得到了序列号,连注册机都省了。

相关主题