首页
社区
课程
招聘
[原创]脱了TeLock0.98壳以后。。。
发表于: 2005-2-21 11:43 4068

[原创]脱了TeLock0.98壳以后。。。

2005-2-21 11:43
4068
我用OD脱了一个软件的TELOCK0.98壳,也用ImportREC修复了IDA,
脱了壳的软件可以运行,但是一闪就不见了,请问是什么问题啊?怎么解决?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
软件的自效验
可下断:
bp GetFileSize
bp ReadFile
bp SetFilePointer
bp CreateFileA
或者直接下ExitProcess
2005-2-21 11:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请问是下在未脱壳的软件还是下在已经脱了壳的软件?下断之后应该怎么做?我新手是第一次遇到自效验问题,谢谢!

还有就是我在OD那里按了运行跟踪,然后左上角出现很多个没有边的窗口,不懂怎么关掉哦,,严重影响了美观,请朋友们帮忙!谢谢!
2005-2-21 13:00
0
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
脱过壳后下的
下断之后比较简单的就是先Alt+F9返回领空,再Ctrl+F9返回几次,后可能会找到一个
cmp xxx,4321
jnz xxxxxxxx
这样的语句,这可能是比较文件的大小,或者是比较用某中算法计算的值,改它
用ExitProcess比较简单了
你可以在OllyDbg里按Ctrl+N,找到ExitProcess按F2下断,断下后,看有哪个跳转可以跳过它,改一下,不过这种方法能用的上的次数不多
是否能找到就看你的功力如何了
2005-2-21 13:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
试了~不行,能帮我看看么?没空的就算拉~谢谢~

