小编Shu*_*eng的帖子

如何强制GDB在"没有函数包含所选帧的程序计数器"时反汇编代码?

如何强制GDB在"没有函数包含所选帧的程序计数器"时反汇编代码?

调试程序,从绝对地址开始,0x00402200在尝试反汇编此地址的代码时,我得到以下输出:

[New Thread 65212.0x10378]

Breakpoint 1, 0x00402200 in ?? ()
(gdb) stepi
0x00402202 in ?? ()
(gdb) stepi
0x00402207 in ?? ()
(gdb) stepi
0x0040220a in ?? ()
(gdb) stepi
0x0040220f in ?? ()
(gdb) disassemble
No function contains program counter for selected frame.
(gdb) stepi
0x00401000 in start ()
Run Code Online (Sandbox Code Playgroud)

正在调试的文件是用于教育目的的Win32 PE(逆向工程).

有没有办法告诉GDB开始在地址上拆解?否则,我的替代方案(即其他工具)是什么?

debugging x86 assembly gdb portable-executable

10
推荐指数
2
解决办法
5504
查看次数

如何使用CreateProcess()和CreatePipe()从cmd.exe读取输出

如何使用CreateProcess()和CreatePipe()从cmd.exe读取输出

我一直在尝试创建一个cmd.exe使用命令行指定执行的子进程/K dir.目的是使用管道将命令的输出读回到父进程.

我已经开始CreateProcess()工作,但涉及管道的步骤给我带来了麻烦.使用管道,新的控制台窗口不显示(就像之前一样),并且父进程卡在调用中ReadFile().

有没有人知道我做错了什么?

#include <Windows.h>
#include <stdio.h>
#include <tchar.h>

#define BUFFSZ 4096

HANDLE g_hChildStd_IN_Rd = NULL;
HANDLE g_hChildStd_IN_Wr = NULL;
HANDLE g_hChildStd_OUT_Rd = NULL;
HANDLE g_hChildStd_OUT_Wr = NULL;

int wmain(int argc, wchar_t* argv[]) 
{
    int result;
    wchar_t aCmd[BUFFSZ] = TEXT("/K dir"); // CMD /?
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    SECURITY_ATTRIBUTES sa;

    printf("Starting...\n");

    ZeroMemory(&si, sizeof(STARTUPINFO));
    ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
    ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES));

    // Create one-way pipe for child process STDOUT
    if (!CreatePipe(&g_hChildStd_OUT_Rd, &g_hChildStd_OUT_Wr, &sa, 0)) …
Run Code Online (Sandbox Code Playgroud)

c++ windows cmd

8
推荐指数
3
解决办法
5583
查看次数

Apache 的 other_vhosts_access.log 文件有何用途?

Apache 的 other_vhosts_access.log 文件有何用途?

我在 Google 上找不到有关此文件的任何文档。

在同时运行 Apache 和 Nginx 的本地系统上,许多条目显示在 中other_vhosts_access.log,例如:

kr.b19cms.dk:80 127.0.0.1 - - [19/Jun/2018:08:46:30 +0200] "POST /CHANGELOG.txt HTTP/1.0" 200 108893 "-" "drupalgeddon2" 246.189.151.79, 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

不过,我似乎并不能从中得到什么?

apache virtualhost nginx virtual-machine

8
推荐指数
1
解决办法
1万
查看次数

swift 和 swiftc 和有什么不一样?

swift 和 swiftc 和有什么不一样?

我读过一些资源,说 swiftc 是 swift 的符号链接,但在 macOS Mojave 10.14.6 上却不是这样:

-rwxr-xr-x  1 root  wheel  18288 Jul 29 23:49 /usr/bin/swiftc
Run Code Online (Sandbox Code Playgroud)

swift 和 swiftc 都包含OVERVIEW: Swift compiler作为其--help菜单的一部分,但是虽然它们的选项相似,但它们是不同的。

macos swift

8
推荐指数
1
解决办法
1296
查看次数

我需要多个Jetbrains IDE,还是可以将它们收集到一个?

如何将多个Jetbrains IDE收集到一个中,就像我使用插件一样使用Eclipse?我做Java,Ruby和C/C++,不会为每种编程语言安装单个IDE.

ide jetbrains-ide intellij-idea

7
推荐指数
1
解决办法
384
查看次数

文件可以同时是可执行文件(EXE)和动态链接库(DLL)吗?

文件是否可能同时是可执行文件(EXE)和动态链接库(DLL)?(即它可以作为EXE执行,并在运行时作为共享库加载.)

我不明白为什么不可能,但也许有人可以给出解释?

c++ windows dll exe

7
推荐指数
1
解决办法
930
查看次数

Powershell 中 Select-String 方法的“行”由什么构成?

我希望在 Powershell中Select-String考虑\r\n(回车+换行)一行的结尾。

但是,如下所示,abc匹配整个整个输入:

PS C:\Tools\hashcat> "abc`r`ndef" | Select-String -Pattern "abc"

