发布网友 发布时间:2022-05-27 13:27
共1个回答
热心网友 时间:2023-10-25 10:50
新手 那易图的软件开的刀 这是下载地址 http://www.yuturj.com/htkj/computer5.rar 看论坛的教程用的ESP定律 01202001 > 60 pushad ;OD载入到这里,F8 01202002 E8 03000000 call IT_Magag.0120200A ;命令行下 HR ESP 0012FFA4 01202007 - E9 EB045D45 jmp 467D24F7 0120200C 55 push ebp 0120200D C3 retn 0120200E E8 01000000 call IT_Magag.01202014 01202013 EB 5D jmp short IT_Magag.01202072 012023B0 /75 08 jnz short IT_Magag.012023BA ;断点到这里 跳F8继续 012023B2 |B8 01000000 mov eax,1 012023B7 |C2 0C00 retn 0C 012023BA \68 1040A100 push IT_Magag.00A14010 ;跳到这里 继续F8 012023BF C3 retn ;返回 00A14010 55 push ebp ;到这里删除断点 脱之 00A14011 8BEC mov ebp,esp 00A14013 B9 05000000 mov ecx,5 00A14018 6A 00 push 0 00A1401A 6A 00 push 0 00A1401C 49 dec ecx 00A1401D ^ 75 F9 jnz short IT_Magag.00A14018 00A1401F 51 push ecx 00A14020 53 push ebx 然后用IMREC修复 OEP 614010 结果没有有效的指针 修复不成功 望各位高人帮忙看看。。。。。。 原始IAT RVA 发现于: 00615048 位于块 RVA: 00615000 大小:0002A000 IAT 读取成功. --------------------------------------------------------------------------------------------------------------------------- 当前输入表: 0 (十进制:0) 个有效模块 8 (十进制:2) 个输入函数. (已添加: +2 (十进制:+2)) (8 (十进制:2) 个未解决的指针) (已添加: +2 (十进制:+2)) ASPack 2.12 -> Alexey Solodovnikov 手动脱壳 2010-03-02 15:39 下载安装之类就不与多说,先用PEID查壳,“ASPack 2.12 -> Alexey Solodovnikov” 算是弱壳,网上n多脱壳机,这里我就用OD手脱了。 00740001 > 60 pushad //Aspack壳入口 00740002 E8 03000000 call 0074000A //hr esp 00740007 - E9 EB045D45 jmp 45D104F7 0074000C 55 push ebp OD载入程序,F8一下,在命令下输入hr esp,回车,按F9运行程序,程序就很容易到我们的OEP 007403B0 /75 08 jnz short 007403BA //运行到这里 007403B2 |B8 01000000 mov eax, 1 007403B7 |C2 0C00 retn 0C 007403BA \68 34CC6200 push 0062CC34 007403BF C3 retn //这里去OEP 来到我们的OEP,我们可以再这里用OD选择“脱壳在当前进程”把他DOWN 出来。 0062CC34 55 push ebp //OEP 0062CC35 8BEC mov ebp, esp 0062CC37 83C4 EC add esp, -14 0062CC3A 53 push ebx 0062CC3B 56 push esi 如果对程序入口有所以了解的话,应该可以初步估计是Dephi 写的。先修复一下吧。 OD别关,我们用ImportREC载入有壳程序,在OEP输入我们开始找到的OEP,22CC34,然后点“IAT自动搜索”,然后点“获得输入信息”,可以看到都是显示“真”,最后,抓取修复文件,就是我们刚才DWON出来的文件,修复就完成了。 PEID再查,果然不出我料,Dephi编写. 双击了一下程序,运行程序,没有反映。估计是程序有自校验,对于文件校验比较有效果的二种方法一种是CreateFileA一种是GetFileSize,我这里用的是 GetFileSize ,用OD载入,在命令行输入“bp GetFileSize”然后回车,F9运行,Ctrl+f9 六下才来到我们程序的领空,刚才的是系统的领空。接着我们F8开始一步一步的追。一般判断都是 je 相等才跳到程序。所以,我到je 地方就一个一个的看,我们来到这里 0062CC81 B8 00CC1000 mov eax, 10CC00 //把加了壳的文件大小传递给eax 0062CC86 E8 C93BF2FF call 00550854 //现在文件的大小 0062CC8B 3BF0 cmp esi, eax //二者做比较 0062CC8D 74 0C je short 0062CC9B //如果相等就运行程序 我们可以修改62CC8D处的je short 0062CC9B为jmp short 0062CC9B那就不管程序大小是否相等都运行程序,其实我们可以走捷径,10CC00 转化到10进制是 1,100,800,如果你查看一下加壳文件的大小就清楚了。文件大小刚好是1,100,800,其实,我们搜索mov eax, 10CC00 这句就可以来到我们关键代码处,不过只对这个程序有效果,如果程序把文件大小换成CRC32或者MD5,就行不通了。用API比较通用.保存一下。运行一下程序,OK,可以运行,我们去校验就成功了。 我们可以到程序上方显示的是试用版,他判断的是注册标志位,现在默认为0,为试用版,那么为1,就可能是注册版哦,可以下断 Bp CreateWindow或者ShowWindow 一步一补的跟,但是我比较菜,要这样跟不知道猴年马月去了.又要花费多少时间啊,看有没有捷径,查看一下他的ASCII字符信息,搜索“试用版” 00623E73 8038 00 cmp byte ptr [eax], 0 00623E76 0F85 DF000000 jnz 00623F5B 00623E7C A1 5C286300 mov eax, [63285C] 00623E81 FF30 push dword ptr [eax] 00623E83 68 0C456200 push 0062450C 有个跳,我们也改jnz为jmp,也可以改 cmp byte ptr [eax], 0为cmp byte ptr [eax], 1 我这里把0改成为了1,保存程序,看了看。现在为已注册了. 看了一下功能,提示什么是“未注册”之类信息。 看来*尚未成功,还有地方有功能*.OD查找ASCII“未注册” 第一处,判断是否是注册用户,如果不是,只可以搜索100条记录,我们改545D8C处JE为JMP 00545D85 E8 4A860000 call 0054E3D4 00545D8A 84C0 test al, al 00545D8C 74 22 je short 00545DB0 //改成为 jmp 00545D8E A1 30266300 mov eax, [632630] 00545D93 8B00 mov eax, [eax] 00545D95 33D2 xor edx, edx 00545D97 E8 FCFC0D00 call 00625A98 00545D9C A1 50286300 mov eax, [632850] 00545DA1 8B00 mov eax, [eax] 00545DA3 8B40 30 mov eax, [eax+30] 00545DA6 BA F45F5400 mov edx, 00545FF4 第二处,可以改54E35F处 cmp byte ptr [634338], 0 零改成为一,也可以改JNZ为JMP 0054E35F 803D 38436300 0>cmp byte ptr [634338], 0 0054E366 75 18 jnz short 0054E380 0054E368 6A 00 push 0 0054E36A B9 84E35400 mov ecx, 0054E384 0054E36F BA 8CE35400 mov edx, 0054E38C 第三处,禁止未注册用户打印功能,改59CFF4处 cmp cmp byte ptr [eax], 0 零改成为一,也可以改59CFF7处JNZ为JMP 0059CFF4 8038 00 cmp byte ptr [eax], 0 0059CFF7 75 13 jnz short 0059D00C 0059CFF9 8BC3 mov eax, ebx 0059CFFB E8 0815EEFF call 0047E508 0059D000 BA 30D05900 mov edx, 0059D030 第四处,禁止未注册搜索超过100条,改6255BD的JE为JMP 006255B6 E8 198EF2FF call 0054E3D4 006255BB 84C0 test al, al 006255BD 74 19 je short 006255D8 006255BF A1 50286300 mov eax, [632850] 006255C4 8B00 mov eax, [eax] 006255C6 8B40 30 mov eax, [eax+30] 006255C9 BA 2C596200 mov edx, 0062592C 第5处,禁止未注册用户导出文件,改6265B0处JNZ为JMP 006265AD 8038 00 cmp byte ptr [eax], 0 006265B0 75 16 jnz short 006265C8 006265B2 8BC3 mov eax, ebx 006265B4 E8 4F7FE5FF call 0047E508 006265B9 BA 80676200 mov edx, 00626780 第6处,也是禁止未注册用户导出文件,改628CC9处JNZ为JMP 00628CC1 A1 00286300 mov eax, [632800] 00628CC6 8038 00 cmp byte ptr [eax], 0 00628CC9 75 13 jnz short 00628CDE 00628CCB 8BC3 mov eax, ebx 00628CCD E8 3658E5FF call 0047E508 00628CD2 BA 7C8D6200 mov edx, 00628D7C 第7处,又一个禁止未注册用户导出文件,改628E35处JNZ为JMP 00628E2D A1 00286300 mov eax, [632800] 00628E32 8038 00 cmp byte ptr [eax], 0 00628E35 75 13 jnz short 00628E4A 00628E37 8BC3 mov eax, ebx 00628E39 E8 CA56E5FF call 0047E508 00628E3E BA E88E6200 mov edx, 00628EE8 第8处,第四个地方禁止未注册用户导出文件,晕,改628F9D处JNZ为JMP 00628F95 A1 00286300 mov eax, [632800] 00628F9A 8038 00 cmp byte ptr [eax], 0 00628F9D 75 13 jnz short 00628FB2 00628F9F 8BC3 mov eax, ebx 00628FA1 E8 6255E5FF call 0047E508 00628FA6 BA 50906200 mov edx, 00629050 第9处,第五个地方禁止未注册用户导出文件,晕,改62A255处JNZ为JMP 0062A24D A1 00286300 mov eax, [632800] 0062A252 8038 00 cmp byte ptr [eax], 0 0062A255 75 13 jnz short 0062A26A 0062A257 8BC3 mov eax, ebx 0062A259 E8 AA42E5FF call 0047E508 0062A25E BA 0CA36200 mov edx, 0062A30C 9个修改地方,加开始那个一共10个.狂晕. 总结一下 00623E76 0F85 DF000000 jnz 00623F5B 00545D8C 74 22 je short 00545DB0 0054E366 75 18 jnz short 0054E380 0059CFF7 75 13 jnz short 0059D00C 006255BD 74 19 je short 006255D8 006265B0 75 16 jnz short 006265C8 00628CC9 75 13 jnz short 00628CDE 00628E35 75 13 jnz short 00628E4A 00628F9D 75 13 jnz short 00628FB2 0062A255 75 13 jnz short 0062A26A