人们如何对Wii等游戏机进行逆向工程,为其游戏可执行文件创建模拟器?
这可能是也可能不是灰色地区的主题,虽然我的意图当然不是,所以我的意图不是激起关于逆向工程主题的道德辩论.
我是目前正在接受泵疗法的1型糖尿病患者.我是OmniPod用户,它是一个一次性的豆荚,粘在我的身体上并分配胰岛素3天.它由个人糖尿病管理员[PDM](见下文)控制,该管理员控制在用餐期间分配多少胰岛素,血糖读数,并且它包含用于计算碳水化合物的食物指数.
替代文字http://www.myomnipod.com/images/pdm-200.jpg
新PDM具有用于下载数据的USB端口.该软件对Windows用户是免费的(一个名为CoPilot的软件包),但没有Mac支持.
将PDM插入我的Mac后,它就像任何其他USB设备一样安装,并向我提供一个可读卷,上面有一个带有IBF扩展名的单个文件.它的重量为16KB.
我的第一直觉是通过文本编辑器传递它,并呈现了一个非常二进制的文件.然后我通过字符串传递它(见下文)并用十六进制编辑器打开它.虽然除了下面的字符串之外我无法获得太多信息; 没有压缩格式的细节或任何东西
$ strings omnipoddata.ibf
Insulet
OmniPod
basal 1
Post-meal
e-meal
Pre-meal
e-bedtime
Pre-bedtime
.(@P
.(@P
.(@P
Run Code Online (Sandbox Code Playgroud)
在这个过程中我的下一步应该是什么?我是一个动态的语言人,因此Ruby的任何资源都很棒,或者Python.是否有任何测试驱动的逆向工程流程?
至于我想要获得的数据,我想绘制的信息可以获得更多关于我的进展的信息(胰岛素摄入量,血糖读数,时间戳); 所有这些都可以在Windows软件包中使用.
如果有很好的工具来反向工程我的C#应用程序,你能说我吗?我需要我编写的软件的UML类图表,我不想自己绘制这些图表.我已经测试了StarUML,但它没有用,因为我使用了泛型.
如果有一些建议会很棒.
问候,马丁
我已经移交了一个用PHP编写的应用程序的大型无证代码,因为原始编码器已经AWOL了.我的任务是添加新功能,但如果不了解代码,我就无法做到这一点.我开始探索.老实说,我对源代码的数量感到不知所措.我已经找到:
现在我正在寻找一些我用来理解这段代码的技巧.例如,请考虑以下代码段:
class SiteController extends Common {
private $shared;
private $view;
protected function init(){
$this->loadShared();
$this->loadView();
}
private function loadShared(){
$this->shared = new Home();
}
private function loadView(){
$this->view = new HomeView();
}
Run Code Online (Sandbox Code Playgroud)
我想知道
此外,请分享一些用于理解用PHP编写的现有代码的技术?
我们有几个JavaEE 6应用程序(.war文件),我们需要防止逆向工程,但似乎没有很多选项可用.
我喜欢JarCrypt/JInstaller产品中使用的加密.jar文件(SJAR)的想法,但目前尚不清楚JarCrypt/JInstaller是否可以在JavaEE 6应用程序中运行.像Glassfish3.1这样的服务器.加密的SJAR文件必须使用自定义类加载器由本机库解密,因此显然我必须向Glassfish添加自定义类加载器.
有没有人使用过JInstaller/JarCrypt技术?它们是否在Application Server中工作?
我也看过混淆,但对于JavaEE应用程序,存在很多问题.我将不得不单独留下所有Web服务和JNDI查找.使用像abcMyClass.class这样的东西(即创建log4j Loggers)是有问题的.读取日志文件变得困难.对于所有这些问题,混淆确实几乎没有什么可以保护我们的代码.
我试过Proguard,但显然它无法处理JavaEE 6库.
还有其他替代方案或者这些是关于我的所有选择吗?
谢谢.
我正在使用sqlitejdbc库来使用java创建数据库.现在我需要从存储在文件中的现有sqlite db生成eer模型.在过去我使用MySqlWorkbench从mysql数据库生成eer,但我不知道如何在sqlite db上做到这一点..有人可以帮助我吗?谢谢!!
java sqlite entity-relationship reverse-engineering eer-model
我正试图从Android手机上的应用程序捕获流量,虽然我已经在手机上设置代理并且可以捕获来自手机的所有其他互联网流量(使用Charles Proxy),但是我看不到任何流量这个应用程序.
这是如何完成的,如何捕获流量?
更新:
如果您需要有关从计算机设置wifi热点的帮助,那么您可以将手机连接到它并使用Wireshark流量,只需查看以下链接以获取指示:http:
//www.wi-fiplanet.com/tutorials/article .PHP/3849841 /如何到创建-无线托管,网络功能于Windows的7.htm
如果您需要帮助将IOS应用程序反编译为汇编,请查看以下
链接:http://www.infointox.net/?tag = arm
如果你想要一个比dex2jar更好的Dex to Java反编译器,请查看:https://github.com/skylot/jadx
我有一个关于swift函数名称规则的问题.当我在IDA Pro中尝试分析用swift编写的iOS应用程序(也许OS X是相同的情况)时,比如swift-2048,我得到了这样的函数名:
EXPORT __TFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
__text:00022FAC __TFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
...
__text:00022FCC __TToFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
Run Code Online (Sandbox Code Playgroud)
第一和第二个函数名称看起来非常相似.只有一个区别是"TFC"和"TToFC".有什么不同?我看到一些功能sub是不同的:
__text:00022FAC EXPORT __TFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
__text:00022FAC __TFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
__text:00022FAC ; DATA XREF: __objc_data:0004A51Co
__text:00022FAC STMFD SP!, {R4,R7,LR}
__text:00022FB0 MOV R4, R0
__text:00022FB4 MOV R0, R1
__text:00022FB8 ADD R7, SP, #4
__text:00022FBC BL _objc_release
__text:00022FC0 MOV R0, R4
__text:00022FC4 LDMFD SP!, {R4,R7,LR}
__text:00022FC8 B _objc_release
__text:00022FC8 ; End of function __TFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
__text:00022FC8
__text:00022FCC
__text:00022FCC ; =============== S U B R O U T I N E =======================================
__text:00022FCC
__text:00022FCC
__text:00022FCC __TToFC10swift_204811AppDelegate27applicationWillResignActivefS0_FCSo13UIApplicationT_
__text:00022FCC ; …Run Code Online (Sandbox Code Playgroud) 非常感谢Abhas Tandon通过使用提出这一点
$(this).trigger('click');
Run Code Online (Sandbox Code Playgroud)
代替
$(this).addClass('selected');
Run Code Online (Sandbox Code Playgroud)
它会正确选择图像.我测试了一个由21个图像组成的板,它工作得很完美!但是,当试图移动300多个引脚时,它失败并出现此错误:
"You can only move 50 Pins at a time."
Run Code Online (Sandbox Code Playgroud)
然后,我通过使用JavaScript的slice()函数来获取前50个图像,从而解决了这个问题.经过测试,现在可以正常使用.所以我的目标是,我一次只能选择并移动50个针脚,但这比用手一个一个地挑选它们要好得多!
function checkAll() {
console.log("Checkboxes count: " + checkBoxes.length);
$.each(checkBoxes, function(i, v) {
console.log("Checkbox #: " + i)// + " = " + v);
$(this).trigger('click');
});
}
var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
var checkBoxes = checkBoxes.slice(1, 51);
checkAll();
Run Code Online (Sandbox Code Playgroud)
我正在开发一个Pinterest接口(?)脚本(?)有些麻烦.我是一名程序员,大多是自学成才,我想我可能缺少一些关于AJAX理解的关键部分?这是我第二次尝试编写一个jQuery脚本来与Pinterest进行交互.第一个尝试打败无限滚动功能(AKA"加载更多"按钮),以便将所有图像显示在一个页面上,我可以从中抓取图像链接,然后使用浏览器插件下载它们以备份我的Pinterest登上我的电脑.我的代码全部工作,除了它实际上没有下载任何图像.
失望,我把它暂时放在了其他的东西上.最后,我重新访问了我的代码并进行了一些挖掘,它应该有效.我的研究表明,可能阻止我的程序做我想做的关键FLAW就是"Pinterest使用AJAX".虽然我知道"使用XML的异步JavaScript"和"XMLHttpRequest"这两个术语,但我在实施AJAX方面并不是一个专家.
使用我的最新代码,我写了一个 - 你会认为它会是 - 快速的小jQuery脚本来选择所有图像,以便我可以移动它们,删除,复制等...问题是,虽然检查所有的框工作(你必须在一个板子,然后点击"移动"),当我第二次点击"移动"按钮时,应该弹出一个模态让我们选择要移动到哪个板,我得到的只是
Oops!
Select the Pins …Run Code Online (Sandbox Code Playgroud) 当radare2分析函数时,它会给出局部变量名称,例如local_4hfor ebp - 0x4.当它们的目的变得明确时,它还能够为这些变量赋予更有意义的名称.但是,重命名变量后,打印变得更加困难.当我看到像mov eax, dword [ebp - i]我必须的那样的指令时
var int i @ ebp-0xcpxw @ebp-0xci从16(!)行输出中的第一行读取值这不是很多工作,但是当我通过许多变量查看大量装配时,它会很快变得乏味.
作为一个后续问题,每次执行在断点处停止时是否可以打印变量/位置,就像使用GDB的display命令一样?