abc
def
Run Code Online (Sandbox Code Playgroud)

如果我将字符串分成两部分,则Select-String表现如我所料:

PS C:\Tools\hashcat> "abc", "def" | Select-String -Pattern "abc"

abc
Run Code Online (Sandbox Code Playgroud)

我怎样才能给出Select-String一个以 结尾的字符串\r\n,然后让这个 cmdlet 只返回那些包含匹配的字符串?

powershell split select-string

7
推荐指数
1
解决办法
5999
查看次数

如何让Brew在安装前显示公式的大小?

我正在寻找一种brew无需安装即可显示公式大小的方法。我已经尝试了brew info和 的各种选项brew install,但都没有让我查看公式的大小。

\n\n

但是,在安装公式时,其大小将显示为输出的一部分。

\n\n

有任何想法吗?

\n\n
nlykkei-mbp:Projects nlykkei$ brew info llvm\nllvm: stable 8.0.1 (bottled), HEAD [keg-only]\nNext-gen compiler infrastructure\nhttps://llvm.org/\nNot installed\nFrom: https://github.com/Homebrew/homebrew-core/blob/master/Formula/llvm.rb\n==> Dependencies\nBuild: cmake \xe2\x9c\x94\nRequired: libffi \xe2\x9c\x94, swig \xe2\x9c\x94\n==> Requirements\nBuild: xcode \xe2\x9c\x94\n==> Options\n--HEAD\n        Install HEAD version\n==> Caveats\nTo use the bundled libc++ please add the following LDFLAGS:\n  LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"\n\nllvm is keg-only, which means it was not symlinked into /usr/local,\nbecause macOS already provides this software and installing another version in\nparallel can cause all kinds of …
Run Code Online (Sandbox Code Playgroud)

macos homebrew package

7
推荐指数
1
解决办法
1564
查看次数

为什么 HTTP 基本身份验证可以使用 `git -c http.extraHeader="Authorization: Basic &lt;base64&gt;"` 来工作,但在直接将凭据放入 URL 时却不能工作?

我有以下用于访问存储库的“虚拟”凭据(用户名和 PAT):

bd6164:o6g5xae5fmqeqdbjatdfjichdk55lweq4jxyt2jvwtjuzxdwwgxa
Run Code Online (Sandbox Code Playgroud)

现在,根据 MS 文档,我应该向gitusing提供这些凭据git -c http.extraHeader="Authorization: Basic <base64>" ...,这会导致身份验证成功。

git但是,如果我直接在 URL 中提供这些凭据:

https://bd6164:o6g5xae5fmqeqdbjatdfjichdk55lweq4jxyt2jvwtjuzxdwwgxa@azuredevops.example.net

然后认证失败。

通常,当我使用 时git,我可以将我的凭据直接放入 URL 中以成功进行身份验证,那么为什么会遇到这些不一致的情况呢?一般来说,URL 中的凭据是否不会转换为 Base64 并在“Authorization: Basic”HTTP 标头中发送?

以下是 MS 提供的有关如何使用 PAT 的文档git

https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page#use-a-pat

作品

# git -c http.extraHeader="Authorization: Basic YmQ2MTY0Om82ZzV4YWU1Zm1xZXFkYmphdGRmamljaGRrNTVsd2VxNGp4eXQyanZ3dGp1enhkd3dneGE=" clone https://azuredevops.example.net/Main/MyProj/_git/MyRepo
Run Code Online (Sandbox Code Playgroud)

失败

# git clone https://bd6164:o6g5xae5fmqeqdbjatdfjichdk55lweq4jxyt2jvwtjuzxdwwgxa@azuredevops.example.net/Main/MyProj/_git/MyRepo
Run Code Online (Sandbox Code Playgroud)

git version-control http basic-authentication

7
推荐指数
1
解决办法
1万
查看次数

如何在 Ubuntu 上安装 Petite Chez Scheme?

如何在 Ubuntu 上安装 Petite Chez Scheme?

我运行 Ubuntu 15.10 并尝试为 Linux 安装 pcsv8.4-a6le.tar.gz(非线程,64 位)。

在解压这个 tar 之后/usr/locale,我输入命令

sudo ./configure 
sudo make install 
Run Code Online (Sandbox Code Playgroud)

custom目录中。

但是,不是全新安装,而是出现以下错误(我希望有人可以帮助我):

nlykkei@nlykkei-Studio-XPS-1640:/usr/local/csv8.4/custom$ sudo make install
if [ yes = no ]; then if [ ! -f ./scheme ]; then /bin/rm -f ./scheme; ln -s ../bin/a6le/scheme ./scheme; fi; fi
if [ ! -f ./petite ]; then /bin/rm -f ./petite; ln -s ./scheme ./petite; fi
/bin/rm -f ./scheme
echo "const char *S_date_stamp = \"`date +%m%d%Y%H%M%S`\";" …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu scheme chez-scheme

6
推荐指数
1
解决办法
3766
查看次数