目标状态:将VB6代码移植到C#中,使用所有可能的流程进行整个项目.
如果您不了解域名,您的方法是什么?
几乎所有文档,只有遗留代码(高达100.000 - 300.000行代码和注释vb6文件,包含多达14.000行代码)用VB6编写.
与使用其他编程语言/编译器构建的其他可执行文件相比,为什么反编译delphi exe是如此简单?
在调用构造函数之后有一小部分反汇编,这没有任何意义.这里是,
.text:011A18F0 loc_11A18F0: ; CODE XREF: main+5Bj
.text:011A18F0 mov [ebp+again_obj], 0
.text:011A18FA
.text:011A18FA loc_11A18FA: ; CODE XREF: main+6Ej
.text:011A18FA mov eax, [ebp+again_obj]
.text:011A1900 mov [ebp+var_104], eax
.text:011A1906 mov [ebp+var_4], 0FFFFFFFFh
.text:011A190D mov ecx, [ebp+var_104]
.text:011A1913 mov [ebp+var_14], ecx
.text:011A1916 mov eax, [ebp+var_14]
.text:011A1919 mov [ebp+var_E0], eax
.text:011A191F mov ecx, [ebp+var_E0]
.text:011A1925 mov [ebp+var_EC], ecx
.text:011A192B cmp [ebp+var_EC], 0
.text:011A1932 jz short loc_11A1949
Run Code Online (Sandbox Code Playgroud)
我不明白为什么0FFFFFFFFh被移入var_4,以及为什么很多值被移入和移出变量,这就是它在这里完成的方式.优化已经完成,我在VS2010平台上编译了源代码.
我即将开始使用Entity Framework Code First开发ASP.Net MVC 4 Web应用程序.因为数据库已经存在,所以我使用Code First执行逆向工程的能力来生成我的域类.
我希望在我的解决方案中将这些域类放在他们自己的独立项目中,以保持它们的持久性无知.但是,当我运行该工具对我的数据库进行逆向工程时(使用Entity Framework Power Tools),我发现创建了域类,但是还创建了一个名为Mapping的文件夹,其中包含每个域类的映射类,然后使用Fluent API映射表属性.这一切都很好.
但是,我还发现,映射类依赖于对实体框架的引用,我只是想知道这被认为是不好的做法吗?通常当我创建POCO类时,它们完全是持久性无知的,即在该项目中根本没有引用实体框架.
你的意见?
谢谢.
与C/C++编译器生成的编译机器代码相比,Java和Python字节代码相对容易反编译.
我无法找到令人信服的答案,为什么来自-g选项的信息不足以进行反编译,但足以进行调试?Python/Java字节代码中包含的额外内容是什么,这使得反编译变得容易?
我的程序在Windows Vista Ultimate和Windows 7上运行完美,但在Windows XP上运行失败.
首先,我的应用程序创建一个系统文件的进程,它调用GetThreadContext(remote_thread)并将LPVOID值设置为值context-> Eip,然后检查从VirtualQueryEx设置的结构MEMORY_BASIC_INFORMATION中的值.
以下是VirtualQueryEx在调用时返回的值:
Windows XP
Windows 7的
Windows Vista
为什么当我在Windows XP上运行我的应用程序时,它没有分配基础,也没有分配保护,以及与Windows 7和Windows …
我有一个应用程序二进制文件,我想知道它是否针对iOS 5.x,6.x或7.0 SDK编译的。有可能解决这个问题吗?
早上好/下午好/晚上好,我安静的是一个小语言的新手,在编译的时候,有一个我无法解决的问题.我希望以前没有问过这个问题,但我检查了谷歌和stackoverflow上的一些线程,但找不到任何解决方案,所以我认为它没有.那么,会发生什么:
我正在尝试修改我的应用程序的C1.smali文件,我只想更改数组的错误ID.所以我刚刚更换了id,我没有触及其他任何东西.
修改后的smali文件:
.line 52
invoke-virtual {p0}, Lcom/one/aplication/C1;->getResources()Landroid/content/res/Resources;
move-result-object v6
const/high16 v7, 0x7f060001
# array "Codes", id was 0x7f050000
invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
move-result-object v5
Run Code Online (Sandbox Code Playgroud)
当然,我通过检查public.xml 文件(在res\values中)验证了id是否正确.我让你自己看看:
<public type="string" name="name1" id="0x7f05003d" />
<public type="string" name="surname1" id="0x7f05003e" />
<public type="array" name="server" id="0x7f060000" />
<public type="array" name="Codes" id="0x7f060001" />
<public type="menu" name="search" id="0x7f070000" />
<public type="id" name="txt" id="0x7f080000" />
<public type="id" name="button1" id="0x7f080001" />
Run Code Online (Sandbox Code Playgroud)
现在,当我想重新编译时,apktool会抛出一个我无法理解的问题:
C:\apktool>apktool b CC
I: Using Apktool 2.0.0-RC4
I: Checking whether sources has …
我有一个使用蓝牙LE和我的iPhone 6+的健身追踪器.不幸的是,该应用程序没有透露来自跟踪器的原始数据和零输出方式,而这些数据对我来说非常有趣.我从Adafruit购买了蓝牙LE嗅探器,并使用Wireshark捕获数据包.虽然我可以打开它并分析标题没有问题,但实际数据有点超出我的范围.
我查看了网络中查看数据包/帧的帖子,但是开始分析数据的最佳方法是什么?将它倾倒到一个巨大的十六进制编辑器中并没有帮助(显然).
谷歌搜索各种信息条款令人困惑,并在SE网络上显示零结果.
这是一个Wireshark数据包窗口的示例,我假设是在健身跟踪器跟踪运动时写入的数据:

从数据包中选择更多,随机选择:

您在寻找更好的资源以及从何处开始分析这些数据包及其数据方面的帮助表示赞赏!
在MATLAB中,大致有3种方法来定义函数:非注释.m文件,.p文件和编译后的代码(例如DLL,MEX)。
在某些情况下,例如在对我们控制范围之外的某个功能进行重大更改时,知道在何处定义函数可能会有所帮助,并且我们希望尝试恢复为旧版本,以期使我们的代码再次正常工作; 或尝试反向工程某些未公开的算法时。
The which function is usually very good at identifying function definitions and their locations (which works for .m, .p and MEX), but isn't very useful when it comes to shared library functions, where (at best) it points to a comment-only documentation file:
>> which _mcheck
built-in (undocumented)
>> which svd
built-in (D:\Program Files\MATLAB\R2019a\toolbox\matlab\matfun\svd)
Run Code Online (Sandbox Code Playgroud)
If so, assuming a function found within a shared library is called during the execution of my …
matlab reverse-engineering shared-libraries built-in function-definition