能力值:
( LV2,RANK:10 )
|
-
-
2 楼
存档一份。。
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
Delphi有得天独厚的写ShellCode的条件,似乎网上没有Delphi写ShellCode的教程吧~~
很多东西你没有考虑到~ 比如WIN64下ShellCode,在本进程可以正常跑,但是提取出来以后换到实战进程各种异常的问题~这些都是需要解决的~
并且在当我看到了下面这坨东西以后,就不准备再往下看了~
char WinExecFuncName[10] = { 'W', 'i', 'n', 'E', 'x', 'e', 'c', '\0' };
char ExitProcFuncName[20] = { 'E', 'x', 'i', 't', 'P', 'r', 'o', 'c', 'e', 's', 's', '\0' };
char CmdLine[10] = { 'c', 'a', 'l', 'c', '.', 'e', 'x', 'e', '\0' };
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
字符串定义上确实有点麻烦。。本来我以为char abc[]="XXXXXX";这样的能达到效果。结果发现这样的话会有全局变量(编译后的代码是把XXXX这个串分割成几个短的全局字串,再把他们拼起来,应该是编译器的一种优化)。不知道调整一下编译参数会不会有改变。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
替用户做了太多的优化有时候也不是神马好事。。。。
微软可不希望大众都来写Shellcode.........
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
[QUOTE=奓奓;1317493]字符串定义上确实有点麻烦。。本来我以为char abc[]="XXXXXX";这样的能达到效果。结果发现这样的话会有全局变量(编译后的代码是把XXXX这个串分割成几个短的全局字串,再把他们拼起来,应该是编译器的一种优化)。不知道调整一下编译参数会不会有改变。[/QUOTE]
其实,合理使用相关的数据结构可以完全避免掉这些麻烦。
不要搞代码中混数据这种模式,因为一旦你的ShellCode工程变大,编译器再优化一下,鬼知道会出什么BUG~
|