Ufony 1.30
管理,播放,转换,合并,分割,烧录! CDA(CD) RA MP1 MP2 OGG WMA MP3 WAV AC3 VOB(DVD) AAC M4A FLAC AU AIF APE MPC G721 G726 MP4 RM WMV ASF MPG DAT(VCD) AVI ==> MP3 WAV WMA OGG APE CD
下载地址:http://www.shareware.cn/pub/253.html
2005-2-21 15:21
0
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
的确是个好东西
这个变态东西竟然把它的dll全加上了TELOCK0,不会手动,我用UNtelock.exe全给脱了
它还是用GetFileSize来获得文件大小,然后比较的,
我找到了三处,它检测了主文件大小,hlclass.dll的大小和hlsond.dll的大小,都是类似这样的
这是外面的Call:
004172E0   /$  B9 283C4300      mov ecx,Ufony.00433C28
004172E5   |.  E8 F6070000      call Ufony.00417AE0               //第一次
004172EA   |.  85C0             test eax,eax
004172EC   |.  74 2D            je short Ufony.0041731B
004172EE   |.  8B4424 04        mov eax,dword ptr ss:[esp+4]
004172F2   |.  50               push eax
004172F3   |.  B9 283C4300      mov ecx,Ufony.00433C28
004172F8   |.  FF15 F8854200    call dword ptr ds:[<&hlclass.CWinApp::Ini>;  hlclass.CWinApp::InitInst       第二次

hlclass.dll里
004172FE   |.  85C0             test eax,eax
00417300   |.  74 19            je short Ufony.0041731B
00417302   |.  B9 283C4300      mov ecx,Ufony.00433C28
00417307   |.  E8 240A0000      call Ufony.00417D30                                 //里面还有第三次
0041730C   |.  85C0             test eax,eax
0041730E   |.  74 0B            je short Ufony.0041731B
00417310   |.  B9 283C4300      mov ecx,Ufony.00433C28
00417315   |.  FF15 F4854200    call dword ptr ds:[<&hlclass.CWinApp::Mes>;  hlclass.CWinApp::MessageLoop
0041731B   |>  33C0             xor eax,eax
0041731D   \.  C2 1000          retn 10      //退出这个call,下个call就是Exit

00418113   |> /68 00040000      /push 400
00418118   |. |8D8F 4F7D0000    |lea ecx,dword ptr ds:[edi+7D4F]
0041811E   |. |51               |push ecx
0041811F   |. |8D5424 3C        |lea edx,dword ptr ss:[esp+3C]
00418123   |. |52               |push edx
00418124   |. |8D4C24 1C        |lea ecx,dword ptr ss:[esp+1C]
00418128   |. |FFD5             |call ebp
0041812A   |. |8D4C24 34        |lea ecx,dword ptr ss:[esp+34]
0041812E   |. |FFD6             |call esi
00418130   |. |68 FC284300      |push Ufony.004328FC
00418135   |. |8D4424 30        |lea eax,dword ptr ss:[esp+30]
00418139   |. |50               |push eax
0041813A   |. |8D4C24 20        |lea ecx,dword ptr ss:[esp+20]
0041813E   |. |FF15 FC804200    |call dword ptr ds:[<&hlclass.CStr>;  hlclass.CString::operator+
00418144   |. |8D4C24 10        |lea ecx,dword ptr ss:[esp+10]
00418148   |. |51               |push ecx
00418149   |. |8D5424 40        |lea edx,dword ptr ss:[esp+40]
0041814D   |. |52               |push edx
0041814E   |. |8BC8             |mov ecx,eax
00418150   |. |C68424 08020000 >|mov byte ptr ss:[esp+208],3
00418158   |. |FF15 A4814200    |call dword ptr ds:[<&hlclass.CStr>;  hlclass.CString::operator+
0041815E   |. |50               |push eax
0041815F   |. |8D4424 28        |lea eax,dword ptr ss:[esp+28]
00418163   |. |50               |push eax
00418164   |. |8D4C24 18        |lea ecx,dword ptr ss:[esp+18]
00418168   |. |C68424 08020000 >|mov byte ptr ss:[esp+208],4
00418170   |. |FF15 5C814200    |call dword ptr ds:[<&hlclass.CStr>;  hlclass.CString::operator=
00418176   |. |8D4C24 24        |lea ecx,dword ptr ss:[esp+24]
0041817A   |. |FFD6             |call esi
0041817C   |. |8D4C24 3C        |lea ecx,dword ptr ss:[esp+3C]
00418180   |. |C68424 00020000 >|mov byte ptr ss:[esp+200],3
00418188   |. |FFD6             |call esi
0041818A   |. |8D4C24 2C        |lea ecx,dword ptr ss:[esp+2C]
0041818E   |. |C68424 00020000 >|mov byte ptr ss:[esp+200],2
00418196   |. |FFD6             |call esi
00418198   |. |8B4C24 10        |mov ecx,dword ptr ss:[esp+10]
0041819C   |. |51               |push ecx
0041819D   |. |8D8C24 AC000000  |lea ecx,dword ptr ss:[esp+AC]
004181A4   |. |FF15 F8844200    |call dword ptr ds:[<&hlclass.CFil>;  hlclass.CFileSys::GetFileSize      //这里获取文件大小,

放在eax里
004181AA   |. |3BFB             |cmp edi,ebx
004181AC   |. |75 2A            |jnz short Ufony.004181D8
004181AE   |. |3BD3             |cmp edx,ebx
004181B0   |. |0F87 5B010000    |ja Ufony.00418311
004181B6   |. |3D FE510200      |cmp eax,251FE        //这里比较hlclass.dll 在这儿改
004181BB   |. |0F82 50010000    |jb Ufony.00418311
004181C1   |. |3BD3             |cmp edx,ebx
004181C3   |. |0F87 48010000    |ja Ufony.00418311
004181C9   |. |72 69            |jb short Ufony.00418234
004181CB   |. |3D 03520200      |cmp eax,25203       //这里比较hlclass.dll 在这儿改

004181D0   |. |0F87 3B010000    |ja Ufony.00418311
004181D6   |. |EB 5C            |jmp short Ufony.00418234
004181D8   |> |83FF 01          |cmp edi,1
004181DB   |. |75 2A            |jnz short Ufony.00418207
004181DD   |. |3BD3             |cmp edx,ebx
004181DF   |. |0F87 2C010000    |ja Ufony.00418311
004181E5   |. |3D FDA50500      |cmp eax,5A5FD      //这里比较hlsond.dll  在这儿改

004181EA   |. |0F82 21010000    |jb Ufony.00418311
004181F0   |. |3BD3             |cmp edx,ebx
004181F2   |. |0F87 19010000    |ja Ufony.00418311
004181F8   |. |72 3A            |jb short Ufony.00418234
004181FA   |. |3D 07A60500      |cmp eax,5A607     // //这里比较hlsond.dll   在这儿改

004181FF   |. |0F87 0C010000    |ja Ufony.00418311
00418205   |. |EB 2D            |jmp short Ufony.00418234
00418207   |> |83FF 02          |cmp edi,2
0041820A   |. |75 28            |jnz short Ufony.00418234
0041820C   |. |3BD3             |cmp edx,ebx
0041820E   |. |0F87 FD000000    |ja Ufony.00418311
00418214   |. |3D FFAB0100      |cmp eax,1ABFF      //这里比较主文件  在这儿改

00418219   |. |0F82 F2000000    |jb Ufony.00418311
0041821F   |. |3BD3             |cmp edx,ebx
00418221   |. |0F87 EA000000    |ja Ufony.00418311
00418227   |. |72 0B            |jb short Ufony.00418234
00418229   |. |3D 02AC0100      |cmp eax,1AC02       //这里比较主文件  在这儿改

0041822E   |. |0F87 DD000000    |ja Ufony.00418311
00418234   |> |47               |inc edi
00418235   |. |83FF 03          |cmp edi,3           //共三个文件
00418238   |.^\0F8C D5FEFFFF    \jl Ufony.00418113

前两次不对就跳到类似这样的
00417D0C       40               xor eax,eax   
     
第三次不对就跳到:
00418311   |> \53               push ebx                           ; /ExitCode
00418312   |.  FF15 A0804200    call dword ptr ds:[<&USER32.PostQu>; \PostQuitMessage
直接退出

应该还有,这样改也只是显示一下主窗口后退出
其他的我还没找到,你也找找试试,
2005-2-21 20:04
0
游客
登录 | 注册 方可回帖
返回
//