首页
社区
课程
招聘
英语口语对话王2005 0929 去nag教程
发表于: 2005-9-30 10:25 5208

英语口语对话王2005 0929 去nag教程

2005-9-30 10:25
5208
首先介绍点去nag相关知识:
1.去对话框之类的nag,去话框一般都是用DialogBoxParam,DialogBox,CreateDialog等之类的API创建的,
具体情况我们可以看软件的输入表(ollydbg里面按Ctrl+N),看它调用了那些创建对话框的函数,再用
bpx下断点,如果这类API是封装了的则要用bp下断点。如果找到了nag调用的地方了,刚相办法退出nag
再按F8一直返回,找能跳过调用nag call ,要么跳过,要么就是nop掉就可以了。
2.用CreateWindow创建的nag,这种nag 是会有一个消息循环的,找消息循环很简单,这里介绍我用的一种
按f9运行直到nag的出现,再  点击工具栏上面的 || 来中断程序,接着就是按F8一直返回,就可以找到消息
循环了。找到之后就想办法退出这个循环,退出之后再按F8返回,nop掉调用nag的call就可以了。。
3.有些软件在你试用期过后,你退出消息循环这后是无法返回的,就直终止了进程。这种情况只有一步一步
跟踪了。。

声明:这个软件去nag早就有人完成了,你可以在本论坛直接搜索,由于是没写教程,所以我在这里贴上一篇了.....

这里我们先用ollydbg载入SplkenKing.exe

005E3410 SpokenK>  60                      pushad
005E3411           BE 00205500             mov esi,SpokenKi.00552000
005E3416           8DBE 00F0EAFF           lea edi,dword ptr ds:[esi+FFEAF000]

再一直向下拖,直到看见 下面没有代码了,就按f4直接到最下面的一个jmp 将它记下来

005E3595         ^\E9 BF3AF8FF             jmp SpokenKi.0056707C
在command里面断点bp DeleteFileA F9运行 就会被断下来,再按f8返回就到了 5692f0

005692E6           A1 982E5700             mov eax,dword ptr ds:[572E98]
005692EB           E8 00D8FFFF             call SpokenKi.00566AF0
005692F0           FF05 8C2E5700           inc dword ptr ds:[572E8C]--->这里就是加次数的
005692F6           8B15 DCDF5600           mov edx,dword ptr ds:[56DFDC]           ; SpokenKi.0057281C

选择 5692eb再回车跟入
00566AF0           55                      push ebp
00566AF1           8BEC                    mov ebp,esp
00566AF3           51                      push ecx
..............
00566C16           E8 6D25EAFF             call SpokenKi.00409188
00566C1B           A3 8C2E5700             mov dword ptr ds:[572E8C],eax
上面一句的nop掉,这里就是取出的次数,下面次数就清0了。
00566C20           33C0                    xor eax,eax

bc DeleteFileA 去掉断点

再向上拖找到
00569071           A1 882E5700             mov eax,dword ptr ds:[572E88]
00569076           E8 25B6EFFF             call SpokenKi.004646A0
0056907B           A3 902E5700             mov dword ptr ds:[572E90],
...............
005690E3           FF05 902E5700           inc dword ptr ds:[572E90]----->这里是再加次数

出车跟入
004646A0           55                      push ebp
004646A1           8BEC                    mov ebp,esp
004646A3           83C4 EC                 add esp,-14
...............
00464851         ^\EB F0                   jmp short SpokenKi.00464843
00464853           8B45 F4                 mov eax,dword ptr ss:[ebp-C]改为xor eax,eax 这里是传入次数。
00464856           5E                      pop esi

好了在这里直接按f9运行直到nag出现再点工具栏上面的 || 中断按F8直到消息循环。
在消息循环下面下一个断点,再点击试用来退出消息循环,再按f8返回。就会要下面
00554863           8B10                    mov edx,dword ptr ds:[eax]
00554865           FF92 D8000000           call dword ptr ds:[edx+D8]这是调用nag的call nop调
0055486B           8B45 FC                 mov eax,d
到这里所有的修改就完成了。。
现在再回到 upx的外壳 005E3595 按下面方式修改,(这里就是所谓的SMC技术)
005E3594           61                      popad
005E3595           B8 33C0905E             mov eax,5E90C033
005E359A           A3 53484600             mov dword ptr ds:[464853],eax
005E359F           B8 90909090             mov eax,90909090
005E35A4           A3 65485500             mov dword ptr ds:[554865],eax
005E35A9           A3 67485500             mov dword ptr ds:[554867],eax
005E35AE           A3 1B6C5600             mov dword ptr ds:[566C1B],eax
005E35B3           A3 1C6C5600             mov dword ptr ds:[566C1C],eax
005E35B8         ^ E9 BF3AF8FF             jmp SpokenKi.0056707C
打开原upx加壳的原程序, 用十六进制工具按上面修改就可以了。。
2005.09.30 by ftts[BCG]

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 343
活跃值: (611)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
2
这个软件好吗?我的系统一直都不能运行。xp+sp2
2005-9-30 10:43
0
雪    币: 333
活跃值: (369)
能力值: ( LV12,RANK:490 )
在线值:
发帖
回帖
粉丝
3
程序修改之后名称记得要改回去,不然运行就会出错了。。

