能力值:
( LV2,RANK:10 )
|
-
-
3 楼
program ShellCodeLoader;
const
ShellCode:Array [0..78] of Byte =
(
$EB,$0F,$58,$80,$30,$95,$40,$81,$38,$68,$61,$63,$6B,$75,$F4,$EB,$05,$E8,$EC,$FF,
$FF,$FF,$C0,$1C,$70,$C6,$53,$D0,$69,$F6,$53,$D0,$68,$F8,$53,$D0,$6B,$F1,$53,$D0,
$6A,$95,$FD,$90,$95,$95,$95,$18,$D0,$69,$C5,$2D,$F8,$86,$13,$E9,$6A,$45,$FD,$94,
$95,$95,$95,$2D,$4F,$58,$14,$E9,$6A,$45,$6A,$71,$95,$DA,$68,$61,$63,$6B,$CD
);
var
ShellCodeProc: procedure;
begin
ShellCodeProc := @ShellCode;
ShellCodeProc();
end.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我用了很久的DELPHI了 感觉在SHELLCODE上好像有点乏力...
我用VC和DELPHI 做同一个加区段程序,明显VC问题出得少些...所以有投入C++阵营怀抱的冲动啊...
不过DELPHI有个很大的优点就是类型上比起VC来说方便多了.... 也许是比较熟悉的缘故吧....
|
能力值:
( LV13,RANK:810 )
|
-
-
8 楼
Delphi写Shellcode。。。
为什么不可以。Delphi些ShellCode比VC方便
Delphi的内联汇编比vc的要强大太多.不但支持众多高级指令...(vc的太普通了)
而且还有db,wd, dd这样的伪指令可以使用...
就着一个优势可以把VC压下去...
其他的没什么可说的了(可惜Delphi没有__declspec(naked)否则写起来会更方便.)
Delphi写ShellCode的时候需要许多注意
Delphi的编译器优化做的和vc有点区别。。。
比如说case。。。尽量不要使用多层选择...会产生不必要的麻烦...
少了看不出来多了就看出来了---实际地址而不是使用偏移地址
Delphi写代码的时候需要注意
放弃使用集合.其他的一时想不出来.
要学会组合...怎么说呢...就是大脑中勾画出代码和数据存储位置和偏移结构.
专门开一贴写吧.
要理解ShellCode的核心...什么是ShellCode。。。
ShellCode其实就是和大家平时用的远程代码注入一样的概念。。。。
甚至代码都可以直接Copy过来使用~
多了一个kernel32地址获取,api搜索.没了...
这个部分用asm完成
其他地方完全可以使用object pascal的语法写。。。
什么都可以写进去。暂时不知道如何写一个Class进去。。这个比较麻烦
Delphi写ShellCode就和写远程线程注入完全一样。。
其实那些大型壳都是用高级语言写的。RLPack那种写壳方式不适合应用在大型软件上(500-600k的asm源代码)
EPE,ASpack,Acpr等等都是Delphi写的。是的壳代码都可以这么写。仅仅需要极少数的asm
LS的说VC写的出错率小。那是因为你不熟悉Delphi的编译器...
现在大家对Delphi编译器了解的都很多了...语言和开发工具很少会出现明显的错误..
基本上是写手的自身的问题
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
我一直都用Delphi写ShellCode.自己觉得比C方便.最方便之处在于字符串常量的使用上.
Delphi是吧字符串常量编译到代码段当前函数后面的.太方便了.
看看我的博客
http://blog.csdn.net/wr960204/archive/2007/08/17/1747972.aspx
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
晕了, delphi是全世界唯一一钟不能进行反汇编的语言,因为其他语言在机器执行中都是以补码的形式存在的,但delphi却有原码补码和反码都进行运算,因为大家都知道原码的乘法效率最高,所以 delphi编出的程序效率一般都比较高!
|
能力值:
( LV13,RANK:810 )
|
-
-
14 楼
emit一次只能一个字节吧。。。
delphi下的db和可以想写多少就多少。。。
一个合格的delphi程序员同样也是一个合格的vc 程序员不要以为我们不会vc。。。
LCC是支持~~db的。。byte\.xxxxxxxxxxxxxxx这么写~只有vc。。。。太吐血了~
我一直都是混编的。除了写界面用Delphi其他的我都是使用vc(vc很强大。但是UI设计太令人吐血了。。。)
至于delphi代码优化。那是以前的事情了。。。现在的vc代码优化和intel的编译器旗鼓相当。
《Borland传奇》中所说的高级优化。。。现在已经落伍了。。Delphi优化能力相对来说不行。m$毕竟还是编译器老大
Anders很好很强大~
不过话说回来都是相对了~~优化能力换编译速度,编译速度换优化能力。。。
delphi经常编译出sb代码。。让你超吐血。。。
比如说
Result := xxxxx
if (Result) then
.
.
. 编译出来就是
mov [ebp+4], eax
mov eax, [ebp+4]
test al, al
jnz xxxx
猛吐血~~
|