我需要知道是否有任何工具来确定TCP客户端的接口.我的公司购买了第三方工具,我们非常喜欢服务器端和大多数客户端.
我想看看我是否可以弄清楚客户端对服务器的调用,以便我可以创建我们想要的客户端功能.
我已经能够弄清楚客户端与服务器通信的端口号和协议.由于我们托管服务器,因此我也可以完全访问它.
有关如何获取和执行客户端应用程序在服务器上调用的方法的任何想法?
我不擅长java,所以我想尽可能使用C#.NET.这听起来可行吗?
注意:我之前做过类似的事情(使用自定义.NET客户端连接到第三方基于Java的服务器),但那时我有一些文档让我开始.这次我什么都没有.
任何帮助将不胜感激.
此外,如果您知道更好的标签,请将它们作为评论发布(或者如果您有权限则重新标记)
我目前正在尝试实现结合逆向工程和图论的东西.因此,我想拆解PE二进制文件.有一些非常复杂的工具可以这样做,比如IDA或w32dasm.后来似乎死了.IDA不是可编写脚本的 - 据我所知.
我想要一个可编写脚本的反汇编程序的原因是,我在C#中实现了我的程序.它得到一个二进制文件,因此必须以某种方式获取操作码.我想我需要用一些参数调用一些帮助程序.没有GUI就无法调用IDA.它不提供真正的cmdline选项.
有任何想法吗?
谢谢,愿
是否可以确定库中结构(C语言)中的元素(名称和数据类型)?如果是的话,怎么用C语言呢?如果C语言不支持它,是否可以通过其他技巧获取结构元素或者是否有任何工具?
嘿伙计们,我自己和两位软件工程师学生的任务是对gawk程序进行逆向工程.我们需要创建表示结构的图表,并回答有关该程序的问题.
http://directory.fsf.org/project/gawk/
我们正在为C程序寻找简单易用的逆向工程工具.我们的讲师给了我们以下三个工具作为我们应该使用的例子,但我们只是在让他们工作时遇到了很大的问题.您是否有任何替代解决方案,或者可能是以下工具之一的一些好文档来帮助我们?谢谢!
PBS:http://www.swag.uwaterloo.ca/pbs/
RIGI:http://www.rigi.csc.uvic.ca/Pages/download.html
我想向公众透露我的桌面java应用程序,但我不确定如何保护它免受逆向工程或源代码窃取?
是否可以将应用程序转换为exe文件?如果是的话,这不足以保护它吗?
有没有办法将汇编语言转换为某种高级语言?我正在尝试使用linux端口来检索学校标记.应用程序从服务器下载文件,然后以某种方式解密它.它是用delphi编写的,但在反编译后我得到了汇编语言.汇编语言对我来说完全不为人知.这是我认为它负责解密的程序:https://gist.github.com/1240056 如果有任何其他方法如何找出使用过的算法我将非常感谢你.
我在delphi中有一个对象,看起来像:
object DXDraw: TDXDraw
Left = 0
Top = 0
Width = 640
Height = 360
AutoInitialize = True
AutoSize = False
Display.BitCount = 16
Display.FixedBitCount = True
Display.FixedRatio = True
Display.FixedSize = False
Options = [doFullScreen, doAllowReboot, doWaitVBlank, doHardware,
doRetainedMode, doDrawPrimitive, doSelectDriver, doTexture,
doRGB, doMono]
SurfaceHeight = 360
OnInitialize = DXDrawInitialize
TabOrder = 1
Visible = False
OnClick = LbBackScreenClick
OnDblClick = DXDrawDblClick
OnDragDrop = FormDragDrop
OnDragOver = FormDragOver
OnKeyPress = EdFocusKeyPress
OnMouseDown = LbBackScreenMouseDown
OnMouseMove = LbBackScreenMouseMove
OnMouseUp …Run Code Online (Sandbox Code Playgroud) 我无法理解数字取证和逆向工程的确切差异.Will Digital Forensic与反编译,汇编代码读取或调试有什么关系?
谢谢
我有一个C函数,它使用私钥,并希望防止任何人读出此密钥.不仅来自二进制 - 而且来自源存储库.关键不是明文,但仍然应该尽可能难以访问它.我的计划是将此c文件编译为目标文件,并将此目标文件(带有混淆的privateKey数组)放入源存储库中.但我不确定我应该在哪个存储类/范围内放置密钥(本地堆栈变量,静态变量 - 本地/全局,...).
1.)全球静态
static unsigned char const privateKey[] = {
0x44, 0x8e, 0x54, 0xae, 0x64, 0x74, 0xbe, ...
};
void myFunction(){
//do something with privateKey
}
Run Code Online (Sandbox Code Playgroud)
2.)本地Stackvariable
void myFunction(){
unsigned char const privateKey[] = {
0x44, 0x8e, 0x54, 0xae, 0x64, 0x74, 0xbe, ...
};
//do something with privateKey
}
Run Code Online (Sandbox Code Playgroud)
3.)局部静态
void myFunction(){
static unsigned char const privateKey[] = {
0x44, 0x8e, 0x54, 0xae, 0x64, 0x74, 0xbe, ...
};
//do something with privateKey
}
Run Code Online (Sandbox Code Playgroud)
我只是用nm观察了这3个解决方案的目标文件 - 在第二个解决方案中,我甚至没有看到键的符号(但我担心使用调试器很容易读取密钥,因为它放在了在运行时堆栈).解决方案3在nm中看起来像:
00000000 …Run Code Online (Sandbox Code Playgroud) 我正在研究一个我很着迷的主题,逆向工程.但是我遇到了一点速度碰撞.我知道按位运算符xor以及它对这些位的作用,但是当我在反汇编程序中查看它时,它似乎无法正常工作.我正在处理的一小段代码是:
MOV EAX, 0040305D
XOR DWORD PTR [EAX], 1234567
Run Code Online (Sandbox Code Playgroud)
之前的XOR已经发生,驻留在该位置的数目0040305D是1234或31323334十六进制(它被表示为ASCII,因为它是从用户输入取和它牢固地驻留如31323334在存储器中).当我在互联网上查找xor计算器以检查以确保我在纸上完成所有操作时,我得到xor计算的结果为30117653十六进制.但是当我在反汇编程序中运行该操作时,它用56771035替换了EAX中保存的内存位置.
刚刚发生了什么?我在这里错过了什么吗?我检查了许多计算器的xor计算,我无法得到56771035的答案.有人可以帮我一把,告诉我我做错了什么吗?
-担
assembly ×4
c ×3
c# ×2
delphi ×2
java ×2
obfuscation ×2
.net ×1
debugging ×1
decompiling ×1
intel ×1
memory ×1
networking ×1
security ×1
structure ×1
xor ×1