下面是该软件关闭调试器的列表,
0012F9E0    00BC27B8  ASCII "KeyGen"
0012F9E4    00BC2744
0012F9E8    00BC2698  ASCII "winzheng"
0012F9EC    00BC261C
0012F9F0    00BC2598  ASCII "AntiProtect"
0012F9F4    00BC24A0  ASCII "KeyMake"
0012F9F8    00BC2394  ASCII "hack"
0012F9FC    00BC2240  ASCII "hacker"
0012FA00    00BC21B0  ASCII "Unprotector"
0012FA04    00BC2104  ASCII "ExeManager"
0012FA08    00BC2028  ASCII "Un-Pack"
0012FA0C    00BC1F80  ASCII "CRACK"
0012FA10    00BC1F10  ASCII "COMUNP"
0012FA14    00BC1E24  ASCII "unpack"
0012FA18    00BC1DE8  ASCII "UnROSE"
0012FA1C    00BC1D2C  ASCII "ABKDE"
0012FA20    00BC6FB8  ASCII "UNEXE"
0012FA24    00BC6F28  ASCII "ExeShape"
0012FA28    00BC6E74  ASCII "Ripper"
0012FA2C    00BC6DE4  ASCII "GetExe"
0012FA30    00BC6D60  ASCII "TRON"
0012FA34    00BC6CA8  ASCII "X-Tract"
0012FA38    00BC6BC0  ASCII "ENTPACK"
0012FA3C    00BC6B08  ASCII "UNSHELL"
0012FA40    00BC6A4C  ASCII "Dumper"
0012FA44    00BC69DC  ASCII "ICEUNP"
0012FA48    00BC696C  ASCII "Blast Wave"
0012FA4C    00BC68FC  ASCII "EDump"
0012FA50    00BC688C  ASCII "PEWizard"
0012FA54    00BC6810  ASCII "PEACE"
0012FA58    00BC67A0  ASCII "infoExe"
0012FA5C    00BC6730  ASCII "mscic"
0012FA60    00BC66C8  ASCII "Pe-sniffer"
0012FA64    00BC665C  ASCII "EXEInfo"
0012FA68    00BC65F0  ASCII "Filespy"
0012FA6C    00BC655C  ASCII "Analyzer"
0012FA70    00BC64EC  ASCII "ChkExe"
0012FA74    00BC646C  ASCII "EXESCAN"
0012FA78    00BC63FC  ASCII "Amon's File"
0012FA7C    00BC638C  ASCII "PE Identifier"
0012FA80    00BC62F8  ASCII "asprotect"
0012FA84    00BC6274  ASCII "Intruder"
0012FA88    00BC6204  ASCII "pe-scan"
0012FA8C    00BC6188  ASCII "File Scanner"
0012FA90    00BC60F4  ASCII "File Analyzer"
0012FA94    00BC6078  ASCII "GT2000"
0012FA98    00BC3E20  ASCII "Servile Software Decoder"
0012FA9C    00BC5FB0  ASCII "YDEBUG"
0012FAA0    00BC5EE8  ASCII "DeGlucker"
0012FAA4    00BC5E20  ASCII "Z-Tracer"
0012FAA8    00BC5D58  ASCII "Debugger"
0012FAAC    00BC5C90  ASCII "OllyDbg"
0012FAB0    00BC5C04  ASCII "SoftSnoop"
0012FAB4    00BC5B90  ASCII "SmartCheck"
0012FAB8    00BC5B18  ASCII "SoftICE"
0012FABC    00BC5AA4  ASCII "aspack"
0012FAC0    00BC5A30  ASCII "TRW2000"
0012FAC4    00BC3DFC  ASCII "TRW2000 for Windows 9x"
0012FAC8    00BC7370  ASCII "NuMega"
0012FACC    00BC734C  ASCII "NuMega SoftICE Loader"
0012FAD0    00BC597C  ASCII "URSoft"
0012FAD4    00BC5904  ASCII "URSoft W32Dasm"
0012FAD8    00BC588C  ASCII "Memory Monitor"
0012FADC    00BC5814  ASCII "MemoryMonitor"
0012FAE0    00BC57A4  ASCII "Memory Dumper"
0012FAE4    00BC56FC  ASCII "SMU Winspector"
0012FAE8    00BC5654  ASCII "FrogsICE"
0012FAEC    00BC55AC  ASCII "Memory Editor"
0012FAF0    00BC5504  ASCII "ProcDump32"
0012FAF4    00BC5478  ASCII "Memory Doctor"
0012FAF8    00BC5408  ASCII "MEMSPY"
0012FAFC    00BC5380  ASCII "regsnap"
0012FB00    00BC7324  ASCII "Advanced Registry Tracer"
0012FB04    00BC52B8  ASCII "ResSpy"
0012FB08    00BC51F8  ASCII "DebugView"
0012FB0C    00BC5134  ASCII "Window Detective"
0012FB10    00BC50C4  ASCII "RegMonEx"
0012FB14    00BC5058  ASCII "File Monitor"
0012FB18    00BC4FE8  ASCII "Filemon"
0012FB1C    00BC4F6C  ASCII "Regmon"
0012FB20    00BC4ED4  ASCII "wxr95"
0012FB24    00BC401C  ASCII "ExeSpy"

