能力值:
( LV2,RANK:10 )
|
-
-
176 楼
你们也真是的都没替新手想过吗 ?
1. 百分百成功方法
2. 到以下 link 下载 vcpp5.exe (MASM 16bit)
http://download.microsoft.com/download/vb60ent/Update/6/W9X2KXP/EN-US/vcpp5.exe
3. 将 vcpp5.exe 放到 c:\ 安装方法 -> 开启 command prompt 输入c:\vcpp5 /c /t:C:\MASM16
4. 到到以下 link 下载 m32v9r.zip (MASM 32bit)
http://website.assemblercode.com/masm32/m32v9r.zip
5. 将 m32v9r.zip 解成 install.exe, 并开始安装, 选择安装到 c: (并照基本下一步,下一步把它装完)
6. 一切正常的话会多出 c:\MASM32
7. 将 source 的 生成花指令.asm 与 壳.asm copy 到 c:\masm16
8. 将 c:\masm32 的 windows.inc kernel32.inc copy 到 c:\masm16
9. 下载 75 楼的 masm.rar 并将内容全解到 c:\masm16
http://bbs.pediy.com/attachment.php?s=&attachmentid=692
10. 开启 command prompt 后跳到 c:\masm16
ren 生成花指令.asm hua.asm <- 将 生成花指令.asm 改名成 hua.asm
ml /c hua.asm <- 产生 hua.obj
link5 hua; <- 产生 hua.exe 注: 记得要打";"
ren 壳.asm aaa <- 将 壳.asm 改名成 aaa 注: 没错是 "aaa" 不是 "aaa.asm"
hua <- 产生 bbb.asm
ml /c /coff bbb.asm <- 产生 bbb.obj
11. 将 bbb.obj copy 到 c:\masm32\bin
12. 将 c:\masm32 的 kernel32.lib copy 一份到 c:\masm32\bin
13. 开启 command prompt 后跳到 c:\masm32\bin
link /subsystem:windows bbb <- 产生 bbb.exe 恭喜!!!
14 bbb.exe 使用方法
bbb notepad.exe ccc.exe
得到被加壳 ccc.exe
测试运行 ccc.exe
|
能力值:
( LV2,RANK:10 )
|
-
-
177 楼
佩服中,学习来了
|
能力值:
( LV2,RANK:10 )
|
-
-
178 楼
不太懂
|
能力值:
( LV2,RANK:10 )
|
-
-
179 楼
ding 不错,又学习了一些
|
能力值:
( LV2,RANK:10 )
|
-
-
180 楼
hao a
|
能力值:
( LV2,RANK:10 )
|
-
-
181 楼
学习一下学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
182 楼
学习了!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
183 楼
学习了!!!!!!
|
能力值:
( LV12,RANK:470 )
|
-
-
184 楼
支持楼主写出源程序。
|
能力值:
( LV2,RANK:10 )
|
-
-
185 楼
我link5 hua;的时候怎么出现
Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992. All rights reserved.
LINK : warning L4021: no stack segment
这个是为什么啊,我是菜鸟
|
能力值:
( LV2,RANK:10 )
|
-
-
186 楼
我来贴一篇,我在分析时去花指令,解码的IDC脚本:
去花指令:
auto addr1,i,j;
addr1=0x40D000;
for(j=0;j<0xA00;j++)
{
if ((Byte(addr1)==0xEB)&&(Byte(addr1+1)==0x01))
{
for(i=0;i<3;i++)
{
PatchByte(addr1,0x90);
addr1++;
}
continue;
}
if ((Byte(addr1)==0xEB)&&(Byte(addr1+1)==0x02))
{
for(i=0;i<4;i++)
{
PatchByte(addr1,0x90);
addr1++;
}
continue;
}
if ((Byte(addr1)==0xEB)&&(Byte(addr1+1)==0x03))
{
for(i=0;i<5;i++)
{
PatchByte(addr1,0x90);
addr1++;
}
continue;
}
addr1++;
}
第一次解码时的IDC脚本:
start:0x46d0b7 size:0x2da5
auto addr2,b1,i;
addr2=0x46d0b7;
for(i=0;i<0x2da5;i++)
{
b1=~(Byte(addr2));
patchByte(addr2,b1);
addr2++;
}
在这以后,因为不知道怎么将双进程变单进程,就没有跟下去了,请高人提示!
|
能力值:
( LV2,RANK:10 )
|
-
-
187 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
188 楼
看一下,可以试试
|
能力值:
( LV4,RANK:50 )
|
-
-
189 楼
哪位高手把它翻译成C程序就好了 这样受益的人就会大大增多了
|
能力值:
( LV2,RANK:10 )
|
-
-
190 楼
收藏了啊,,,,谢谢
|
能力值:
( LV6,RANK:90 )
|
-
-
191 楼
支持楼主无私奉献
|
能力值:
( LV2,RANK:10 )
|
-
-
192 楼
谢谢分享!
嘿嘿,有得学习了,啃楼主代码去了````谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
193 楼
学习学习!!!!!!!!!!!!!!!!!!!!!1
|
能力值:
( LV4,RANK:50 )
|
-
-
194 楼
开源才识变强的硬道理
|
能力值:
( LV2,RANK:10 )
|
-
-
195 楼
谢谢.看看...
|
能力值:
( LV2,RANK:10 )
|
-
-
196 楼
还没到级别,跟不到,呵,源码出时再复习吧
|
能力值:
( LV9,RANK:170 )
|
-
-
197 楼
好壳!
自己做了个外壳用上了!
|
能力值:
( LV2,RANK:10 )
|
-
-
198 楼
收藏了,多谢分享
|
能力值:
( LV4,RANK:50 )
|
-
-
199 楼
太历害了,真想和楼主交朋友啊.还没完全看懂呢
|
能力值:
( LV4,RANK:50 )
|
-
-
200 楼
有个问题想问问楼主,不是楼主还能看到否.
如何跟踪到线程中的线程
|
|
|