去这个的nag
小弟不才/:L ,搞不定他,哪位仁兄帮帮忙教下upx加的壳 脱掉后查不出是用什么写的
[ 本帖最后由 thefire 于 2008-10-3 12:21 编辑 ]
ok了
真不好意思,看来没人帮助对自己也很有用呀。自己给他破了……/:L 以后还得多多努力呀
[ 本帖最后由 thefire 于 2008-10-3 12:34 编辑 ] 你看看这样的对不对! 说下过程吧,只看代码看不懂 这个又不难,直接脱壳后,载入OD,查找字符串,点NAG窗口那里,然后把段首改RETN就过啦! 哦,这样也行呀
我是这样做的
不知对不对:
004010EE- FF25 14204000 jmp dword ptr ds:[<&USER32.MessageBoxA>] ; USER32.MessageBoxA //把这行给nop掉,就行了
004010F4- FF25 20204000 jmp dword ptr ds:[<&USER32.SendMessageA>] ; USER32.SendMessageA
004010FA- FF25 08204000 jmp dword ptr ds:[<&KERNEL32.ExitProcess>] ; kernel32.ExitProcess
00401100- FF25 0C204000 jmp dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; kernel32.GetModuleHandleA
00401106- FF25 00204000 jmp dword ptr ds:[<&COMCTL32.#17>] ; COMCTL32.InitCommonControl
[ 本帖最后由 thefire 于 2008-10-3 13:46 编辑 ] 找字符串,双击到:00401007 68 00304000 push 00403000 ; 这就是nag窗口了\n\n
如下:
00401000 6A 00 push 0 在这里下断,单步走。
00401002 68 1E304000 push 0040301E ; nag
00401007 68 00304000 push 00403000 ; 这就是nag窗口了\n\ncrack me~!
0040100C 6A 00 push 0
0040100E E8 DB000000 call <jmp.&USER32.MessageBoxA> 跟进这个CALL到:
004010EE- FF25 14204000 jmp dword ptr [<&USER32.MessageBoxA>>; USER32.MessageBoxA
把这个JMP改为NOP后复制到可执行文件,重起一个名就行了。 楼上和我的一样哦,就是不知道换成别的软件破的时候会不会对其他功能造成影响? 这个是最简单的去NAG了 /*40100C*/push 0 //这里把0改成1就ok了