|
[求助]SimplePack V1.1X (Method1)加壳的软件
呵呵,明显是自校验和自删除技术嘛 我最讨厌这样做了,痛心啊。~~~连个提示警告都没有~~~恶心 原程序字节大小:466934字节 脱壳后未优化:1643008字节 下断点:可以直接在命令栏里输入“BP MSVBVM60.rtcFileLen”好了没?好了就F9吧,断在这里: 7346E967 > 55 push ebp 7346E968 8BEC mov ebp, esp 7346E96A 81EC 40010000 sub esp, 140 7346E970 8D85 C0FEFFFF lea eax, dword ptr [ebp-140] 7346E976 50 push eax CTRL+F9返回到上一级,可以看到: 00569127 FF15 C8124000 call dword ptr [<&MSVBVM60.rtcFileLen>; MSVBVM60.rtcFileLen 而且EAX显示:00191200 即十进制的 1643008 (字节) 哼哼,明显是调用vb里面:filelen()函数来获取程序大小的嘛 接下来一步步F8,小心点,不要错按F9哦 00568F95 50 push eax 00568F96 FF15 C8124000 call dword ptr [<&MSVBVM60.rtcFileLen>; MSVBVM60.rtcFileLen 获取大小 00568F9C 8945 BC mov dword ptr [ebp-44], eax 00568F9F BE 03000000 mov esi, 3 00568FA4 8975 B4 mov dword ptr [ebp-4C], esi 00568FA7 56 push esi 00568FA8 8D4D B4 lea ecx, dword ptr [ebp-4C] 00568FAB 51 push ecx 00568FAC 8D55 A4 lea edx, dword ptr [ebp-5C] 00568FAF 52 push edx 00568FB0 FF15 24134000 call dword ptr [<&MSVBVM60.rtcLeftCha>; MSVBVM60.rtcLeftCharVar 这个东西这里是取获取大小结果的前面三位,这里即为:164 00568FB6 C785 6CFFFFFF D>mov dword ptr [ebp-94], 1D2————这个玩意转成十进制:466嘛,即原文件大小的前三位 接下来开始变形运算比较了:(具体怎么算毫无意义,不去理会) 00568FC0 89B5 64FFFFFF mov dword ptr [ebp-9C], esi 00568FC6 8D45 A4 lea eax, dword ptr [ebp-5C] 00568FC9 50 push eax 00568FCA 8D8D 64FFFFFF lea ecx, dword ptr [ebp-9C] 00568FD0 51 push ecx 00568FD1 8D55 94 lea edx, dword ptr [ebp-6C] 00568FD4 52 push edx 00568FD5 FF15 CC104000 call dword ptr [<&MSVBVM60.__vbaVarXo>; MSVBVM60.__vbaVarXor XOR运算 00568FDB 50 push eax 00568FDC FF15 84104000 call dword ptr [<&MSVBVM60.__vbaBoolE>; MSVBVM60.__vbaBoolErrVar BOOL量 00568FE2 8BF0 mov esi, eax 00568FE4 8D45 A4 lea eax, dword ptr [ebp-5C] 00568FE7 50 push eax 00568FE8 8D4D B4 lea ecx, dword ptr [ebp-4C] 00568FEB 51 push ecx 00568FEC 6A 02 push 2 00568FEE FF15 40104000 call dword ptr [<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVarList 00568FF4 83C4 0C add esp, 0C 00568FF7 66:3BF3 cmp si, bx ————关键比较 00568FFA 0F84 BE030000 je 005693BE ; 改必须跳走——关键自校验跳 00569000 8B45 08 mov eax, dword ptr [ebp+8] 00569003 8B10 mov edx, dword ptr [eax] 00569005 8D4D B4 lea ecx, dword ptr [ebp-4C] 00569008 51 push ecx 00569009 50 push eax 0056900A FF52 6C call dword ptr [edx+6C] 0056900D 8D4D B4 lea ecx, dword ptr [ebp-4C] 00569010 FF15 20104000 call dword ptr [<&MSVBVM60.__vbaFreeV>; MSVBVM60.__vbaFreeVar 00569016 E9 A3030000 jmp 005693BE 看来只要将这里改成必须跳走就完成了(后面的检测文件大小不是自校验部分了,真正的跳走就在这里了) 00568FFA 0F84 BE030000 je 005693BE 改成:——————————————————第一处 00568FFA /E9 BF030000 jmp 005693BE ; 改必须跳走 00568FFF |90 nop 还没完,测试发现还有时不时自校验~~~~郁闷,再等等,马上补充好 下面这些地方同样要改必须跳走的。而且程序名称不要改动,依照原样。烦恼啊 怎么找到的?呵呵,方法跟上面一样,只是多留个心眼。小心为妙。 004E9B82 /74 06 je short 004E9B8A ; 这里必须改成跳走——————第二处 00569083 /0F84 35030000 je 005693BE ; 这里改成必须跳走——————第三处 005691D9 /0F84 DF010000 je 005693BE ;这里改成必须跳走——————第四处 00569286 /0F84 32010000 je 005693BE ;这里改成必须跳走——————第五处 0056930F /0F84 A9000000 je 005693BE ;这里改成必须跳走——————第六处 0056965B /0F84 BD020000 je 0056991E ;这里改成必须跳走——————第七处 005696F5 /0F84 23020000 je 0056991E ;这里改成必须跳走——————第八处 005697F3 /0F84 25010000 je 0056991E ;这里改成必须跳走——————第九处 00569879 /0F84 9F000000 je 0056991E ;这里改成必须跳走——————第十处 005698FF /74 1D je short 0056991E ;这里改成必须跳走——————第十一处 00564DAF /74 06 je short 00564DB7 ;这里改成必须跳走——————第十二处 呵呵,我再看看,还有的暗桩的话再改。。。郁闷都被放倒了三次了。。。 本来想破出注册码写注册机的,可是我是在网吧: 碰到了这样一个情况: 没办法啊~~哈哈~~我先试着怎样突破网吧严密封锁来到系统管理员模式下来破~~呵呵,不行, 就爆破掉,改改标志,反正也没什么功能限制和时间限制。。。说实话,这个软件是我这些天 碰到的最好的一个,最漂亮~~~喜欢它 如果你们要破解的方法的话就断点断在这,一定没问题的,看得出程序是重启验证的了 004E678D 8B45 CC mov eax, dword ptr [ebp-34] ; 取假注册码 004E6790 50 push eax 004E6791 FF15 68104000 call dword ptr [<&MSVBVM60.rtcTrimBst>; 去掉前后多余空格 004E6797 8BD0 mov edx, eax 004E6799 8D4D C8 lea ecx, dword ptr [ebp-38] 004E679C FF15 30134000 call dword ptr [<&MSVBVM60.__vbaStrMo>; MSVBVM60.__vbaStrMove 004E68A3 8B45 C8 mov eax, dword ptr [ebp-38] ; 取假注册码 004E68A6 50 push eax 004E68A7 8B35 34104000 mov esi, dword ptr [<&MSVBVM60.__vba>; MSVBVM60.__vbaLenBstr 004E68AD FFD6 call esi ; 取假注册码的长度,这里9位 004E68AF 33DB xor ebx, ebx 004E68B1 83F8 03 cmp eax, 3 呵呵,这些地方都是很好玩的 004E68B1 83F8 03 cmp eax, 3 ; 3位以上 004E68B4 0F9CC3 setl bl 004E68B7 F7DB neg ebx 004E68B9 8B4D CC mov ecx, dword ptr [ebp-34] ; 获取用户名 004E68BC 51 push ecx 004E68BD FFD6 call esi ; 取用户名长度 004E68BF 33D2 xor edx, edx 004E68C1 83F8 02 cmp eax, 2 ; 2位以上 004E68C4 0F9CC2 setl dl 004E68C7 F7DA neg edx 004E68C9 23DA and ebx, edx 004E68CB 8D45 C8 lea eax, dword ptr [ebp-38] 004E68CE 50 push eax 004E68CF 8D4D CC lea ecx, dword ptr [ebp-34] ; 装载用户名 . . . 由于我的系统权限问题和机器码问题,下面的分析是没什么意义了.直接修改了未注册标记,我就将就着用一会儿,呵呵...反正也没功能和时间限制,听说会时不时地提示"未注册",我等了很久都没有看到,如果你们谁看到的就告诉我一下,最好把截图传给我,我好解除这个 恼人的骚扰信息. 刚才用着又被放倒了,分析的结果是:暗桩太多了,还有很长时间的定时自校验,可以肯定不是通过FILELEN函数的,莫非是什么CRC或者MD5?郁闷,我来点干脆的,直接把“call dword ptr [edx+6C]”给NOP了,一共NOP了29次,郁闷啊,看来还真阴险。 这样就不怕关机威胁了,可以放心得分析和调试去了。呵呵,自校验被废掉了,但是程序出了个问题了:数字形式的时钟打不开了,我先把这个版本发上来,等有时间了再剔除BUG。或者等下班后回家用自己的电脑来解出注册码,这样就完美了。。。期待,这款软件越看越喜欢了 真的好有特点,好漂亮好逼真~~~有决心端掉它~~~大家一起研究 另外作者很可能利用了CALL ESI来替换了传统的跳转 |
|
[求助]对于那些加密壳,我看别人的教程说到什么什么地方段下来
从无数挫败中吸取经验,从原始的道路开始。就像科学技术要从基础开始研究,不能光引进国外技术,人家给你的永远是二手资料,一手的只有感觉能体会得到。所以要从基本的东西开始,必须学习编程,自己写程序自己破解,研究事件和调用,以及编程语言上的结构编译后会变成什么样子?这些都是引导你走向成功的经验和积累。 |
|
[求助]高手帮忙分析下
hnr客气了,我不是什么高手和老大。不会武功,不会飞镖夺命,不会百步穿杨。。。研究这个只是平时无聊打发时间的,是非常业余的水平。你应该自学为主,跟人交流为辅,独立分析,这样才能尽快赶上那些前辈们。当然一定要拜师的话,就拜高手,拜中高级会员为师。加油,一起进步吧 |
|
[求助]OllyICE的模块窗口怎么打开
我琢磨着,也许您是指这个!这个模块名称窗口需要你先加载目标程序。 |
|
新人报道请跟此帖,勿另发主题帖
我是以前的新人,现在感觉自己还是菜鸟,哎,以前注册时候没来报道的缘故吧!现在补回来 |
|
[求助]高手帮忙分析下
呵呵,终于解决了。先看看结果,整理一下,等会跟帖发过程和小甜饼,让大家都能用上这个恼人 的“CRACKME”——VCD开机画面随心换V3.0 机器码:F62EAA14415B4116 注册码:9E053DC5B75E9A18 (后面可以跟些字符,但不影响注册,最终只保留前面的16位注册码信息) 机器码是根据C盘卷的序列号经过某某有名的算法产生的,取变形后的前16位作为机器码。该死的 内置程序版本标志“jhvcdlogo30”,提取“jhvcdlogo”作为连接字符跟机器码连接,我忘了 具体细节了,好像是经过特殊算法的变形(估计这个算法跟取C盘序列号变形的算法是相同的) 产生了最后的注册码。是明码比较的。 程序经过特殊处理,具有迷惑分析的能力,而且替换了COMMAND组件,用画出来的XP风格按钮替换 断点不好设置。而且有TIMER控件时刻干扰,郁闷。。。注册成功后,将取系统登陆的用户名作为 注册用户名 取消掉窗口上的“未注册”字样 再等等,马上就将方法告诉跟我一样的菜鸟 另外我觉得这样的软件卖得太贵了。。。我等学生一族没能力购买的了。。。 正文: 注册信息保存在:HKEY_CURRENT_USER\Software\LOGO ProgramSettings\logoinfo\reginfo\LiberationKey 附件是内存注册机和删除注册信息再玩一遍的REG文件,解压密码是:159357 使用时,请关闭杀毒软件,或者添加为信任程序。该内存注册机匹配 http://www.jh686.cn/soft/vcdlogo30.rar 这个版本 得到的注册码前16位真实有效,后面的可以忽略掉。当然,不忽略也可以成功注册的。还有,使用此内存注册机不要求原程序脱壳。原程序不要改名字,而且不必脱壳。 加载程序的时候OD提示压缩了,那么十之八九加壳了(VB程序除外),也不用PEID了,我习惯这样。 直接用OD受脱,什么ESP定律了,什么步步为营了,还有脱壳机,直接找POPAD等。 这里我用翻动窗口,直接找到: 00436718 - E9 4BB4FCFF jmp 00401B68 在它身上下断点,F9,断下来,F2,回车,F2,F9,F2,DUMP就OK了 重新加载新的程序,明显的VB语言。 刚开始利用VBEXPLORER来查找事件断点,找到了XP风格的断点,中圈套了,一个劲的被TIMER干扰。撤退~~ 利用rtcmsgbox来断点,CTRL+F9,返回,呵呵,看到个JE,改一下,恩,提示注册成功了。真是幸福啊~~然后提示重新启动程序 重新启动后蹦出个窗口,提示未注册,幸福来的快去的也快。接下来猛攻重启验证,弄了好久不成功。撤退~~ 呵呵,上面是引导你的思路的,下面才开始: 程序启动时候,LOAD事件中,通过GetVolumelnformationA来获取C盘的序列号。随后利用MID()函数再分别从开头字符依次取它们的十六进制ASC,开始很多运算,烦死了,很长很长。头疼。 如果你想看看机器码到底如何产生,那么加载程序后,先在命令输入栏上“bp GetVolumeInformationA” F9 断在这里: 7C821BA5 > 6A 44 push 44 7C821BA7 68 201D827C push 7C821D20 7C821BAC E8 1509FEFF call 7C8024C6 7C821BB1 33F6 xor esi, esi 7C821BB3 3975 08 cmp dword ptr [ebp+8], esi CTRL+9,回到上级。一步步来跟吧。。。反正我跟了好久就像进了桃花阵。。。 我不懂算法,很少研究复杂的算法。这个算法好像挺经典的,我不认识。老长老长的。 接入正题,怎么破?怎么下断点? vbaStrCmp vbaStrComp 这两个都给我下断点,哦,先别急着下断点。先加载程序,F9让它跑起来。好了,打开注册界面输入123456789假注册码吧。然后用函数断点, 找到上述两个函数,或者直接在命令输入栏里输入断点命令:BP MSVBVM60.__vbaStrCmp BP MSVBVM60.__vbaStrComp (两个调用断点分开输入) 下好短点之后就单击注册吧。断在这里: 733B4813 > FF7424 08 push dword ptr [esp+8] 733B4817 FF7424 08 push dword ptr [esp+8] 733B481B 6A 00 push 0 733B481D E8 03000000 call __vbaStrComp 733B4822 C2 0800 retn 8 733B4825 > 837C24 04 02 cmp dword ptr [esp+4], 2 733B482A 0F84 DB2C0200 je 733D750B 没事情做就看看堆栈: 堆栈 ss:[0012EBD8]=00157CEC, (UNICODE "jhvcdlogo30") jhvcdlogo30 这个字符很刺眼,似乎是作者的软件名称加版本号,这里作为连接字符参与运算。 没什么意义了,就算知道了,呵呵,我也不知道他的算法是怎么搞的。太复杂了。我们不管它,F8潇洒的走下去~~~(心里有个底,算法简单的 就分析算法写注册机,算法复杂的就看是否明码比较,明码比较就写内存注册机,暗码比较就爆破,重启还验证的再爆破~~~一路高歌,菜鸟从来就是这么痛快和低级的——不要笑了) F8下去后发现进入了算法区,挑花阵!赶快出来,这个算法不好弄。按F9重新断下,看看堆栈: 堆栈 ss:[0012EAC0]=0016CACC, (UNICODE "123456789") 恩,假码露脸了。呵呵~~打起精神来吧,小心点,一步步跟,跟了一会儿无非前戏,没意思,撤退~~~直接F9,再次断下: 733B4813 > FF7424 08 push dword ptr [esp+8] 733B4817 FF7424 08 push dword ptr [esp+8] 733B481B 6A 00 push 0 733B481D E8 03000000 call __vbaStrComp 733B4822 C2 0800 retn 8 733B4825 > 837C24 04 02 cmp dword ptr [esp+4], 2 733B482A 0F84 DB2C0200 je 733D750B 呵呵,回到这里了。F9一下。然后,疯狂F8,到: 166A741E FF15 78106916 call dword ptr [16691078] ; MSVBVM60.__vbaHresultCheckObj 166A7424 8B4D DC mov ecx, dword ptr [ebp-24] 166A7427 8B56 4C mov edx, dword ptr [esi+4C] 166A742A 8B1D 64106916 mov ebx, dword ptr [16691064] ; MSVBVM60.__vbaStrCat 166A7430 51 push ecx 166A7431 52 push edx 寄存器中: ECX 001576F4 UNICODE "F62EAA14415B4116" ——这个是机器码 EDX 00157D14 UNICODE "jhvcdlogo"——这个是连接后参与运算的字符 166A7432 FFD3 call ebx ——字符连接,可看寄存器 166A7434 8B3D 58126916 mov edi, dword ptr [16691258] ; MSVBVM60.__vbaStrMove 166A743A 8BD0 mov edx, eax 166A743C 8D4D D8 lea ecx, dword ptr [ebp-28] 寄存器: EAX 0016CF94 UNICODE "F62EAA14415B4116jhvcdlogo" 166A743A 8BD0 mov edx, eax 166A743C 8D4D D8 lea ecx, dword ptr [ebp-28] 166A743F FFD7 call edi 166A7441 50 push eax 166A7442 8B46 44 mov eax, dword ptr [esi+44] 166A7445 50 push eax 166A7446 FFD3 call ebx 166A7448 8BD0 mov edx, eax 166A744A 8D4D D4 lea ecx, dword ptr [ebp-2C] 166A744D FFD7 call edi 166A744F 8B0E mov ecx, dword ptr [esi] 经过上面这一段后,连接了"jhvcdlogo30" 看寄存器: EAX 0016FF44 UNICODE "F62EAA14415B4116jhvcdlogojhvcdlogo30" 166A745A FF91 84080000 call dword ptr [ecx+884] ————关键算法,执行这个之后,标记为HELLO1 就根据"F62EAA14415B4116jhvcdlogojhvcdlogo30"挺出了注册码的前身,看寄存器: EDX 0016C584 UNICODE "9E053DC5B75E9A186D2F61170C0B7BDF" 这串字符其实就可以拿来注册的了,其实它的前面16位才是有效注册码。后面的跟不跟都没关系。我们在这做内存注册机。 送给你们当点心、甜饼。大餐的话我功力不够,做不好。 166A74C5 FF15 2C106916 call dword ptr [1669102C] ; MSVBVM60.__vbaStrVarMove 取你的假注册码 166A7525 8995 78FFFFFF mov dword ptr [ebp-88], edx 166A752B C785 70FFFFFF 0>mov dword ptr [ebp-90], 4008 166A7535 FFD7 call edi 166A7537 8D55 B0 lea edx, dword ptr [ebp-50] 166A753A 8D45 A0 lea eax, dword ptr [ebp-60] 166A753D 52 push edx 166A753E 50 push eax 166A753F FF15 20116916 call dword ptr [16691120] ; MSVBVM60.__vbaVarTstEq 166A7545 8D4D A0 lea ecx, dword ptr [ebp-60] 166A7548 66:8BF8 mov di, ax 166A754B 8D55 B0 lea edx, dword ptr [ebp-50] 166A754E 51 push ecx 166A754F 8D45 C0 lea eax, dword ptr [ebp-40] 166A7552 52 push edx 166A7553 50 push eax 166A7554 6A 03 push 3 166A7556 FFD3 call ebx 166A7558 66:F7DF neg di 166A755B 1BFF sbb edi, edi 166A755D B9 08000000 mov ecx, 8 166A7562 897D E8 mov dword ptr [ebp-18], edi 166A7565 8BFC mov edi, esp 166A7567 8B16 mov edx, dword ptr [esi] 166A7569 894D 80 mov dword ptr [ebp-80], ecx 166A756C 890F mov dword ptr [edi], ecx 166A756E 8B4D 84 mov ecx, dword ptr [ebp-7C] 166A7571 B8 ACA56916 mov eax, 1669A5AC ; UNICODE "RegisteredUser" 166A7576 56 push esi 166A7577 894F 04 mov dword ptr [edi+4], ecx 166A757A 8945 88 mov dword ptr [ebp-78], eax 166A757D 8947 08 mov dword ptr [edi+8], eax 166A7580 8B45 8C mov eax, dword ptr [ebp-74] 166A7583 8947 0C mov dword ptr [edi+C], eax 166A7586 FF92 90030000 call dword ptr [edx+390] 166A758C 85C0 test eax, eax 166A758E DBE2 fclex 166A7590 7D 12 jge short 166A75A4 166A7592 68 90030000 push 390 166A7597 68 DC926916 push 166992DC 166A759C 56 push esi 166A759D 50 push eax 166A759E FF15 78106916 call dword ptr [16691078] ; MSVBVM60.__vbaHresultCheckObj 166A75A4 68 F0756A16 push 166A75F0 上面这一段是给提取用户信息 166A753F FF15 20116916 call dword ptr [16691120] ; MSVBVM60.__vbaVarTstEq 上面这一句莫非是关键比较?为了验证我们的想法,请先在这里下断点,待会有用!!!!!我们标记为:NO1断点 166A416C 52 push edx 166A416D 56 push esi 166A416E FF91 48080000 call dword ptr [ecx+848] 166A4174 3BC7 cmp eax, edi ; 莫非是关键标志检测?先再这里下断点,标记为NO2断点 166A4176 7D 12 jge short 166A418A 166A4178 68 48080000 push 848 166A417D 68 0C936916 push 1669930C 166A4182 56 push esi 166A4183 50 push eax 166A4184 FF15 78106916 call dword ptr [16691078] ; MSVBVM60.__vbaHresultCheckObj 166A418A 8B45 C8 mov eax, dword ptr [ebp-38] 166A418D 83EC 10 sub esp, 10 166A4190 8BD4 mov edx, esp 166A4192 B9 0B400000 mov ecx, 400B 166A4197 894D CC mov dword ptr [ebp-34], ecx 166A419A 8945 C4 mov dword ptr [ebp-3C], eax 166A419D 890A mov dword ptr [edx], ecx 166A419F 8B4D D0 mov ecx, dword ptr [ebp-30] 166A41A2 8D45 C4 lea eax, dword ptr [ebp-3C] 166A41A5 6A 01 push 1 166A41A7 894A 04 mov dword ptr [edx+4], ecx 166A41AA 8945 D4 mov dword ptr [ebp-2C], eax 166A41AD 6A 01 push 1 166A41AF 56 push esi 166A41B0 8942 08 mov dword ptr [edx+8], eax 166A41B3 8B45 D8 mov eax, dword ptr [ebp-28] 166A41B6 8942 0C mov dword ptr [edx+C], eax 166A41B9 FF15 40106916 call dword ptr [16691040] ; MSVBVM60.__vbaRaiseEvent 提示错误信息了 166A41BF 83C4 1C add esp, 1C 一路下来,到这里就已经提示错误了,大概的流程已经有了个印象了。好了,我们单击确定,F9运行下去,重新填上注册信息,再次注册。 断下来后,一路狂按F9,直到NO2断点,修改 166A4176 7D 12 jge short 166A418A 改它为不跳走,试试能不能突破?(改标志S即可) 测试结果为不是标志,所以取消掉NO2断点,下面重复上一验证的方法,来看看NO1能起什么作用? F9运行下去,重新填上注册信息,再次注册。断下来后,一路狂按F9,直到NO1断点,修改 166A753F FF15 20116916 call dword ptr [16691120] ; NO1断点 166A7545 8D4D A0 lea ecx, dword ptr [ebp-60] 怎么改?执行到这一句后,看看寄存器: 166A7548 66:8BF8 mov di, ax 166A754B 8D55 B0 lea edx, dword ptr [ebp-50] 166A754E 51 push ecx 寄存器: EAX 00000000 呵呵,用鼠标在EAX上双击,修改数据为“FFFFFFFF”如: EAX FFFFFFFF 然后F9运行到底,提示注册成功了。看来不出所料, 166A753F FF15 20116916 call dword ptr [16691120] ; MSVBVM60.__vbaVarTstEq 这一句(NO1断点处)还真的是关键比较的地方了。我是不知道怎么改好,如果要爆破的话。这里好像是不能修改代码的。 不过可以打内存补丁进行爆破。如果你用注册码,这里也就不用管了。好了,先讲到这里吧。 附件是内存注册机和删除注册信息再玩一遍的REG文件,解压密码是:159357 该内存注册机匹配 http://www.jh686.cn/soft/vcdlogo30.rar 得到的注册码前16位真实有效,后面的可以忽略掉。不忽略也可以成功注册。 想睡觉了~~哎~~挺天亮吧 |
|
|
|
[求助]请教一下,怎样改软件里的提示信息!
先脱壳,用汉化工具来改。实在找不到目标字符,就用U32来编辑查找替换。(前提都是脱壳) |
|
[求助]有没有OD无法下断的应用程序?
哦,还有更狠的,如“影子系统”,点都不给你下断。。。 |
|
[求助]高手帮忙分析下
是什么程序?给个地址,我来学习研究一下 |
|
[求助]od加载后,窗口一闪,程序自动退出,如何下断点?
先“删除模块中分析”,看看原形。。。也许壳已经脱了。。。只是程序自校验或者反调试。。。你可以带壳调试,如果F9跑 得起来就是自校验,否则是反调试。 |
|
[求助]初次破解火狐Flash播放器播放器的困惑
我是菜鸟,新手哦。我来看看,学习一下。应该是检测调试器,禁止加载了。OD打开HIDE插件,全部挑上就跑起来了。 问题是好像只要鼠标在窗体上移动,就会触发程序检测什么。再看看 |
|
UnPacKcN 精心打造:《一蓑烟雨论坛精华集2007①》
强烈支持,超级喜欢 |
|
[讨论]最近着手一个软件,请大家帮着看看那里是关键点?
冬天的雪,感觉风格挺象,呵呵。交个朋友吧!我是菜鸟 |
|
[讨论]最近着手一个软件,请大家帮着看看那里是关键点?
呵呵,终于传上来了 |
|
[讨论]最近着手一个软件,请大家帮着看看那里是关键点?
安装好原程序后,拿这个覆盖上去就OK了。 怎么改?呵呵,低级的技术了。脱壳后直接找关键字眼,顺藤摸瓜找到关键跳,直接NOP或者改 相反的,功能就打开了。这个软件也许我的一个朋友,她也学护理的,呵呵,说不定能用上 啊。 气死我了,网速突然太慢了。传不上来,等等,好东西等会再发上来。 第一处:试题查找功能开启 00544BE0 . E8 8BFDFFFF call 00544970 00544BE5 . 84C0 test al, al 00544BE7 . 74 1B je short 00544C04 00544BE9 . C783 4C020000>mov dword ptr [ebx+24C], 1 00544BF3 . EB 0F jmp short 00544C04————————————这里是我已经改好的了 00544BF5 . B8 344C5400 mov eax, 00544C34 ; 软件注册后才能使用试题查找功能 00544BFA . E8 A5D4F9FF call 004E20A4 00544BFF . E8 FCE2FFFF call 00542F00 00544C04 > 33C0 xor eax, eax 第二处:模拟考试功能开启 0058A5C0 . E8 E7F3FFFF call 005899AC 0058A5C5 . 84C0 test al, al 0058A5C7 . 74 1B je short 0058A5E4 0058A5C9 . C783 4C020000>mov dword ptr [ebx+24C], 1 0058A5D3 . EB 0F jmp short 0058A5E4————————————这里是我已经改好的了 0058A5D5 . B8 54A65800 mov eax, 0058A654 ; 软件注册后才能使用模拟考试功能 0058A5DA . E8 C57AF5FF call 004E20A4 0058A5DF . E8 1C89FBFF call 00542F00 0058A5E4 > 33C0 xor eax, eax 第三处:考试宝典功能开启 0058CC01 . 8945 EC mov dword ptr [ebp-14], eax 0058CC04 . 8B45 EC mov eax, dword ptr [ebp-14] 0058CC07 . E8 C81FF5FF call 004DEBD4 0058CC0C . 84C0 test al, al 0058CC0E . EB 0A jmp short 0058CC1A————————————这里是我已经改好的了 0058CC10 . B8 F4CC5800 mov eax, 0058CCF4 ; 未注册版考试宝典不能察看此资料内容,请您注册。 0058CC15 . E8 F64AF5FF call 004E1710 0058CC1A > 33C0 xor eax, eax 第四处:注册成功标志打开 0058E5A4 . E8 2B06F5FF call 004DEBD4 0058E5A9 . 84C0 test al, al 0058E5AB . 90 nop————————————这里是我已经改好的了 0058E5AC . 90 nop————————————这里是我已经改好的了 0058E5AD . 8D45 F4 lea eax, dword ptr [ebp-C] 0058E5B0 . B9 44E65800 mov ecx, 0058E644 ; [已注册] 0058E5B5 . 8B55 F8 mov edx, dword ptr [ebp-8] 0058E5B8 . E8 676EE7FF call 00405424 0058E5BD . 8B55 F4 mov edx, dword ptr [ebp-C] 0058E5C0 . 8BC3 mov eax, ebx 0058E5C2 . E8 2DC1F2FF call 004BA6F4 0058E5C7 . EB 1F jmp short 0058E5E8 0058E5C9 . 8D45 F0 lea eax, dword ptr [ebp-10] 0058E5CC . B9 58E65800 mov ecx, 0058E658 ; [未注册] 0058E5D1 . 8B55 F8 mov edx, dword ptr [ebp-8] 0058E5D4 . E8 4B6EE7FF call 00405424 完了 如此一来,管它注册不注册呢?呵呵,功能和外观跟注册码注册的没什么差别。只是手段太低劣了...... |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值