EnumWindow
GetClassName GetWindowTextA
只要找到这些关键就会关掉你的软件。。这点要注意了。
2005-9-30 11:50
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
首先介绍点去nag相关知识:
1.去对话框之类的nag,去话框一般都是用DialogBoxParam,DialogBox,CreateDialog等之类的API创建的,
具体情况我们可以看软件的输入表(ollydbg里面按Ctrl+N),看它调用了那些创建对话框的函数,再用
bpx下断点,如果这类API是封装了的则要用bp下断点。如果找到了nag调用的地方了,刚相办法退出nag
再按F8一直返回,找能跳过调用nag call ,要么跳过,要么就是nop掉就可以了。
2.用CreateWindow创建的nag,这种nag 是会有一个消息循环的,找消息循环很简单,这里介绍我用的一种
按f9运行直到nag的出现,再  点击工具栏上面的 || 来中断程序,接着就是按F8一直返回,就可以找到消息
循环了。找到之后就想办法退出这个循环,退出之后再按F8返回,nop掉调用nag的call就可以了。。
3.有些软件在你试用期过后,你退出消息循环这后是无法返回的,就直终止了进程。这种情况只有一步一步
跟踪了。。

楼主的这些总结很棒
2005-9-30 11:52
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
去NGA 还是使用用Exescope打开winrar.exe,找到resource-->dialog-->REMINDER,发现
是NaG窗口的内容,用W32dasm8.93打开winrar.exe
这个方法去nag也不错啊
2005-9-30 22:26
0
雪    币: 333
活跃值: (369)
能力值: ( LV12,RANK:490 )
在线值:
发帖
回帖
粉丝
6
这个软件关键点并不是去nag而是次数限制,过了期,你就是去了nag
也不能运行。。只有把次数锁定为一次。。再去nag这是唯一的办法。
2005-9-30 23:57
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
7
支持并学习
2005-10-1 06:51
0
雪    币: 136
活跃值: (429)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
8
最初由 FlyToTheSpace 发布
2.用CreateWindow创建的nag,这种nag 是会有一个消息循环的,找消息循环很简单,这里介绍我用的一种
按f9运行直到nag的出现,再 点击工具栏上面的 || 来中断程序,接着就是按F8一直返回,就可以找到消息
循环了。找到之后就想办法退出这个循环,退出之后再按F8返回,nop掉调用nag的call就可以了。。
........


太精辟,用它终于解决了一个NAG,学习中。
2005-10-21 14:27
0
雪    币: 202
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wdx
9
这个软件很邪门,它也会关闭OD,甚至是浏览器
2005-10-22 15:01
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WYC
10
支持并学习
2005-10-24 00:08
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
11
Good!
2005-10-24 07:29
0
游客
登录 | 注册 方可回帖
返回
//